source: rtems/cpukit/score/cpu/avr/avr/iom88p.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: 17.6 KB
Line 
1/**
2 * @file avr/iom88p.h
3 *
4 * @brief Definitions for ATmega88P
5 *
6 * This file should only be included from <avr/io.h>, never directly.
7 */
8
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_ "iom88p.h"
47#else
48#  error "Attempt to include more than one <avr/ioXXX.h> file."
49#endif
50
51
52#ifndef _AVR_IOM88P_H_
53#define _AVR_IOM88P_H_ 1
54
55/**
56 *  @defgroup Avr_iom88p ATmega88P Definitions
57 *
58 *  @ingroup avr
59 */
60/**@{*/
61
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 PINC3 3
99#define PINC4 4
100#define PINC5 5
101#define PINC6 6
102
103#define DDRC _SFR_IO8(0x07)
104#define DDC0 0
105#define DDC1 1
106#define DDC2 2
107#define DDC3 3
108#define DDC4 4
109#define DDC5 5
110#define DDC6 6
111
112#define PORTC _SFR_IO8(0x08)
113#define PORTC0 0
114#define PORTC1 1
115#define PORTC2 2
116#define PORTC3 3
117#define PORTC4 4
118#define PORTC5 5
119#define PORTC6 6
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 ICF1 5
161
162#define TIFR2 _SFR_IO8(0x17)
163#define TOV2 0
164#define OCF2A 1
165#define OCF2B 2
166
167#define PCIFR _SFR_IO8(0x1B)
168#define PCIF0 0
169#define PCIF1 1
170#define PCIF2 2
171
172#define EIFR _SFR_IO8(0x1C)
173#define INTF0 0
174#define INTF1 1
175
176#define EIMSK _SFR_IO8(0x1D)
177#define INT0 0
178#define INT1 1
179
180#define GPIOR0 _SFR_IO8(0x1E)
181#define GPIOR00 0
182#define GPIOR01 1
183#define GPIOR02 2
184#define GPIOR03 3
185#define GPIOR04 4
186#define GPIOR05 5
187#define GPIOR06 6
188#define GPIOR07 7
189
190#define EECR _SFR_IO8(0x1F)
191#define EERE 0
192#define EEPE 1
193#define EEMPE 2
194#define EERIE 3
195#define EEPM0 4
196#define EEPM1 5
197
198#define EEDR _SFR_IO8(0x20)
199#define EEDR0 0
200#define EEDR1 1
201#define EEDR2 2
202#define EEDR3 3
203#define EEDR4 4
204#define EEDR5 5
205#define EEDR6 6
206#define EEDR7 7
207
208#define EEAR _SFR_IO16(0x21)
209
210#define EEARL _SFR_IO8(0x21)
211#define EEAR0 0
212#define EEAR1 1
213#define EEAR2 2
214#define EEAR3 3
215#define EEAR4 4
216#define EEAR5 5
217#define EEAR6 6
218#define EEAR7 7
219
220#define EEARH _SFR_IO8(0x22)
221#define EEAR8 0
222
223#define EEPROM_REG_LOCATIONS 1F2021
224
225#define GTCCR _SFR_IO8(0x23)
226#define PSRSYNC 0
227#define PSRASY 1
228#define TSM 7
229
230#define TCCR0A _SFR_IO8(0x24)
231#define WGM00 0
232#define WGM01 1
233#define COM0B0 4
234#define COM0B1 5
235#define COM0A0 6
236#define COM0A1 7
237
238#define TCCR0B _SFR_IO8(0x25)
239#define CS00 0
240#define CS01 1
241#define CS02 2
242#define WGM02 3
243#define FOC0B 6
244#define FOC0A 7
245
246#define TCNT0 _SFR_IO8(0x26)
247#define TCNT0_0 0
248#define TCNT0_1 1
249#define TCNT0_2 2
250#define TCNT0_3 3
251#define TCNT0_4 4
252#define TCNT0_5 5
253#define TCNT0_6 6
254#define TCNT0_7 7
255
256#define OCR0A _SFR_IO8(0x27)
257#define OCR0A_0 0
258#define OCR0A_1 1
259#define OCR0A_2 2
260#define OCR0A_3 3
261#define OCR0A_4 4
262#define OCR0A_5 5
263#define OCR0A_6 6
264#define OCR0A_7 7
265
266#define OCR0B _SFR_IO8(0x28)
267#define OCR0B_0 0
268#define OCR0B_1 1
269#define OCR0B_2 2
270#define OCR0B_3 3
271#define OCR0B_4 4
272#define OCR0B_5 5
273#define OCR0B_6 6
274#define OCR0B_7 7
275
276#define GPIOR1 _SFR_IO8(0x2A)
277#define GPIOR10 0
278#define GPIOR11 1
279#define GPIOR12 2
280#define GPIOR13 3
281#define GPIOR14 4
282#define GPIOR15 5
283#define GPIOR16 6
284#define GPIOR17 7
285
286#define GPIOR2 _SFR_IO8(0x2B)
287#define GPIOR20 0
288#define GPIOR21 1
289#define GPIOR22 2
290#define GPIOR23 3
291#define GPIOR24 4
292#define GPIOR25 5
293#define GPIOR26 6
294#define GPIOR27 7
295
296#define SPCR _SFR_IO8(0x2C)
297#define SPR0 0
298#define SPR1 1
299#define CPHA 2
300#define CPOL 3
301#define MSTR 4
302#define DORD 5
303#define SPE 6
304#define SPIE 7
305
306#define SPSR _SFR_IO8(0x2D)
307#define SPI2X 0
308#define WCOL 6
309#define SPIF 7
310
311#define SPDR _SFR_IO8(0x2E)
312#define SPDR0 0
313#define SPDR1 1
314#define SPDR2 2
315#define SPDR3 3
316#define SPDR4 4
317#define SPDR5 5
318#define SPDR6 6
319#define SPDR7 7
320
321#define ACSR _SFR_IO8(0x30)
322#define ACIS0 0
323#define ACIS1 1
324#define ACIC 2
325#define ACIE 3
326#define ACI 4
327#define ACO 5
328#define ACBG 6
329#define ACD 7
330
331#define SMCR _SFR_IO8(0x33)
332#define SE 0
333#define SM0 1
334#define SM1 2
335#define SM2 3
336
337#define MCUSR _SFR_IO8(0x34)
338#define PORF 0
339#define EXTRF 1
340#define BORF 2
341#define WDRF 3
342
343#define MCUCR _SFR_IO8(0x35)
344#define IVCE 0
345#define IVSEL 1
346#define PUD 4
347#define BODSE 5
348#define BODS 6
349
350#define SPMCSR _SFR_IO8(0x37)
351#define SELFPRGEN 0
352#define PGERS 1
353#define PGWRT 2
354#define BLBSET 3
355#define RWWSRE 4
356#define RWWSB 6
357#define SPMIE 7
358
359#define WDTCSR _SFR_MEM8(0x60)
360#define WDP0 0
361#define WDP1 1
362#define WDP2 2
363#define WDE 3
364#define WDCE 4
365#define WDP3 5
366#define WDIE 6
367#define WDIF 7
368
369#define CLKPR _SFR_MEM8(0x61)
370#define CLKPS0 0
371#define CLKPS1 1
372#define CLKPS2 2
373#define CLKPS3 3
374#define CLKPCE 7
375
376#define PRR _SFR_MEM8(0x64)
377#define PRADC 0
378#define PRUSART0 1
379#define PRSPI 2
380#define PRTIM1 3
381#define PRTIM0 5
382#define PRTIM2 6
383#define PRTWI 7
384
385#define OSCCAL _SFR_MEM8(0x66)
386#define CAL0 0
387#define CAL1 1
388#define CAL2 2
389#define CAL3 3
390#define CAL4 4
391#define CAL5 5
392#define CAL6 6
393#define CAL7 7
394
395#define PCICR _SFR_MEM8(0x68)
396#define PCIE0 0
397#define PCIE1 1
398#define PCIE2 2
399
400#define EICRA _SFR_MEM8(0x69)
401#define ISC00 0
402#define ISC01 1
403#define ISC10 2
404#define ISC11 3
405
406#define PCMSK0 _SFR_MEM8(0x6B)
407#define PCINT0 0
408#define PCINT1 1
409#define PCINT2 2
410#define PCINT3 3
411#define PCINT4 4
412#define PCINT5 5
413#define PCINT6 6
414#define PCINT7 7
415
416#define PCMSK1 _SFR_MEM8(0x6C)
417#define PCINT8 0
418#define PCINT9 1
419#define PCINT10 2
420#define PCINT11 3
421#define PCINT12 4
422#define PCINT13 5
423#define PCINT14 6
424
425#define PCMSK2 _SFR_MEM8(0x6D)
426#define PCINT16 0
427#define PCINT17 1
428#define PCINT18 2
429#define PCINT19 3
430#define PCINT20 4
431#define PCINT21 5
432#define PCINT22 6
433#define PCINT23 7
434
435#define TIMSK0 _SFR_MEM8(0x6E)
436#define TOIE0 0
437#define OCIE0A 1
438#define OCIE0B 2
439
440#define TIMSK1 _SFR_MEM8(0x6F)
441#define TOIE1 0
442#define OCIE1A 1
443#define OCIE1B 2
444#define ICIE1 5
445
446#define TIMSK2 _SFR_MEM8(0x70)
447#define TOIE2 0
448#define OCIE2A 1
449#define OCIE2B 2
450
451#ifndef __ASSEMBLER__
452#define ADC     _SFR_MEM16(0x78)
453#endif
454#define ADCW    _SFR_MEM16(0x78)
455
456#define ADCL _SFR_MEM8(0x78)
457#define ADCL0 0
458#define ADCL1 1
459#define ADCL2 2
460#define ADCL3 3
461#define ADCL4 4
462#define ADCL5 5
463#define ADCL6 6
464#define ADCL7 7
465
466#define ADCH _SFR_MEM8(0x79)
467#define ADCH0 0
468#define ADCH1 1
469#define ADCH2 2
470#define ADCH3 3
471#define ADCH4 4
472#define ADCH5 5
473#define ADCH6 6
474#define ADCH7 7
475
476#define ADCSRA _SFR_MEM8(0x7A)
477#define ADPS0 0
478#define ADPS1 1
479#define ADPS2 2
480#define ADIE 3
481#define ADIF 4
482#define ADATE 5
483#define ADSC 6
484#define ADEN 7
485
486#define ADCSRB _SFR_MEM8(0x7B)
487#define ADTS0 0
488#define ADTS1 1
489#define ADTS2 2
490#define ACME 6
491
492#define ADMUX _SFR_MEM8(0x7C)
493#define MUX0 0
494#define MUX1 1
495#define MUX2 2
496#define MUX3 3
497#define ADLAR 5
498#define REFS0 6
499#define REFS1 7
500
501#define DIDR0 _SFR_MEM8(0x7E)
502#define ADC0D 0
503#define ADC1D 1
504#define ADC2D 2
505#define ADC3D 3
506#define ADC4D 4
507#define ADC5D 5
508
509#define DIDR1 _SFR_MEM8(0x7F)
510#define AIN0D 0
511#define AIN1D 1
512
513#define TCCR1A _SFR_MEM8(0x80)
514#define WGM10 0
515#define WGM11 1
516#define COM1B0 4
517#define COM1B1 5
518#define COM1A0 6
519#define COM1A1 7
520
521#define TCCR1B _SFR_MEM8(0x81)
522#define CS10 0
523#define CS11 1
524#define CS12 2
525#define WGM12 3
526#define WGM13 4
527#define ICES1 6
528#define ICNC1 7
529
530#define TCCR1C _SFR_MEM8(0x82)
531#define FOC1B 6
532#define FOC1A 7
533
534#define TCNT1 _SFR_MEM16(0x84)
535
536#define TCNT1L _SFR_MEM8(0x84)
537#define TCNT1L0 0
538#define TCNT1L1 1
539#define TCNT1L2 2
540#define TCNT1L3 3
541#define TCNT1L4 4
542#define TCNT1L5 5
543#define TCNT1L6 6
544#define TCNT1L7 7
545
546#define TCNT1H _SFR_MEM8(0x85)
547#define TCNT1H0 0
548#define TCNT1H1 1
549#define TCNT1H2 2
550#define TCNT1H3 3
551#define TCNT1H4 4
552#define TCNT1H5 5
553#define TCNT1H6 6
554#define TCNT1H7 7
555
556#define ICR1 _SFR_MEM16(0x86)
557
558#define ICR1L _SFR_MEM8(0x86)
559#define ICR1L0 0
560#define ICR1L1 1
561#define ICR1L2 2
562#define ICR1L3 3
563#define ICR1L4 4
564#define ICR1L5 5
565#define ICR1L6 6
566#define ICR1L7 7
567
568#define ICR1H _SFR_MEM8(0x87)
569#define ICR1H0 0
570#define ICR1H1 1
571#define ICR1H2 2
572#define ICR1H3 3
573#define ICR1H4 4
574#define ICR1H5 5
575#define ICR1H6 6
576#define ICR1H7 7
577
578#define OCR1A _SFR_MEM16(0x88)
579
580#define OCR1AL _SFR_MEM8(0x88)
581#define OCR1AL0 0
582#define OCR1AL1 1
583#define OCR1AL2 2
584#define OCR1AL3 3
585#define OCR1AL4 4
586#define OCR1AL5 5
587#define OCR1AL6 6
588#define OCR1AL7 7
589
590#define OCR1AH _SFR_MEM8(0x89)
591#define OCR1AH0 0
592#define OCR1AH1 1
593#define OCR1AH2 2
594#define OCR1AH3 3
595#define OCR1AH4 4
596#define OCR1AH5 5
597#define OCR1AH6 6
598#define OCR1AH7 7
599
600#define OCR1B _SFR_MEM16(0x8A)
601
602#define OCR1BL _SFR_MEM8(0x8A)
603#define OCR1BL0 0
604#define OCR1BL1 1
605#define OCR1BL2 2
606#define OCR1BL3 3
607#define OCR1BL4 4
608#define OCR1BL5 5
609#define OCR1BL6 6
610#define OCR1BL7 7
611
612#define OCR1BH _SFR_MEM8(0x8B)
613#define OCR1BH0 0
614#define OCR1BH1 1
615#define OCR1BH2 2
616#define OCR1BH3 3
617#define OCR1BH4 4
618#define OCR1BH5 5
619#define OCR1BH6 6
620#define OCR1BH7 7
621
622#define TCCR2A _SFR_MEM8(0xB0)
623#define WGM20 0
624#define WGM21 1
625#define COM2B0 4
626#define COM2B1 5
627#define COM2A0 6
628#define COM2A1 7
629
630#define TCCR2B _SFR_MEM8(0xB1)
631#define CS20 0
632#define CS21 1
633#define CS22 2
634#define WGM22 3
635#define FOC2B 6
636#define FOC2A 7
637
638#define TCNT2 _SFR_MEM8(0xB2)
639#define TCNT2_0 0
640#define TCNT2_1 1
641#define TCNT2_2 2
642#define TCNT2_3 3
643#define TCNT2_4 4
644#define TCNT2_5 5
645#define TCNT2_6 6
646#define TCNT2_7 7
647
648#define OCR2A _SFR_MEM8(0xB3)
649#define OCR2_0 0
650#define OCR2_1 1
651#define OCR2_2 2
652#define OCR2_3 3
653#define OCR2_4 4
654#define OCR2_5 5
655#define OCR2_6 6
656#define OCR2_7 7
657
658#define OCR2B _SFR_MEM8(0xB4)
659#define OCR2_0 0
660#define OCR2_1 1
661#define OCR2_2 2
662#define OCR2_3 3
663#define OCR2_4 4
664#define OCR2_5 5
665#define OCR2_6 6
666#define OCR2_7 7
667
668#define ASSR _SFR_MEM8(0xB6)
669#define TCR2BUB 0
670#define TCR2AUB 1
671#define OCR2BUB 2
672#define OCR2AUB 3
673#define TCN2UB 4
674#define AS2 5
675#define EXCLK 6
676
677#define TWBR _SFR_MEM8(0xB8)
678#define TWBR0 0
679#define TWBR1 1
680#define TWBR2 2
681#define TWBR3 3
682#define TWBR4 4
683#define TWBR5 5
684#define TWBR6 6
685#define TWBR7 7
686
687#define TWSR _SFR_MEM8(0xB9)
688#define TWPS0 0
689#define TWPS1 1
690#define TWS3 3
691#define TWS4 4
692#define TWS5 5
693#define TWS6 6
694#define TWS7 7
695
696#define TWAR _SFR_MEM8(0xBA)
697#define TWGCE 0
698#define TWA0 1
699#define TWA1 2
700#define TWA2 3
701#define TWA3 4
702#define TWA4 5
703#define TWA5 6
704#define TWA6 7
705
706#define TWDR _SFR_MEM8(0xBB)
707#define TWD0 0
708#define TWD1 1
709#define TWD2 2
710#define TWD3 3
711#define TWD4 4
712#define TWD5 5
713#define TWD6 6
714#define TWD7 7
715
716#define TWCR _SFR_MEM8(0xBC)
717#define TWIE 0
718#define TWEN 2
719#define TWWC 3
720#define TWSTO 4
721#define TWSTA 5
722#define TWEA 6
723#define TWINT 7
724
725#define TWAMR _SFR_MEM8(0xBD)
726#define TWAM0 0
727#define TWAM1 1
728#define TWAM2 2
729#define TWAM3 3
730#define TWAM4 4
731#define TWAM5 5
732#define TWAM6 6
733
734#define UCSR0A _SFR_MEM8(0xC0)
735#define MPCM0 0
736#define U2X0 1
737#define UPE0 2
738#define DOR0 3
739#define FE0 4
740#define UDRE0 5
741#define TXC0 6
742#define RXC0 7
743
744#define UCSR0B _SFR_MEM8(0xC1)
745#define TXB80 0
746#define RXB80 1
747#define UCSZ02 2
748#define TXEN0 3
749#define RXEN0 4
750#define UDRIE0 5
751#define TXCIE0 6
752#define RXCIE0 7
753
754#define UCSR0C _SFR_MEM8(0xC2)
755#define UCPOL0 0
756#define UCSZ00 1
757#define UCPHA0 1
758#define UCSZ01 2
759#define UDORD0 2
760#define USBS0 3
761#define UPM00 4
762#define UPM01 5
763#define UMSEL00 6
764#define UMSEL01 7
765
766#define UBRR0 _SFR_MEM16(0xC4)
767
768#define UBRR0L _SFR_MEM8(0xC4)
769#define UBRR0_0 0
770#define UBRR0_1 1
771#define UBRR0_2 2
772#define UBRR0_3 3
773#define UBRR0_4 4
774#define UBRR0_5 5
775#define UBRR0_6 6
776#define UBRR0_7 7
777
778#define UBRR0H _SFR_MEM8(0xC5)
779#define UBRR0_8 0
780#define UBRR0_9 1
781#define UBRR0_10 2
782#define UBRR0_11 3
783
784#define UDR0 _SFR_MEM8(0xC6)
785#define UDR0_0 0
786#define UDR0_1 1
787#define UDR0_2 2
788#define UDR0_3 3
789#define UDR0_4 4
790#define UDR0_5 5
791#define UDR0_6 6
792#define UDR0_7 7
793
794
795
796/* Interrupt Vectors */
797/* Interrupt Vector 0 is the reset vector. */
798#define INT0_vect         _VECTOR(1)   /* External Interrupt Request 0 */
799#define INT1_vect         _VECTOR(2)   /* External Interrupt Request 1 */
800#define PCINT0_vect       _VECTOR(3)   /* Pin Change Interrupt Request 0 */
801#define PCINT1_vect       _VECTOR(4)   /* Pin Change Interrupt Request 0 */
802#define PCINT2_vect       _VECTOR(5)   /* Pin Change Interrupt Request 1 */
803#define WDT_vect          _VECTOR(6)   /* Watchdog Time-out Interrupt */
804#define TIMER2_COMPA_vect _VECTOR(7)   /* Timer/Counter2 Compare Match A */
805#define TIMER2_COMPB_vect _VECTOR(8)   /* Timer/Counter2 Compare Match A */
806#define TIMER2_OVF_vect   _VECTOR(9)   /* Timer/Counter2 Overflow */
807#define TIMER1_CAPT_vect  _VECTOR(10)  /* Timer/Counter1 Capture Event */
808#define TIMER1_COMPA_vect _VECTOR(11)  /* Timer/Counter1 Compare Match A */
809#define TIMER1_COMPB_vect _VECTOR(12)  /* Timer/Counter1 Compare Match B */
810#define TIMER1_OVF_vect   _VECTOR(13)  /* Timer/Counter1 Overflow */
811#define TIMER0_COMPA_vect _VECTOR(14)  /* TimerCounter0 Compare Match A */
812#define TIMER0_COMPB_vect _VECTOR(15)  /* TimerCounter0 Compare Match B */
813#define TIMER0_OVF_vect   _VECTOR(16)  /* Timer/Couner0 Overflow */
814#define SPI_STC_vect      _VECTOR(17)  /* SPI Serial Transfer Complete */
815#define USART_RX_vect     _VECTOR(18)  /* USART Rx Complete */
816#define USART_UDRE_vect   _VECTOR(19)  /* USART, Data Register Empty */
817#define USART_TX_vect     _VECTOR(20)  /* USART Tx Complete */
818#define ADC_vect          _VECTOR(21)  /* ADC Conversion Complete */
819#define EE_READY_vect     _VECTOR(22)  /* EEPROM Ready */
820#define ANALOG_COMP_vect  _VECTOR(23)  /* Analog Comparator */
821#define TWI_vect          _VECTOR(24)  /* Two-wire Serial Interface */
822#define SPM_READY_vect    _VECTOR(25)  /* Store Program Memory Read */
823
824#define _VECTORS_SIZE (26 * 2)
825
826
827
828/* Constants */
829#define SPM_PAGESIZE 64
830#define RAMEND       0x4FF     /* Last On-Chip SRAM Location */
831#define XRAMSIZE     0
832#define XRAMEND      RAMEND
833#define E2END        0x1FF
834#define E2PAGESIZE   4
835#define FLASHEND     0x1FFF
836
837
838
839/* Fuses */
840#define FUSE_MEMORY_SIZE 3
841
842/* Low Fuse Byte */
843#define FUSE_CKSEL0 (unsigned char)~_BV(0)  /* Select Clock Source */
844#define FUSE_CKSEL1 (unsigned char)~_BV(1)  /* Select Clock Source */
845#define FUSE_CKSEL2 (unsigned char)~_BV(2)  /* Select Clock Source */
846#define FUSE_CKSEL3 (unsigned char)~_BV(3)  /* Select Clock Source */
847#define FUSE_SUT0   (unsigned char)~_BV(4)  /* Select start-up time */
848#define FUSE_SUT1   (unsigned char)~_BV(5)  /* Select start-up time */
849#define FUSE_CKOUT  (unsigned char)~_BV(6)  /* Clock output */
850#define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */
851#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8)
852
853/* High Fuse Byte */
854#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)  /* Brown-out Detector trigger level */
855#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)  /* Brown-out Detector trigger level */
856#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)  /* Brown-out Detector trigger level */
857#define FUSE_EESAVE    (unsigned char)~_BV(3)  /* EEPROM memory is preserved through chip erase */
858#define FUSE_WDTON     (unsigned char)~_BV(4)  /* Watchdog Timer Always On */
859#define FUSE_SPIEN     (unsigned char)~_BV(5)  /* Enable Serial programming and Data Downloading */
860#define FUSE_DWEN      (unsigned char)~_BV(6)  /* debugWIRE Enable */
861#define FUSE_RSTDISBL  (unsigned char)~_BV(7)  /* External reset disable */
862#define HFUSE_DEFAULT (FUSE_SPIEN)
863
864/* Extended Fuse Byte */
865#define FUSE_BOOTRST (unsigned char)~_BV(0)
866#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
867#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
868#define EFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1)
869
870
871
872/* Lock Bits */
873#define __LOCK_BITS_EXIST
874#define __BOOT_LOCK_BITS_0_EXIST
875#define __BOOT_LOCK_BITS_1_EXIST
876
877
878/* Signature */
879#define SIGNATURE_0 0x1E
880#define SIGNATURE_1 0x93
881#define SIGNATURE_2 0x0F
882
883/**@}*/
884#endif  /* _AVR_IOM88P_H_ */
Note: See TracBrowser for help on using the repository browser.