source: rtems/cpukit/score/cpu/avr/avr/iom32u6.h @ b10825c

4.115
Last change on this file since b10825c was b10825c, checked in by Joel Sherrill <joel.sherrill@…>, on 01/10/13 at 19:29:41

cpukit: Add EOL on files missing EOL at EOF

  • Property mode set to 100644
File size: 27.8 KB
Line 
1/**
2 * @file avr/iom32u6.h
3 *
4 * @brief Definitions for ATmega32U6
5 *
6 * This file should only be included from <avr/io.h>, never directly.
7 */
8
9/*
10 * Copyright (c) 2008 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_ "iom32u6.h"
47#else
48#  error "Attempt to include more than one <avr/ioXXX.h> file."
49#endif
50
51
52#ifndef _AVR_ATmega32U6_H_
53#define _AVR_ATmega32U6_H_ 1
54
55/**
56 *  @defgroup Avr_iom32u6 ATmega32U6 Definitions
57 *
58 *  @ingroup avr
59 */
60/**@{*/
61
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 PINE _SFR_IO8(0x0C)
185#define PINE0 0
186#define PINE1 1
187#define PINE2 2
188#define PINE3 3
189#define PINE4 4
190#define PINE5 5
191#define PINE6 6
192#define PINE7 7
193
194#define DDRE _SFR_IO8(0x0D)
195#define DDE0 0
196#define DDE1 1
197#define DDE2 2
198#define DDE3 3
199#define DDE4 4
200#define DDE5 5
201#define DDE6 6
202#define DDE7 7
203
204#define PORTE _SFR_IO8(0x0E)
205#define PORTE0 0
206#define PORTE1 1
207#define PORTE2 2
208#define PORTE3 3
209#define PORTE4 4
210#define PORTE5 5
211#define PORTE6 6
212#define PORTE7 7
213
214#define PINF _SFR_IO8(0x0F)
215#define PINF0 0
216#define PINF1 1
217#define PINF2 2
218#define PINF3 3
219#define PINF4 4
220#define PINF5 5
221#define PINF6 6
222#define PINF7 7
223
224#define DDRF _SFR_IO8(0x10)
225#define DDF0 0
226#define DDF1 1
227#define DDF2 2
228#define DDF3 3
229#define DDF4 4
230#define DDF5 5
231#define DDF6 6
232#define DDF7 7
233
234#define PORTF _SFR_IO8(0x11)
235#define PORTF0 0
236#define PORTF1 1
237#define PORTF2 2
238#define PORTF3 3
239#define PORTF4 4
240#define PORTF5 5
241#define PORTF6 6
242#define PORTF7 7
243
244#define TIFR0 _SFR_IO8(0x15)
245#define TOV0 0
246#define OCF0A 1
247#define OCF0B 2
248
249#define TIFR1 _SFR_IO8(0x16)
250#define TOV1 0
251#define OCF1A 1
252#define OCF1B 2
253#define OCF1C 3
254#define ICF1 5
255
256#define TIFR2 _SFR_IO8(0x17)
257#define TOV2 0
258#define OCF2A 1
259#define OCF2B 2
260
261#define TIFR3 _SFR_IO8(0x18)
262#define TOV3 0
263#define OCF3A 1
264#define OCF3B 2
265#define OCF3C 3
266#define ICF3 5
267
268#define PCIFR _SFR_IO8(0x1B)
269#define PCIF0 0
270
271#define EIFR _SFR_IO8(0x1C)
272#define INTF0 0
273#define INTF1 1
274#define INTF2 2
275#define INTF3 3
276#define INTF4 4
277#define INTF5 5
278#define INTF6 6
279#define INTF7 7
280
281#define EIMSK _SFR_IO8(0x1D)
282#define INT0 0
283#define INT1 1
284#define INT2 2
285#define INT3 3
286#define INT4 4
287#define INT5 5
288#define INT6 6
289#define INT7 7
290
291#define GPIOR0 _SFR_IO8(0x1E)
292#define GPIOR00 0
293#define GPIOR01 1
294#define GPIOR02 2
295#define GPIOR03 3
296#define GPIOR04 4
297#define GPIOR05 5
298#define GPIOR06 6
299#define GPIOR07 7
300
301#define EECR _SFR_IO8(0x1F)
302#define EERE 0
303#define EEPE 1
304#define EEMPE 2
305#define EERIE 3
306#define EEPM0 4
307#define EEPM1 5
308
309#define EEDR _SFR_IO8(0x20)
310#define EEDR0 0
311#define EEDR1 1
312#define EEDR2 2
313#define EEDR3 3
314#define EEDR4 4
315#define EEDR5 5
316#define EEDR6 6
317#define EEDR7 7
318
319#define EEAR _SFR_IO16(0x21)
320
321#define EEARL _SFR_IO8(0x21)
322#define EEAR0 0
323#define EEAR1 1
324#define EEAR2 2
325#define EEAR3 3
326#define EEAR4 4
327#define EEAR5 5
328#define EEAR6 6
329#define EEAR7 7
330
331#define EEARH _SFR_IO8(0x22)
332#define EEAR8 0
333#define EEAR9 1
334#define EEAR10 2
335#define EEAR11 3
336
337#define GTCCR _SFR_IO8(0x23)
338#define PSRSYNC 0
339#define PSRASY 1
340#define TSM 7
341
342#define TCCR0A _SFR_IO8(0x24)
343#define WGM00 0
344#define WGM01 1
345#define COM0B0 4
346#define COM0B1 5
347#define COM0A0 6
348#define COM0A1 7
349
350#define TCCR0B _SFR_IO8(0x25)
351#define CS00 0
352#define CS01 1
353#define CS02 2
354#define WGM02 3
355#define FOC0B 6
356#define FOC0A 7
357
358#define TCNT0 _SFR_IO8(0x26)
359#define TCNT0_0 0
360#define TCNT0_1 1
361#define TCNT0_2 2
362#define TCNT0_3 3
363#define TCNT0_4 4
364#define TCNT0_5 5
365#define TCNT0_6 6
366#define TCNT0_7 7
367
368#define OCR0A _SFR_IO8(0x27)
369#define OCR0A_0 0
370#define OCR0A_1 1
371#define OCR0A_2 2
372#define OCR0A_3 3
373#define OCR0A_4 4
374#define OCR0A_5 5
375#define OCR0A_6 6
376#define OCR0A_7 7
377
378#define OCR0B _SFR_IO8(0x28)
379#define OCR0B_0 0
380#define OCR0B_1 1
381#define OCR0B_2 2
382#define OCR0B_3 3
383#define OCR0B_4 4
384#define OCR0B_5 5
385#define OCR0B_6 6
386#define OCR0B_7 7
387
388#define PLLCSR _SFR_IO8(0x29)
389#define PLOCK 0
390#define PLLE 1
391#define PLLP0 2
392#define PLLP1 3
393#define PLLP2 4
394
395#define GPIOR1 _SFR_IO8(0x2A)
396#define GPIOR10 0
397#define GPIOR11 1
398#define GPIOR12 2
399#define GPIOR13 3
400#define GPIOR14 4
401#define GPIOR15 5
402#define GPIOR16 6
403#define GPIOR17 7
404
405#define GPIOR2 _SFR_IO8(0x2B)
406#define GPIOR20 0
407#define GPIOR21 1
408#define GPIOR22 2
409#define GPIOR23 3
410#define GPIOR24 4
411#define GPIOR25 5
412#define GPIOR26 6
413#define GPIOR27 7
414
415#define SPCR _SFR_IO8(0x2C)
416#define SPR0 0
417#define SPR1 1
418#define CPHA 2
419#define CPOL 3
420#define MSTR 4
421#define DORD 5
422#define SPE 6
423#define SPIE 7
424
425#define SPSR _SFR_IO8(0x2D)
426#define SPI2X 0
427#define WCOL 6
428#define SPIF 7
429
430#define SPDR _SFR_IO8(0x2E)
431#define SPDR0 0
432#define SPDR1 1
433#define SPDR2 2
434#define SPDR3 3
435#define SPDR4 4
436#define SPDR5 5
437#define SPDR6 6
438#define SPDR7 7
439
440#define ACSR _SFR_IO8(0x30)
441#define ACIS0 0
442#define ACIS1 1
443#define ACIC 2
444#define ACIE 3
445#define ACI 4
446#define ACO 5
447#define ACBG 6
448#define ACD 7
449
450#define OCDR _SFR_IO8(0x31)
451#define OCDR0 0
452#define OCDR1 1
453#define OCDR2 2
454#define OCDR3 3
455#define OCDR4 4
456#define OCDR5 5
457#define OCDR6 6
458#define OCDR7 7
459
460#define SMCR _SFR_IO8(0x33)
461#define SE 0
462#define SM0 1
463#define SM1 2
464#define SM2 3
465
466#define MCUSR _SFR_IO8(0x34)
467#define PORF 0
468#define EXTRF 1
469#define BORF 2
470#define WDRF 3
471#define JTRF 4
472
473#define MCUCR _SFR_IO8(0x35)
474#define IVCE 0
475#define IVSEL 1
476#define PUD 4
477#define JTD 7
478
479#define SPMCSR _SFR_IO8(0x37)
480#define SPMEN 0
481#define PGERS 1
482#define PGWRT 2
483#define BLBSET 3
484#define RWWSRE 4
485#define SIGRD 5
486#define RWWSB 6
487#define SPMIE 7
488
489#define WDTCSR _SFR_MEM8(0x60)
490#define WDP0 0
491#define WDP1 1
492#define WDP2 2
493#define WDE 3
494#define WDCE 4
495#define WDP3 5
496#define WDIE 6
497#define WDIF 7
498
499#define CLKPR _SFR_MEM8(0x61)
500#define CLKPS0 0
501#define CLKPS1 1
502#define CLKPS2 2
503#define CLKPS3 3
504#define CLKPCE 7
505
506#define PRR0 _SFR_MEM8(0x64)
507#define PRADC 0
508#define PRSPI 2
509#define PRTIM1 3
510#define PRTIM0 5
511#define PRTIM2 6
512#define PRTWI 7
513
514#define PRR1 _SFR_MEM8(0x65)
515#define PRUSART1 0
516#define PRTIM3 3
517#define PRUSB 7
518
519#define OSCCAL _SFR_MEM8(0x66)
520#define CAL0 0
521#define CAL1 1
522#define CAL2 2
523#define CAL3 3
524#define CAL4 4
525#define CAL5 5
526#define CAL6 6
527#define CAL7 7
528
529#define PCICR _SFR_MEM8(0x68)
530#define PCIE0 0
531
532#define EICRA _SFR_MEM8(0x69)
533#define ISC00 0
534#define ISC01 1
535#define ISC10 2
536#define ISC11 3
537#define ISC20 4
538#define ISC21 5
539#define ISC30 6
540#define ISC31 7
541
542#define EICRB _SFR_MEM8(0x6A)
543#define ISC40 0
544#define ISC41 1
545#define ISC50 2
546#define ISC51 3
547#define ISC60 4
548#define ISC61 5
549#define ISC70 6
550#define ISC71 7
551
552#define PCMSK0 _SFR_MEM8(0x6B)
553#define PCINT0 0
554#define PCINT1 1
555#define PCINT2 2
556#define PCINT3 3
557#define PCINT4 4
558#define PCINT5 5
559#define PCINT6 6
560#define PCINT7 7
561
562#define TIMSK0 _SFR_MEM8(0x6E)
563#define TOIE0 0
564#define OCIE0A 1
565#define OCIE0B 2
566
567#define TIMSK1 _SFR_MEM8(0x6F)
568#define TOIE1 0
569#define OCIE1A 1
570#define OCIE1B 2
571#define OCIE1C 3
572#define ICIE1 5
573
574#define TIMSK2 _SFR_MEM8(0x70)
575#define TOIE2 0
576#define OCIE2A 1
577#define OCIE2B 2
578
579#define TIMSK3 _SFR_MEM8(0x71)
580#define TOIE3 0
581#define OCIE3A 1
582#define OCIE3B 2
583#define OCIE3C 3
584#define ICIE3 5
585
586#define XMCRA _SFR_MEM8(0x74)
587#define SRW00 0
588#define SRW01 1
589#define SRW10 2
590#define SRW11 3
591#define SRL0 4
592#define SRL1 5
593#define SRL2 6
594#define SRE 7
595
596#define XMCRB _SFR_MEM8(0x75)
597#define XMM0 0
598#define XMM1 1
599#define XMM2 2
600#define XMBK 7
601
602#ifndef __ASSEMBLER__
603#define ADC _SFR_MEM16(0x78)
604#endif
605#define ADCW _SFR_MEM16(0x78)
606
607#define ADCL _SFR_MEM8(0x78)
608#define ADCL0 0
609#define ADCL1 1
610#define ADCL2 2
611#define ADCL3 3
612#define ADCL4 4
613#define ADCL5 5
614#define ADCL6 6
615#define ADCL7 7
616
617#define ADCH _SFR_MEM8(0x79)
618#define ADCH0 0
619#define ADCH1 1
620#define ADCH2 2
621#define ADCH3 3
622#define ADCH4 4
623#define ADCH5 5
624#define ADCH6 6
625#define ADCH7 7
626
627#define ADCSRA _SFR_MEM8(0x7A)
628#define ADPS0 0
629#define ADPS1 1
630#define ADPS2 2
631#define ADIE 3
632#define ADIF 4
633#define ADATE 5
634#define ADSC 6
635#define ADEN 7
636
637#define ADCSRB _SFR_MEM8(0x7B)
638#define ADTS0 0
639#define ADTS1 1
640#define ADTS2 2
641#define ACME 6
642#define ADHSM 7
643
644#define ADMUX _SFR_MEM8(0x7C)
645#define MUX0 0
646#define MUX1 1
647#define MUX2 2
648#define MUX3 3
649#define MUX4 4
650#define ADLAR 5
651#define REFS0 6
652#define REFS1 7
653
654#define DIDR0 _SFR_MEM8(0x7E)
655#define ADC0D 0
656#define ADC1D 1
657#define ADC2D 2
658#define ADC3D 3
659#define ADC4D 4
660#define ADC5D 5
661#define ADC6D 6
662#define ADC7D 7
663
664#define DIDR1 _SFR_MEM8(0x7F)
665#define AIN0D 0
666#define AIN1D 1
667
668#define TCCR1A _SFR_MEM8(0x80)
669#define WGM10 0
670#define WGM11 1
671#define COM1C0 2
672#define COM1C1 3
673#define COM1B0 4
674#define COM1B1 5
675#define COM1A0 6
676#define COM1A1 7
677
678#define TCCR1B _SFR_MEM8(0x81)
679#define CS10 0
680#define CS11 1
681#define CS12 2
682#define WGM12 3
683#define WGM13 4
684#define ICES1 6
685#define ICNC1 7
686
687#define TCCR1C _SFR_MEM8(0x82)
688#define FOC1C 5
689#define FOC1B 6
690#define FOC1A 7
691
692#define TCNT1 _SFR_MEM16(0x84)
693
694#define TCNT1L _SFR_MEM8(0x84)
695#define TCNT1L0 0
696#define TCNT1L1 1
697#define TCNT1L2 2
698#define TCNT1L3 3
699#define TCNT1L4 4
700#define TCNT1L5 5
701#define TCNT1L6 6
702#define TCNT1L7 7
703
704#define TCNT1H _SFR_MEM8(0x85)
705#define TCNT1H0 0
706#define TCNT1H1 1
707#define TCNT1H2 2
708#define TCNT1H3 3
709#define TCNT1H4 4
710#define TCNT1H5 5
711#define TCNT1H6 6
712#define TCNT1H7 7
713
714#define ICR1 _SFR_MEM16(0x86)
715
716#define ICR1L _SFR_MEM8(0x86)
717#define ICR1L0 0
718#define ICR1L1 1
719#define ICR1L2 2
720#define ICR1L3 3
721#define ICR1L4 4
722#define ICR1L5 5
723#define ICR1L6 6
724#define ICR1L7 7
725
726#define ICR1H _SFR_MEM8(0x87)
727#define ICR1H0 0
728#define ICR1H1 1
729#define ICR1H2 2
730#define ICR1H3 3
731#define ICR1H4 4
732#define ICR1H5 5
733#define ICR1H6 6
734#define ICR1H7 7
735
736#define OCR1A _SFR_MEM16(0x88)
737
738#define OCR1AL _SFR_MEM8(0x88)
739#define OCR1AL0 0
740#define OCR1AL1 1
741#define OCR1AL2 2
742#define OCR1AL3 3
743#define OCR1AL4 4
744#define OCR1AL5 5
745#define OCR1AL6 6
746#define OCR1AL7 7
747
748#define OCR1AH _SFR_MEM8(0x89)
749#define OCR1AH0 0
750#define OCR1AH1 1
751#define OCR1AH2 2
752#define OCR1AH3 3
753#define OCR1AH4 4
754#define OCR1AH5 5
755#define OCR1AH6 6
756#define OCR1AH7 7
757
758#define OCR1B _SFR_MEM16(0x8A)
759
760#define OCR1BL _SFR_MEM8(0x8A)
761#define OCR1BL0 0
762#define OCR1BL1 1
763#define OCR1BL2 2
764#define OCR1BL3 3
765#define OCR1BL4 4
766#define OCR1BL5 5
767#define OCR1BL6 6
768#define OCR1BL7 7
769
770#define OCR1BH _SFR_MEM8(0x8B)
771#define OCR1BH0 0
772#define OCR1BH1 1
773#define OCR1BH2 2
774#define OCR1BH3 3
775#define OCR1BH4 4
776#define OCR1BH5 5
777#define OCR1BH6 6
778#define OCR1BH7 7
779
780#define OCR1C _SFR_MEM16(0x8C)
781
782#define OCR1CL _SFR_MEM8(0x8C)
783#define OCR1CL0 0
784#define OCR1CL1 1
785#define OCR1CL2 2
786#define OCR1CL3 3
787#define OCR1CL4 4
788#define OCR1CL5 5
789#define OCR1CL6 6
790#define OCR1CL7 7
791
792#define OCR1CH _SFR_MEM8(0x8D)
793#define OCR1CH0 0
794#define OCR1CH1 1
795#define OCR1CH2 2
796#define OCR1CH3 3
797#define OCR1CH4 4
798#define OCR1CH5 5
799#define OCR1CH6 6
800#define OCR1CH7 7
801
802#define TCCR3A _SFR_MEM8(0x90)
803#define WGM30 0
804#define WGM31 1
805#define COM3C0 2
806#define COM3C1 3
807#define COM3B0 4
808#define COM3B1 5
809#define COM3A0 6
810#define COM3A1 7
811
812#define TCCR3B _SFR_MEM8(0x91)
813#define CS30 0
814#define CS31 1
815#define CS32 2
816#define WGM32 3
817#define WGM33 4
818#define ICES3 6
819#define ICNC3 7
820
821#define TCCR3C _SFR_MEM8(0x92)
822#define FOC3C 5
823#define FOC3B 6
824#define FOC3A 7
825
826#define TCNT3 _SFR_MEM16(0x94)
827
828#define TCNT3L _SFR_MEM8(0x94)
829#define TCNT3L0 0
830#define TCNT3L1 1
831#define TCNT3L2 2
832#define TCNT3L3 3
833#define TCNT3L4 4
834#define TCNT3L5 5
835#define TCNT3L6 6
836#define TCNT3L7 7
837
838#define TCNT3H _SFR_MEM8(0x95)
839#define TCNT3H0 0
840#define TCNT3H1 1
841#define TCNT3H2 2
842#define TCNT3H3 3
843#define TCNT3H4 4
844#define TCNT3H5 5
845#define TCNT3H6 6
846#define TCNT3H7 7
847
848#define ICR3 _SFR_MEM16(0x96)
849
850#define ICR3L _SFR_MEM8(0x96)
851#define ICR3L0 0
852#define ICR3L1 1
853#define ICR3L2 2
854#define ICR3L3 3
855#define ICR3L4 4
856#define ICR3L5 5
857#define ICR3L6 6
858#define ICR3L7 7
859
860#define ICR3H _SFR_MEM8(0x97)
861#define ICR3H0 0
862#define ICR3H1 1
863#define ICR3H2 2
864#define ICR3H3 3
865#define ICR3H4 4
866#define ICR3H5 5
867#define ICR3H6 6
868#define ICR3H7 7
869
870#define OCR3A _SFR_MEM16(0x98)
871
872#define OCR3AL _SFR_MEM8(0x98)
873#define OCR3AL0 0
874#define OCR3AL1 1
875#define OCR3AL2 2
876#define OCR3AL3 3
877#define OCR3AL4 4
878#define OCR3AL5 5
879#define OCR3AL6 6
880#define OCR3AL7 7
881
882#define OCR3AH _SFR_MEM8(0x99)
883#define OCR3AH0 0
884#define OCR3AH1 1
885#define OCR3AH2 2
886#define OCR3AH3 3
887#define OCR3AH4 4
888#define OCR3AH5 5
889#define OCR3AH6 6
890#define OCR3AH7 7
891
892#define OCR3B _SFR_MEM16(0x9A)
893
894#define OCR3BL _SFR_MEM8(0x9A)
895#define OCR3BL0 0
896#define OCR3BL1 1
897#define OCR3BL2 2
898#define OCR3BL3 3
899#define OCR3BL4 4
900#define OCR3BL5 5
901#define OCR3BL6 6
902#define OCR3BL7 7
903
904#define OCR3BH _SFR_MEM8(0x9B)
905#define OCR3BH0 0
906#define OCR3BH1 1
907#define OCR3BH2 2
908#define OCR3BH3 3
909#define OCR3BH4 4
910#define OCR3BH5 5
911#define OCR3BH6 6
912#define OCR3BH7 7
913
914#define OCR3C _SFR_MEM16(0x9C)
915
916#define OCR3CL _SFR_MEM8(0x9C)
917#define OCR3CL0 0
918#define OCR3CL1 1
919#define OCR3CL2 2
920#define OCR3CL3 3
921#define OCR3CL4 4
922#define OCR3CL5 5
923#define OCR3CL6 6
924#define OCR3CL7 7
925
926#define OCR3CH _SFR_MEM8(0x9D)
927#define OCR3CH0 0
928#define OCR3CH1 1
929#define OCR3CH2 2
930#define OCR3CH3 3
931#define OCR3CH4 4
932#define OCR3CH5 5
933#define OCR3CH6 6
934#define OCR3CH7 7
935
936#define TCCR2A _SFR_MEM8(0xB0)
937#define WGM20 0
938#define WGM21 1
939#define COM2B0 4
940#define COM2B1 5
941#define COM2A0 6
942#define COM2A1 7
943
944#define TCCR2B _SFR_MEM8(0xB1)
945#define CS20 0
946#define CS21 1
947#define CS22 2
948#define WGM22 3
949#define FOC2B 6
950#define FOC2A 7
951
952#define TCNT2 _SFR_MEM8(0xB2)
953#define TCNT2_0 0
954#define TCNT2_1 1
955#define TCNT2_2 2
956#define TCNT2_3 3
957#define TCNT2_4 4
958#define TCNT2_5 5
959#define TCNT2_6 6
960#define TCNT2_7 7
961
962#define OCR2A _SFR_MEM8(0xB3)
963#define OCR2A_0 0
964#define OCR2A_1 1
965#define OCR2A_2 2
966#define OCR2A_3 3
967#define OCR2A_4 4
968#define OCR2A_5 5
969#define OCR2A_6 6
970#define OCR2A_7 7
971
972#define OCR2B _SFR_MEM8(0xB4)
973#define OCR2B_0 0
974#define OCR2B_1 1
975#define OCR2B_2 2
976#define OCR2B_3 3
977#define OCR2B_4 4
978#define OCR2B_5 5
979#define OCR2B_6 6
980#define OCR2B_7 7
981
982#define ASSR _SFR_MEM8(0xB6)
983#define TCR2BUB 0
984#define TCR2AUB 1
985#define OCR2BUB 2
986#define OCR2AUB 3
987#define TCN2UB 4
988#define AS2 5
989#define EXCLK 6
990
991#define TWBR _SFR_MEM8(0xB8)
992#define TWBR0 0
993#define TWBR1 1
994#define TWBR2 2
995#define TWBR3 3
996#define TWBR4 4
997#define TWBR5 5
998#define TWBR6 6
999#define TWBR7 7
1000
1001#define TWSR _SFR_MEM8(0xB9)
1002#define TWPS0 0
1003#define TWPS1 1
1004#define TWS3 3
1005#define TWS4 4
1006#define TWS5 5
1007#define TWS6 6
1008#define TWS7 7
1009
1010#define TWAR _SFR_MEM8(0xBA)
1011#define TWGCE 0
1012#define TWA0 1
1013#define TWA1 2
1014#define TWA2 3
1015#define TWA3 4
1016#define TWA4 5
1017#define TWA5 6
1018#define TWA6 7
1019
1020#define TWDR _SFR_MEM8(0xBB)
1021#define TWD0 0
1022#define TWD1 1
1023#define TWD2 2
1024#define TWD3 3
1025#define TWD4 4
1026#define TWD5 5
1027#define TWD6 6
1028#define TWD7 7
1029
1030#define TWCR _SFR_MEM8(0xBC)
1031#define TWIE 0
1032#define TWEN 2
1033#define TWWC 3
1034#define TWSTO 4
1035#define TWSTA 5
1036#define TWEA 6
1037#define TWINT 7
1038
1039#define TWAMR _SFR_MEM8(0xBD)
1040#define TWAM0 1
1041#define TWAM1 2
1042#define TWAM2 3
1043#define TWAM3 4
1044#define TWAM4 5
1045#define TWAM5 6
1046#define TWAM6 7
1047
1048#define UCSR1A _SFR_MEM8(0xC8)
1049#define MPCM1 0
1050#define U2X1 1
1051#define UPE1 2
1052#define DOR1 3
1053#define FE1 4
1054#define UDRE1 5
1055#define TXC1 6
1056#define RXC1 7
1057
1058#define UCSR1B _SFR_MEM8(0xC9)
1059#define TXB81 0
1060#define RXB81 1
1061#define UCSZ12 2
1062#define TXEN1 3
1063#define RXEN1 4
1064#define UDRIE1 5
1065#define TXCIE1 6
1066#define RXCIE1 7
1067
1068#define UCSR1C _SFR_MEM8(0xCA)
1069#define UCPOL1 0
1070#define UCSZ10 1
1071#define UCSZ11 2
1072#define USBS1 3
1073#define UPM10 4
1074#define UPM11 5
1075#define UMSEL10 6
1076#define UMSEL11 7
1077
1078#define UBRR1 _SFR_MEM16(0xCC)
1079
1080#define UBRR1L _SFR_MEM8(0xCC)
1081#define UBRR_0 0
1082#define UBRR_1 1
1083#define UBRR_2 2
1084#define UBRR_3 3
1085#define UBRR_4 4
1086#define UBRR_5 5
1087#define UBRR_6 6
1088#define UBRR_7 7
1089
1090#define UBRR1H _SFR_MEM8(0xCD)
1091#define UBRR_8 0
1092#define UBRR_9 1
1093#define UBRR_10 2
1094#define UBRR_11 3
1095
1096#define UDR1 _SFR_MEM8(0xCE)
1097#define UDR1_0 0
1098#define UDR1_1 1
1099#define UDR1_2 2
1100#define UDR1_3 3
1101#define UDR1_4 4
1102#define UDR1_5 5
1103#define UDR1_6 6
1104#define UDR1_7 7
1105
1106#define UHWCON _SFR_MEM8(0xD7)
1107#define UVREGE 0
1108#define UVCONE 4
1109#define UIDE 6
1110#define UIMOD 7
1111
1112#define USBCON _SFR_MEM8(0xD8)
1113#define VBUSTE 0
1114#define IDTE 1
1115#define OTGPADE 4
1116#define FRZCLK 5
1117#define HOST 6
1118#define USBE 7
1119
1120#define USBSTA _SFR_MEM8(0xD9)
1121#define VBUS 0
1122#define ID 1
1123#define SPEED 3
1124
1125#define USBINT _SFR_MEM8(0xDA)
1126#define VBUSTI 0
1127#define IDTI 1
1128
1129#define UDCON _SFR_MEM8(0xE0)
1130#define DETACH 0
1131#define RMWKUP 1
1132#define LSM 2
1133
1134#define UDINT _SFR_MEM8(0xE1)
1135#define SUSPI 0
1136#define SOFI 2
1137#define EORSTI 3
1138#define WAKEUPI 4
1139#define EORSMI 5
1140#define UPRSMI 6
1141
1142#define UDIEN _SFR_MEM8(0xE2)
1143#define SUSPE 0
1144#define SOFE 2
1145#define EORSTE 3
1146#define WAKEUPE 4
1147#define EORSME 5
1148#define UPRSME 6
1149
1150#define UDADDR _SFR_MEM8(0xE3)
1151#define UADD0 0
1152#define UADD1 1
1153#define UADD2 2
1154#define UADD3 3
1155#define UADD4 4
1156#define UADD5 5
1157#define UADD6 6
1158#define ADDEN 7
1159
1160#define UDFNUM _SFR_MEM16(0xE4)
1161
1162#define UDFNUML _SFR_MEM8(0xE4)
1163#define UDFNUML_0 0
1164#define UDFNUML_1 1
1165#define UDFNUML_2 2
1166#define UDFNUML_3 3
1167#define UDFNUML_4 4
1168#define UDFNUML_5 5
1169#define UDFNUML_6 6
1170#define UDFNUML_7 7
1171
1172#define UDFNUMH _SFR_MEM8(0xE5)
1173#define UDFNUMH_0 0
1174#define UDFNUMH_1 1
1175#define UDFNUMH_2 2
1176
1177#define UDMFN _SFR_MEM8(0xE6)
1178#define FNCERR 4
1179
1180#define UEINTX _SFR_MEM8(0xE8)
1181#define TXINI 0
1182#define STALLEDI 1
1183#define RXOUTI 2
1184#define RXSTPI 3
1185#define NAKOUTI 4
1186#define RWAL 5
1187#define NAKINI 6
1188#define FIFOCON 7
1189
1190#define UENUM _SFR_MEM8(0xE9)
1191#define UENUM_0 0
1192#define UENUM_1 1
1193#define UENUM_2 2
1194
1195#define UERST _SFR_MEM8(0xEA)
1196#define EPRST0 0
1197#define EPRST1 1
1198#define EPRST2 2
1199#define EPRST3 3
1200#define EPRST4 4
1201#define EPRST5 5
1202#define EPRST6 6
1203
1204#define UECONX _SFR_MEM8(0xEB)
1205#define EPEN 0
1206#define RSTDT 3
1207#define STALLRQC 4
1208#define STALLRQ 5
1209
1210#define UECFG0X _SFR_MEM8(0xEC)
1211#define EPDIR 0
1212#define EPTYPE0 6
1213#define EPTYPE1 7
1214
1215#define UECFG1X _SFR_MEM8(0xED)
1216#define ALLOC 1
1217#define EPBK0 2
1218#define EPBK1 3
1219#define EPSIZE0 4
1220#define EPSIZE1 5
1221#define EPSIZE2 6
1222
1223#define UESTA0X _SFR_MEM8(0xEE)
1224#define NBUSYBK0 0
1225#define NBUSYBK1 1
1226#define DTSEQ0 2
1227#define DTSEQ1 3
1228#define UNDERFI 5
1229#define OVERFI 6
1230#define CFGOK 7
1231
1232#define UESTA1X _SFR_MEM8(0xEF)
1233#define CURRBK0 0
1234#define CURRBK1 1
1235#define CTRLDIR 2
1236
1237#define UEIENX _SFR_MEM8(0xF0)
1238#define TXINE 0
1239#define STALLEDE 1
1240#define RXOUTE 2
1241#define RXSTPE 3
1242#define NAKOUTE 4
1243#define NAKINE 6
1244#define FLERRE 7
1245
1246#define UEDATX _SFR_MEM8(0xF1)
1247#define UEDATX_0 0
1248#define UEDATX_1 1
1249#define UEDATX_2 2
1250#define UEDATX_3 3
1251#define UEDATX_4 4
1252#define UEDATX_5 5
1253#define UEDATX_6 6
1254#define UEDATX_7 7
1255
1256#define UEBCLX _SFR_MEM8(0xF2)
1257#define UEBCLX_0 0
1258#define UEBCLX_1 1
1259#define UEBCLX_2 2
1260#define UEBCLX_3 3
1261#define UEBCLX_4 4
1262#define UEBCLX_5 5
1263#define UEBCLX_6 6
1264#define UEBCLX_7 7
1265
1266#define UEBCHX _SFR_MEM8(0xF3)
1267#define UEBCHX_0 0
1268#define UEBCHX_1 1
1269#define UEBCHX_2 2
1270
1271#define UEINT _SFR_MEM8(0xF4)
1272#define EPINT0 0
1273#define EPINT1 1
1274#define EPINT2 2
1275#define EPINT3 3
1276#define EPINT4 4
1277#define EPINT5 5
1278#define EPINT6 6
1279
1280
1281/* Interrupt vectors */
1282/* Vector 0 is the reset vector */
1283#define INT0_vect_num  1
1284#define INT0_vect      _VECTOR(1)  /* External Interrupt Request 0 */
1285#define INT1_vect_num  2
1286#define INT1_vect      _VECTOR(2)  /* External Interrupt Request 1 */
1287#define INT2_vect_num  3
1288#define INT2_vect      _VECTOR(3)  /* External Interrupt Request 2 */
1289#define INT3_vect_num  4
1290#define INT3_vect      _VECTOR(4)  /* External Interrupt Request 3 */
1291#define INT4_vect_num  5
1292#define INT4_vect      _VECTOR(5)  /* External Interrupt Request 4 */
1293#define INT5_vect_num  6
1294#define INT5_vect      _VECTOR(6)  /* External Interrupt Request 5 */
1295#define INT6_vect_num  7
1296#define INT6_vect      _VECTOR(7)  /* External Interrupt Request 6 */
1297#define INT7_vect_num  8
1298#define INT7_vect      _VECTOR(8)  /* External Interrupt Request 7 */
1299#define PCINT0_vect_num  9
1300#define PCINT0_vect      _VECTOR(9)  /* Pin Change Interrupt Request 0 */
1301#define USB_GEN_vect_num  10
1302#define USB_GEN_vect      _VECTOR(10)  /* USB General Interrupt Request */
1303#define USB_COM_vect_num  11
1304#define USB_COM_vect      _VECTOR(11)  /* USB Endpoint/Pipe Interrupt Communication Request */
1305#define WDT_vect_num  12
1306#define WDT_vect      _VECTOR(12)  /* Watchdog Time-out Interrupt */
1307#define TIMER2_COMPA_vect_num  13
1308#define TIMER2_COMPA_vect      _VECTOR(13)  /* Timer/Counter2 Compare Match A */
1309#define TIMER2_COMPB_vect_num  14
1310#define TIMER2_COMPB_vect      _VECTOR(14)  /* Timer/Counter2 Compare Match B */
1311#define TIMER2_OVF_vect_num  15
1312#define TIMER2_OVF_vect      _VECTOR(15)  /* Timer/Counter2 Overflow */
1313#define TIMER1_CAPT_vect_num  16
1314#define TIMER1_CAPT_vect      _VECTOR(16)  /* Timer/Counter1 Capture Event */
1315#define TIMER1_COMPA_vect_num  17
1316#define TIMER1_COMPA_vect      _VECTOR(17)  /* Timer/Counter1 Compare Match A */
1317#define TIMER1_COMPB_vect_num  18
1318#define TIMER1_COMPB_vect      _VECTOR(18)  /* Timer/Counter1 Compare Match B */
1319#define TIMER1_COMPC_vect_num  19
1320#define TIMER1_COMPC_vect      _VECTOR(19)  /* Timer/Counter1 Compare Match C */
1321#define TIMER1_OVF_vect_num  20
1322#define TIMER1_OVF_vect      _VECTOR(20)  /* Timer/Counter1 Overflow */
1323#define TIMER0_COMPA_vect_num  21
1324#define TIMER0_COMPA_vect      _VECTOR(21)  /* Timer/Counter0 Compare Match A */
1325#define TIMER0_COMPB_vect_num  22
1326#define TIMER0_COMPB_vect      _VECTOR(22)  /* Timer/Counter0 Compare Match B */
1327#define TIMER0_OVF_vect_num  23
1328#define TIMER0_OVF_vect      _VECTOR(23)  /* Timer/Counter0 Overflow */
1329#define SPI_STC_vect_num  24
1330#define SPI_STC_vect      _VECTOR(24)  /* SPI Serial Transfer Complete */
1331#define USART1_RX_vect_num  25
1332#define USART1_RX_vect      _VECTOR(25)  /* USART1, Rx Complete */
1333#define USART1_UDRE_vect_num  26
1334#define USART1_UDRE_vect      _VECTOR(26)  /* USART1 Data register Empty */
1335#define USART1_TX_vect_num  27
1336#define USART1_TX_vect      _VECTOR(27)  /* USART1, Tx Complete */
1337#define ANALOG_COMP_vect_num  28
1338#define ANALOG_COMP_vect      _VECTOR(28)  /* Analog Comparator */
1339#define ADC_vect_num  29
1340#define ADC_vect      _VECTOR(29)  /* ADC Conversion Complete */
1341#define EE_READY_vect_num  30
1342#define EE_READY_vect      _VECTOR(30)  /* EEPROM Ready */
1343#define TIMER3_CAPT_vect_num  31
1344#define TIMER3_CAPT_vect      _VECTOR(31)  /* Timer/Counter3 Capture Event */
1345#define TIMER3_COMPA_vect_num  32
1346#define TIMER3_COMPA_vect      _VECTOR(32)  /* Timer/Counter3 Compare Match A */
1347#define TIMER3_COMPB_vect_num  33
1348#define TIMER3_COMPB_vect      _VECTOR(33)  /* Timer/Counter3 Compare Match B */
1349#define TIMER3_COMPC_vect_num  34
1350#define TIMER3_COMPC_vect      _VECTOR(34)  /* Timer/Counter3 Compare Match C */
1351#define TIMER3_OVF_vect_num  35
1352#define TIMER3_OVF_vect      _VECTOR(35)  /* Timer/Counter3 Overflow */
1353#define TWI_vect_num  36
1354#define TWI_vect      _VECTOR(36)  /* 2-wire Serial Interface         */
1355#define SPM_READY_vect_num  37
1356#define SPM_READY_vect      _VECTOR(37)  /* Store Program Memory Read */
1357
1358#define _VECTOR_SIZE 4 /* Size of individual vector. */
1359#define _VECTORS_SIZE (38 * _VECTOR_SIZE)
1360
1361
1362/* Constants */
1363#define SPM_PAGESIZE (128)
1364#define RAMSTART     (0x100)
1365#define RAMSIZE      (2560)
1366#define RAMEND       (RAMSTART + RAMSIZE - 1)
1367#define XRAMSTART    (0x2200)
1368#define XRAMSIZE     (65536)
1369#define XRAMEND      (XRAMSIZE - 1)
1370#define E2END        (0x3FF)
1371#define E2PAGESIZE   (4)
1372#define FLASHEND     (0x7FFF)
1373
1374
1375/* Fuses */
1376#define FUSE_MEMORY_SIZE 3
1377
1378/* Low Fuse Byte */
1379#define FUSE_CKSEL0  (unsigned char)~_BV(0)  /* Select Clock Source */
1380#define FUSE_CKSEL1  (unsigned char)~_BV(1)  /* Select Clock Source */
1381#define FUSE_CKSEL2  (unsigned char)~_BV(2)  /* Select Clock Source */
1382#define FUSE_CKSEL3  (unsigned char)~_BV(3)  /* Select Clock Source */
1383#define FUSE_SUT0  (unsigned char)~_BV(4)  /* Select start-up time */
1384#define FUSE_SUT1  (unsigned char)~_BV(5)  /* Select start-up time */
1385#define FUSE_CKOUT  (unsigned char)~_BV(6)  /* Oscillator options */
1386#define FUSE_CKDIV8  (unsigned char)~_BV(7)  /* Divide clock by 8 */
1387#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1)
1388
1389/* High Fuse Byte */
1390#define FUSE_BOOTRST  (unsigned char)~_BV(0)  /* Select Reset Vector */
1391#define FUSE_BOOTSZ0  (unsigned char)~_BV(1)  /* Select Boot Size */
1392#define FUSE_BOOTSZ1  (unsigned char)~_BV(2)  /* Select Boot Size */
1393#define FUSE_EESAVE  (unsigned char)~_BV(3)  /* EEPROM memory is preserved through chip erase */
1394#define FUSE_WDTON  (unsigned char)~_BV(4)  /* Watchdog timer always on */
1395#define FUSE_SPIEN  (unsigned char)~_BV(5)  /* Enable Serial programming and Data Downloading */
1396#define FUSE_JTAGEN  (unsigned char)~_BV(6)  /* Enable JTAG */
1397#define FUSE_OCDEN  (unsigned char)~_BV(7)  /* Enable OCD */
1398#define HFUSE_DEFAULT (FUSE_JTAGEN & FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
1399
1400/* Extended Fuse Byte */
1401#define FUSE_BODLEVEL0  (unsigned char)~_BV(0)  /* Brown-out Detector trigger level */
1402#define FUSE_BODLEVEL1  (unsigned char)~_BV(1)  /* Brown-out Detector trigger level */
1403#define FUSE_BODLEVEL2  (unsigned char)~_BV(2)  /* Brown-out Detector trigger level */
1404#define FUSE_HWBE  (unsigned char)~_BV(3)  /* Hardware Boot Enable */
1405#define EFUSE_DEFAULT (0xFF)
1406
1407
1408/* Lock Bits */
1409#define __LOCK_BITS_EXIST
1410#define __BOOT_LOCK_BITS_0_EXIST
1411#define __BOOT_LOCK_BITS_1_EXIST
1412
1413
1414/* Signature */
1415#define SIGNATURE_0 0x1E
1416#define SIGNATURE_1 0x95
1417#define SIGNATURE_2 0x88
1418
1419
1420/**@}*/
1421#endif /* _AVR_ATmega32U6_H_ */
Note: See TracBrowser for help on using the repository browser.