]> git.pld-linux.org Git - packages/crossavr-libc.git/blame - 999-avr-libc-new-headers.patch
- rel 4
[packages/crossavr-libc.git] / 999-avr-libc-new-headers.patch
CommitLineData
69ed15f0
JR
1diff -urN avr-libc-1.8.0.orig/include/avr/avr-headers-version.txt avr-libc-1.8.0/include/avr/avr-headers-version.txt
2--- avr-libc-1.8.0.orig/include/avr/avr-headers-version.txt 1970-01-01 01:00:00.000000000 +0100
3+++ avr-libc-1.8.0/include/avr/avr-headers-version.txt 2013-06-12 12:21:34.000000000 +0200
4@@ -0,0 +1 @@
5+6.1.3.1475 20130410
9fe267c2 6diff -urN avr-libc-1.8.0.orig/include/avr/eeprom.h avr-libc-1.8.0/include/avr/eeprom.h
69ed15f0
JR
7--- avr-libc-1.8.0.orig/include/avr/eeprom.h 2013-06-12 12:22:36.132171065 +0200
8+++ avr-libc-1.8.0/include/avr/eeprom.h 2013-06-12 12:21:34.000000000 +0200
9@@ -107,14 +107,14 @@
9fe267c2
PZ
10 # define _EEPROM_SUFFIX _m1284p
11 #elif defined (__AVR_ATmega128RFA1__)
12 # define _EEPROM_SUFFIX _m128rfa1
13+#elif defined (__AVR_ATmega128RFA2__)
14+# define _EEPROM_SUFFIX _m128rfa2
15 #elif defined (__AVR_ATmega128RFR2__)
16 # define _EEPROM_SUFFIX _m128rfr2
69ed15f0
JR
17-#elif defined (__AVR_ATmega1284RFR2__)
18-# define _EEPROM_SUFFIX _m1284rfr2
19+#elif defined (__AVR_ATmega256RFA2__)
9fe267c2 20+# define _EEPROM_SUFFIX _m256rfa2
69ed15f0 21 #elif defined (__AVR_ATmega256RFR2__)
9fe267c2 22 # define _EEPROM_SUFFIX _m256rfr2
69ed15f0
JR
23-#elif defined (__AVR_ATmega2564RFR2__)
24-# define _EEPROM_SUFFIX _m2564rfr2
9fe267c2
PZ
25 #elif defined (__AVR_ATmega2560__)
26 # define _EEPROM_SUFFIX _m2560
69ed15f0
JR
27 #elif defined (__AVR_ATmega2561__)
28@@ -137,10 +137,10 @@
9fe267c2
PZ
29 # define _EEPROM_SUFFIX _usb1286
30 #elif defined (__AVR_AT90USB1287__)
31 # define _EEPROM_SUFFIX _usb1287
32+#elif defined (__AVR_ATmega64RFA2__)
33+# define _EEPROM_SUFFIX _m64rfa2
34 #elif defined (__AVR_ATmega64RFR2__)
35 # define _EEPROM_SUFFIX _m64rfr2
69ed15f0
JR
36-#elif defined (__AVR_ATmega644RFR2__)
37-# define _EEPROM_SUFFIX _m644rfr2
9fe267c2 38 #elif defined (__AVR_ATmega64__)
69ed15f0
JR
39 # define _EEPROM_SUFFIX _m64
40 #elif defined (__AVR_ATmega64A__)
41@@ -235,8 +235,6 @@
42 # define _EEPROM_SUFFIX _m32hvbrevb
43 #elif defined (__AVR_ATmega64HVE__)
44 # define _EEPROM_SUFFIX _m64hve
45-#elif defined (__AVR_ATmega64HVE2__)
46-# define _EEPROM_SUFFIX _m64hve2
47 #elif defined (__AVR_ATmega406__)
48 # define _EEPROM_SUFFIX _m406
49 #elif defined (__AVR_ATmega16__)
50@@ -289,6 +287,8 @@
9fe267c2
PZ
51 # define _EEPROM_SUFFIX _m16hvb
52 #elif defined (__AVR_ATmega16HVBREVB__)
53 # define _EEPROM_SUFFIX _m16hvbrevb
54+#elif defined (__AVR_ATmega26HVG__)
55+# define _EEPROM_SUFFIX _m26hvg
56 #elif defined (__AVR_ATmega8__)
57 # define _EEPROM_SUFFIX _m8
58 #elif defined (__AVR_ATmega8A__)
69ed15f0 59@@ -297,6 +297,8 @@
9fe267c2
PZ
60 # define _EEPROM_SUFFIX _m48
61 #elif defined (__AVR_ATmega48A__)
62 # define _EEPROM_SUFFIX _m48a
63+#elif defined (__AVR_ATmega48HVF__)
64+# define _EEPROM_SUFFIX _m48hvf
65 #elif defined (__AVR_ATmega48PA__)
66 # define _EEPROM_SUFFIX _m48pa
67 #elif defined (__AVR_ATmega48P__)
69ed15f0
JR
68@@ -381,8 +383,8 @@
69 # define _EEPROM_SUFFIX _tn43u
70 #elif defined (__AVR_ATtiny48__)
71 # define _EEPROM_SUFFIX _tn48
72-#elif defined (__AVR_ATtiny828__)
73-# define _EEPROM_SUFFIX _tn828
74+#elif defined (__AVR_ATtiny80__)
75+# define _EEPROM_SUFFIX _tn80
76 #elif defined (__AVR_ATtiny88__)
77 # define _EEPROM_SUFFIX _tn88
78 #elif defined (__AVR_ATtiny87__)
79@@ -409,12 +411,8 @@
9fe267c2
PZ
80 # define _EEPROM_SUFFIX _x32c4
81 #elif defined (__AVR_ATxmega32D4__)
82 # define _EEPROM_SUFFIX _x32d4
83-#elif defined (__AVR_ATxmega8E5__)
84-#define _EEPROM_SUFFIX _x8e5
85-#elif defined (__AVR_ATxmega16E5__)
86-#define _EEPROM_SUFFIX _x16e5
69ed15f0
JR
87-#elif defined (__AVR_ATxmega32E5__)
88-# define _EEPROM_SUFFIX _x32e5
9fe267c2
PZ
89+#elif defined (__AVR_ATxmega32X1__)
90+# define _EEPROM_SUFFIX _x32x1
91 #elif defined (__AVR_ATxmega64A1__)
92 # define _EEPROM_SUFFIX _x64a1
93 #elif defined (__AVR_ATxmega64A1U__)
69ed15f0
JR
94@@ -479,24 +477,8 @@
95 # define _EEPROM_SUFFIX _x384c3
96 #elif defined (__AVR_ATxmega384D3__)
97 # define _EEPROM_SUFFIX _x384d3
98-#elif defined (__AVR_ATA5505__)
99-# define _EEPROM_SUFFIX _a5505
100-#elif defined (__AVR_ATA5272__)
101-# define _EEPROM_SUFFIX _a5272
102-#elif defined (__AVR_ATA6285__)
103-# define _EEPROM_SUFFIX _a6285
104-#elif defined (__AVR_ATA6286__)
105-# define _EEPROM_SUFFIX _a6286
106 #elif defined (__AVR_ATA6289__)
9fe267c2 107 # define _EEPROM_SUFFIX _a6289
69ed15f0
JR
108-#elif defined (__AVR_ATA5790__)
109-# define _EEPROM_SUFFIX _a5790
110-#elif defined (__AVR_ATA5790N__)
111-# define _EEPROM_SUFFIX _a5790n
112-#elif defined (__AVR_ATA5795__)
113-# define _EEPROM_SUFFIX _a5795
114-#elif defined (__AVR_ATA5831__)
115-# define _EEPROM_SUFFIX _a5831
9fe267c2
PZ
116 /* avr1: the following only supported for assembler programs */
117 #elif defined (__AVR_ATtiny28__)
118 # define _EEPROM_SUFFIX _tn28
119diff -urN avr-libc-1.8.0.orig/include/avr/io90pwm161.h avr-libc-1.8.0/include/avr/io90pwm161.h
120--- avr-libc-1.8.0.orig/include/avr/io90pwm161.h 1970-01-01 01:00:00.000000000 +0100
69ed15f0
JR
121+++ avr-libc-1.8.0/include/avr/io90pwm161.h 2013-06-12 12:21:34.000000000 +0200
122@@ -0,0 +1,866 @@
9fe267c2
PZ
123+/*****************************************************************************
124+ *
69ed15f0 125+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
126+ * All rights reserved.
127+ *
128+ * Redistribution and use in source and binary forms, with or without
129+ * modification, are permitted provided that the following conditions are met:
130+ *
131+ * * Redistributions of source code must retain the above copyright
132+ * notice, this list of conditions and the following disclaimer.
133+ *
134+ * * Redistributions in binary form must reproduce the above copyright
135+ * notice, this list of conditions and the following disclaimer in
136+ * the documentation and/or other materials provided with the
137+ * distribution.
138+ *
139+ * * Neither the name of the copyright holders nor the names of
140+ * contributors may be used to endorse or promote products derived
141+ * from this software without specific prior written permission.
142+ *
143+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
144+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
145+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
146+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
147+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
148+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
149+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
150+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
151+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
152+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
153+ * POSSIBILITY OF SUCH DAMAGE.
154+ ****************************************************************************/
155+
156+
157+#ifndef _AVR_AT90PWM161_H_INCLUDED
158+#define _AVR_AT90PWM161_H_INCLUDED
159+
160+
161+#ifndef _AVR_IO_H_
162+# error "Include <avr/io.h> instead of this file."
163+#endif
164+
165+#ifndef _AVR_IOXXX_H_
166+# define _AVR_IOXXX_H_ "io90pwm161.h"
167+#else
168+# error "Attempt to include more than one <avr/ioXXX.h> file."
169+#endif
170+
171+/* Registers and associated bit numbers */
172+
173+#define ACSR _SFR_IO8(0x00)
174+#define AC1O 1
175+#define AC2O 2
176+#define AC3O 3
177+#define AC1IF 5
178+#define AC2IF 6
179+#define AC3IF 7
180+
181+#define TIMSK1 _SFR_IO8(0x01)
182+#define TOIE1 0
183+#define ICIE1 5
184+
185+#define TIFR1 _SFR_IO8(0x02)
186+#define TOV1 0
187+#define ICF1 5
188+
189+#define PINB _SFR_IO8(0x03)
190+#define PINB7 7
191+#define PINB6 6
192+#define PINB5 5
193+#define PINB4 4
194+#define PINB3 3
195+#define PINB2 2
196+#define PINB1 1
197+#define PINB0 0
198+
199+#define DDRB _SFR_IO8(0x04)
200+#define DDRB7 7
201+#define DDRB6 6
202+#define DDRB5 5
203+#define DDRB4 4
204+#define DDRB3 3
205+#define DDRB2 2
206+#define DDRB1 1
207+#define DDRB0 0
208+
209+#define PORTB _SFR_IO8(0x05)
210+#define PORTB7 7
211+#define PORTB6 6
212+#define PORTB5 5
213+#define PORTB4 4
214+#define PORTB3 3
215+#define PORTB2 2
216+#define PORTB1 1
217+#define PORTB0 0
218+
219+#define ADCSRA _SFR_IO8(0x06)
220+#define ADPS0 0
221+#define ADPS1 1
222+#define ADPS2 2
223+#define ADIE 3
224+#define ADIF 4
225+#define ADATE 5
226+#define ADSC 6
227+#define ADEN 7
228+
229+#define ADCSRB _SFR_IO8(0x07)
230+#define ADTS0 0
231+#define ADTS1 1
232+#define ADTS2 2
233+#define ADTS3 3
234+#define ADSSEN 4
235+#define ADNCDIS 6
236+#define ADHSM 7
237+
238+#define ADMUX _SFR_IO8(0x08)
239+#define MUX0 0
240+#define MUX1 1
241+#define MUX2 2
242+#define MUX3 3
243+#define ADLAR 5
244+#define REFS0 6
245+#define REFS1 7
246+
247+#define PIND _SFR_IO8(0x09)
248+#define PIND7 7
249+#define PIND6 6
250+#define PIND5 5
251+#define PIND4 4
252+#define PIND3 3
253+#define PIND2 2
254+#define PIND1 1
255+#define PIND0 0
256+
257+#define DDRD _SFR_IO8(0x0A)
258+#define DDRD7 7
259+#define DDRD6 6
260+#define DDRD5 5
261+#define DDRD4 4
262+#define DDRD3 3
263+#define DDRD2 2
264+#define DDRD1 1
265+#define DDRD0 0
266+
267+#define PORTD _SFR_IO8(0x0B)
268+#define PORTD7 7
269+#define PORTD6 6
270+#define PORTD5 5
271+#define PORTD4 4
272+#define PORTD3 3
273+#define PORTD2 2
274+#define PORTD1 1
275+#define PORTD0 0
276+
277+#define PINE _SFR_IO8(0x0C)
278+#define PINE7 7
279+#define PINE6 6
280+#define PINE5 5
281+#define PINE4 4
282+#define PINE3 3
283+#define PINE2 2
284+#define PINE1 1
285+#define PINE0 0
286+
287+#define DDRE _SFR_IO8(0x0D)
288+#define DDRE7 7
289+#define DDRE6 6
290+#define DDRE5 5
291+#define DDRE4 4
292+#define DDRE3 3
293+#define DDRE2 2
294+#define DDRE1 1
295+#define DDRE0 0
296+
297+#define PORTE _SFR_IO8(0x0E)
298+#define PORTE7 7
299+#define PORTE6 6
300+#define PORTE5 5
301+#define PORTE4 4
302+#define PORTE3 3
303+#define PORTE2 2
304+#define PORTE1 1
305+#define PORTE0 0
306+
307+#define PIM0 _SFR_IO8(0x0F)
308+#define PEOPE0 0
309+#define PEOEPE0 1
310+#define PEVE0A 3
311+#define PEVE0B 4
312+
313+#define PIFR0 _SFR_IO8(0x10)
314+#define PEOP0 0
315+#define PRN00 1
316+#define PRN01 2
317+#define PEV0A 3
318+#define PEV0B 4
319+#define POAC0A 6
320+#define POAC0B 7
321+
322+#define PCNF0 _SFR_IO8(0x11)
323+#define PCLKSEL0 1
324+#define POP0 2
325+#define PMODE00 3
326+#define PMODE01 4
327+#define PLOCK0 5
328+#define PALOCK0 6
329+#define PFIFTY0 7
330+
331+#define PCTL0 _SFR_IO8(0x12)
332+#define PRUN0 0
333+#define PCCYC0 1
334+#define PAOC0A 3
335+#define PAOC0B 4
336+#define PBFM00 2
337+#define PBFM01 5
338+#define PPRE00 6
339+#define PPRE01 7
340+
341+#define PIM2 _SFR_IO8(0x13)
342+#define PEOPE2 0
343+#define PEOEPE2 1
344+#define PEVE2A 3
345+#define PEVE2B 4
346+#define PSEIE2 5
347+
348+#define PIFR2 _SFR_IO8(0x14)
349+#define PEOP2 0
350+#define PRN20 1
351+#define PRN21 2
352+#define PEV2A 3
353+#define PEV2B 4
354+#define PSEI2 5
355+#define POAC2A 6
356+#define POAC2B 7
357+
358+#define PCNF2 _SFR_IO8(0x15)
359+#define POME2 0
360+#define PCLKSEL2 1
361+#define POP2 2
362+#define PMODE20 3
363+#define PMODE21 4
364+#define PLOCK2 5
365+#define PALOCK2 6
366+#define PFIFTY2 7
367+
368+#define PCTL2 _SFR_IO8(0x16)
369+#define PRUN2 0
370+#define PCCYC2 1
371+#define PARUN2 2
372+#define PAOC2A 3
373+#define PAOC2B 4
374+#define PBFM2 5
375+#define PPRE20 6
376+#define PPRE21 7
377+
378+#define SPCR _SFR_IO8(0x17)
379+#define SPR0 0
380+#define SPR1 1
381+#define CPHA 2
382+#define CPOL 3
383+#define MSTR 4
384+#define DORD 5
385+#define SPE 6
386+#define SPIE 7
387+
388+#define SPSR _SFR_IO8(0x18)
389+#define SPI2X 0
390+#define WCOL 6
391+#define SPIF 7
392+
393+#define GPIOR0 _SFR_IO8(0x19)
394+#define GPIOR00 0
395+#define GPIOR01 1
396+#define GPIOR02 2
397+#define GPIOR03 3
398+#define GPIOR04 4
399+#define GPIOR05 5
400+#define GPIOR06 6
401+#define GPIOR07 7
402+
403+#define GPIOR1 _SFR_IO8(0x1A)
404+#define GPIOR10 0
405+#define GPIOR11 1
406+#define GPIOR12 2
407+#define GPIOR13 3
408+#define GPIOR14 4
409+#define GPIOR15 5
410+#define GPIOR16 6
411+#define GPIOR17 7
412+
413+#define GPIOR2 _SFR_IO8(0x1B)
414+#define GPIOR20 0
415+#define GPIOR21 1
416+#define GPIOR22 2
417+#define GPIOR23 3
418+#define GPIOR24 4
419+#define GPIOR25 5
420+#define GPIOR26 6
421+#define GPIOR27 7
422+
423+#define EECR _SFR_IO8(0x1C)
424+#define EERE 0
425+#define EEWE 1
426+#define EEMWE 2
427+#define EERIE 3
428+#define EEPM0 4
429+#define EEPM1 5
430+#define EEPAGE 6
431+#define NVMBSY 7
432+
433+#define EEDR _SFR_IO8(0x1D)
434+
435+/* Combine EEARL and EEARH */
436+#define EEAR _SFR_IO16(0x1E)
437+
438+#define EEARL _SFR_IO8(0x1E)
439+#define EEARH _SFR_IO8(0x1F)
440+
441+#define EIFR _SFR_IO8(0x20)
442+#define INTF0 0
443+#define INTF1 1
444+#define INTF2 2
445+
446+#define EIMSK _SFR_IO8(0x21)
447+#define INT0 0
448+#define INT1 1
449+#define INT2 2
450+
451+/* Combine OCR0SBL and OCR0SBH */
452+#define OCR0SB _SFR_IO16(0x22)
453+
454+#define OCR0SBL _SFR_IO8(0x22)
455+#define OCR0SBH _SFR_IO8(0x23)
456+
457+/* Combine OCR0RBL and OCR0RBH */
458+#define OCR0RB _SFR_IO16(0x24)
459+
460+#define OCR0RBL _SFR_IO8(0x24)
461+#define OCR0RBH _SFR_IO8(0x25)
462+
463+/* Combine OCR2SBL and OCR2SBH */
464+#define OCR2SB _SFR_IO16(0x26)
465+
466+#define OCR2SBL _SFR_IO8(0x26)
467+#define OCR2SBH _SFR_IO8(0x27)
468+
469+/* Combine OCR2RBL and OCR2RBH */
470+#define OCR2RB _SFR_IO16(0x28)
471+
472+#define OCR2RBL _SFR_IO8(0x28)
473+#define OCR2RBH _SFR_IO8(0x29)
474+
475+/* Combine OCR0RAL and OCR0RAH */
476+#define OCR0RA _SFR_IO16(0x2A)
477+
478+#define OCR0RAL _SFR_IO8(0x2A)
479+#define OCR0RAH _SFR_IO8(0x2B)
480+
481+/* Combine ADCL and ADCH */
482+#ifndef __ASSEMBLER__
483+#define ADC _SFR_IO16(0x2C)
484+#endif
485+#define ADCW _SFR_IO16(0x2C)
486+
487+#define ADCL _SFR_IO8(0x2C)
488+#define ADCH _SFR_IO8(0x2D)
489+
490+/* Combine OCR2RAL and OCR2RAH */
491+#define OCR2RA _SFR_IO16(0x2E)
492+
493+#define OCR2RAL _SFR_IO8(0x2E)
494+#define OCR2RAH _SFR_IO8(0x2F)
495+
496+/* Reserved [0x30..0x32] */
497+
498+#define SMCR _SFR_IO8(0x33)
499+#define SE 0
500+#define SM0 1
501+#define SM1 2
502+#define SM2 3
503+
504+#define MCUSR _SFR_IO8(0x34)
505+#define PORF 0
506+#define EXTRF 1
507+#define BORF 2
508+#define WDRF 3
509+
510+#define MCUCR _SFR_IO8(0x35)
511+#define IVCE 0
512+#define IVSEL 1
513+#define CKRC81 2
514+#define RSTDIS 3
515+#define PUD 4
516+
517+#define SPDR _SFR_IO8(0x36)
518+
519+#define SPMCSR _SFR_IO8(0x37)
520+#define SPMEN 0
521+#define PGERS 1
522+#define PGWRT 2
523+#define BLBSET 3
524+#define RWWSRE 4
525+#define SIGRD 5
526+#define RWWSB 6
527+#define SPMIE 7
528+
529+#define DACL _SFR_IO8(0x38)
530+#define DACL0 0
531+#define DACL1 1
532+#define DACL2 2
533+#define DACL3 3
534+#define DACL4 4
535+#define DACL5 5
536+#define DACL6 6
537+#define DACL7 7
538+
539+#define DACH _SFR_IO8(0x39)
540+#define DACH0 0
541+#define DACH1 1
542+#define DACH2 2
543+#define DACH3 3
544+#define DACH4 4
545+#define DACH5 5
546+#define DACH6 6
547+#define DACH7 7
548+
549+/* Combine TCNT1L and TCNT1H */
550+#define TCNT1 _SFR_IO16(0x3A)
551+
552+#define TCNT1L _SFR_IO8(0x3A)
553+#define TCNT1H _SFR_IO8(0x3B)
554+
555+/* Reserved [0x3C] */
556+
557+/* SP [0x3D..0x3E] */
558+
559+/* SREG [0x3F] */
560+
561+/* Combine OCR0SAL and OCR0SAH */
562+#define OCR0SA _SFR_MEM16(0x60)
563+
564+#define OCR0SAL _SFR_MEM8(0x60)
565+#define OCR0SAH _SFR_MEM8(0x61)
566+
567+#define PFRC0A _SFR_MEM8(0x62)
568+#define PRFM0A0 0
569+#define PRFM0A1 1
570+#define PRFM0A2 2
571+#define PRFM0A3 3
572+#define PFLTE0A 4
573+#define PELEV0A 5
574+#define PISEL0A 6
575+#define PCAE0A 7
576+
577+#define PFRC0B _SFR_MEM8(0x63)
578+#define PRFM0B0 0
579+#define PRFM0B1 1
580+#define PRFM0B2 2
581+#define PRFM0B3 3
582+#define PFLTE0B 4
583+#define PELEV0B 5
584+#define PISEL0B 6
585+#define PCAE0B 7
586+
587+/* Combine OCR2SAL and OCR2SAH */
588+#define OCR2SA _SFR_MEM16(0x64)
589+
590+#define OCR2SAL _SFR_MEM8(0x64)
591+#define OCR2SAH _SFR_MEM8(0x65)
592+
593+#define PFRC2A _SFR_MEM8(0x66)
594+#define PRFM2A0 0
595+#define PRFM2A1 1
596+#define PRFM2A2 2
597+#define PRFM2A3 3
598+#define PFLTE2A 4
599+#define PELEV2A 5
600+#define PISEL2A 6
601+#define PCAE2A 7
602+
603+#define PFRC2B _SFR_MEM8(0x67)
604+#define PRFM2B0 0
605+#define PRFM2B1 1
606+#define PRFM2B2 2
607+#define PRFM2B3 3
608+#define PFLTE2B 4
609+#define PELEV2B 5
610+#define PISEL2B 6
611+#define PCAE2B 7
612+
613+/* Combine PICR0L and PICR0H */
614+#define PICR0 _SFR_MEM16(0x68)
615+
616+#define PICR0L _SFR_MEM8(0x68)
617+#define PICR0H _SFR_MEM8(0x69)
618+
619+#define PSOC0 _SFR_MEM8(0x6A)
620+#define POEN0A 0
621+#define POEN0B 2
622+#define PSYNC00 4
623+#define PSYNC01 5
624+#define PISEL0B1 6
625+#define PISEL0A1 7
626+
627+/* Reserved [0x6B] */
628+
629+#define PICR2L _SFR_MEM8(0x6C)
630+
631+#define PICR2H _SFR_MEM8(0x6D)
632+#define PICR28 0
633+#define PICR29 1
634+#define PICR210 2
635+#define PICR211 3
636+#define PCST2 7
637+
638+#define PSOC2 _SFR_MEM8(0x6E)
639+#define POEN2A 0
640+#define POEN2C 1
641+#define POEN2B 2
642+#define POEN2D 3
643+#define PSYNC20 4
644+#define PSYNC21 5
645+#define POS22 6
646+#define POS23 7
647+
648+#define POM2 _SFR_MEM8(0x6F)
649+#define POMV2A0 0
650+#define POMV2A1 1
651+#define POMV2A2 2
652+#define POMV2A3 3
653+#define POMV2B0 4
654+#define POMV2B1 5
655+#define POMV2B2 6
656+#define POMV2B3 7
657+
658+#define PCNFE2 _SFR_MEM8(0x70)
659+#define PISEL2B1 0
660+#define PISEL2A1 1
661+#define PELEV2B1 2
662+#define PELEV2A1 3
663+#define PBFM21 4
664+#define PASDLK20 5
665+#define PASDLK21 6
666+#define PASDLK22 7
667+
668+#define PASDLY2 _SFR_MEM8(0x71)
669+
670+/* Reserved [0x72..0x75] */
671+
672+#define DACON _SFR_MEM8(0x76)
673+#define DAEN 0
674+#define DALA 2
675+#define DATS0 4
676+#define DATS1 5
677+#define DATS2 6
678+#define DAATE 7
679+
680+#define DIDR0 _SFR_MEM8(0x77)
681+#define ADC0D 0
682+#define ADC1D 1
683+#define ADC2D 2
684+#define ADC3D 3
685+#define ADC4D 4
686+#define ADC5D 5
687+#define ADC6D 6
688+#define ADC7D 7
689+
690+#define DIDR1 _SFR_MEM8(0x78)
691+#define ADC9D 0
692+#define ADC10D 1
693+#define AMP0POSD 2
694+#define ACMP1MD 3
695+
696+#define AMP0CSR _SFR_MEM8(0x79)
697+#define AMP0TS0 0
698+#define AMP0TS1 1
699+#define AMP0GS 3
700+#define AMP0G0 4
701+#define AMP0G1 5
702+#define AMP0IS 6
703+#define AMP0EN 7
704+
705+#define AC1ECON _SFR_MEM8(0x7A)
706+#define AC1H0 0
707+#define AC1H1 1
708+#define AC1H2 2
709+#define AC1ICE 3
710+#define AC1OE 4
711+#define AC1OI 5
712+
713+#define AC2ECON _SFR_MEM8(0x7B)
714+#define AC2H0 0
715+#define AC2H1 1
716+#define AC2H2 2
717+#define AC2OE 4
718+#define AC2OI 5
719+
720+#define AC3ECON _SFR_MEM8(0x7C)
721+#define AC3H0 0
722+#define AC3H1 1
723+#define AC3H2 2
724+#define AC3OE 4
725+#define AC3OI 5
726+
727+#define AC1CON _SFR_MEM8(0x7D)
728+#define AC1M0 0
729+#define AC1M1 1
730+#define AC1M2 2
731+#define AC1IS0 4
732+#define AC1IS1 5
733+#define AC1IE 6
734+#define AC1EN 7
735+
736+#define AC2CON _SFR_MEM8(0x7E)
737+#define AC2M0 0
738+#define AC2M1 1
739+#define AC2M2 2
740+#define AC2IS0 4
741+#define AC2IS1 5
742+#define AC2IE 6
743+#define AC2EN 7
744+
745+#define AC3CON _SFR_MEM8(0x7F)
746+#define AC3M0 0
747+#define AC3M1 1
748+#define AC3M2 2
749+#define AC3OEA 3
750+#define AC3IS0 4
751+#define AC3IS1 5
752+#define AC3IE 6
753+#define AC3EN 7
754+
755+#define BGCRR _SFR_MEM8(0x80)
756+#define BGCR0 0
757+#define BGCR1 1
758+#define BGCR2 2
759+#define BGCR3 3
760+
761+#define BGCCR _SFR_MEM8(0x81)
762+#define BGCC0 0
763+#define BGCC1 1
764+#define BGCC2 2
765+#define BGCC3 3
766+
767+#define WDTCSR _SFR_MEM8(0x82)
768+#define WDE 3
769+#define WDCE 4
770+#define WDP0 0
771+#define WDP1 1
772+#define WDP2 2
773+#define WDP3 5
774+#define WDIE 6
775+#define WDIF 7
776+
777+#define CLKPR _SFR_MEM8(0x83)
778+#define CLKPS0 0
779+#define CLKPS1 1
780+#define CLKPS2 2
781+#define CLKPS3 3
782+#define CLKPCE 7
783+
784+#define CLKCSR _SFR_MEM8(0x84)
785+#define CLKC0 0
786+#define CLKC1 1
787+#define CLKC2 2
788+#define CLKC3 3
789+#define CLKRDY 4
790+#define CLKCCE 7
791+
792+#define CLKSELR _SFR_MEM8(0x85)
793+#define CKSEL0 0
794+#define CKSEL1 1
795+#define CKSEL2 2
796+#define CKSEL3 3
797+#define CSUT0 4
798+#define CSUT1 5
799+#define COUT 6
800+
801+#define PRR _SFR_MEM8(0x86)
802+#define PRADC 0
803+#define PRSPI 2
804+#define PRTIM1 4
805+#define PRPSCR 5
806+#define PRPSC2 7
807+
808+#define PLLCSR _SFR_MEM8(0x87)
809+#define PLOCK 0
810+#define PLLE 1
811+#define PLLF0 2
812+#define PLLF1 3
813+#define PLLF2 4
814+#define PLLF3 5
815+
816+#define OSCCAL _SFR_MEM8(0x88)
817+
818+#define EICRA _SFR_MEM8(0x89)
819+#define ISC00 0
820+#define ISC01 1
821+#define ISC10 2
822+#define ISC11 3
823+#define ISC20 4
824+#define ISC21 5
825+
826+#define TCCR1B _SFR_MEM8(0x8A)
827+#define CS10 0
828+#define CS11 1
829+#define CS12 2
830+#define WGM13 4
831+#define ICES1 6
832+#define ICNC1 7
833+
834+/* Reserved [0x8B] */
835+
836+/* Combine ICR1L and ICR1H */
837+#define ICR1 _SFR_MEM16(0x8C)
838+
839+#define ICR1L _SFR_MEM8(0x8C)
840+#define ICR1H _SFR_MEM8(0x8D)
841+
842+
843+
844+/* Interrupt vectors */
845+/* Vector 0 is the reset vector */
846+/* PSC2 Capture Event */
847+#define PSC2_CAPT_vect _VECTOR(1)
848+#define PSC2_CAPT_vect_num 1
849+
850+/* PSC2 End Cycle */
851+#define PSC2_EC_vect _VECTOR(2)
852+#define PSC2_EC_vect_num 2
853+
854+/* PSC2 End Of Enhanced Cycle */
855+#define PSC2_EEC_vect _VECTOR(3)
856+#define PSC2_EEC_vect_num 3
857+
858+/* PSC0 Capture Event */
859+#define PSC0_CAPT_vect _VECTOR(4)
860+#define PSC0_CAPT_vect_num 4
861+
862+/* PSC0 End Cycle */
863+#define PSC0_EC_vect _VECTOR(5)
864+#define PSC0_EC_vect_num 5
865+
866+/* PSC0 End Of Enhanced Cycle */
867+#define PSC0_EEC_vect _VECTOR(6)
868+#define PSC0_EEC_vect_num 6
869+
870+/* Analog Comparator 1 */
871+#define ANALOG_COMP_1_vect _VECTOR(7)
872+#define ANALOG_COMP_1_vect_num 7
873+
874+/* Analog Comparator 2 */
875+#define ANALOG_COMP_2_vect _VECTOR(8)
876+#define ANALOG_COMP_2_vect_num 8
877+
878+/* Analog Comparator 3 */
879+#define ANALOG_COMP_3_vect _VECTOR(9)
880+#define ANALOG_COMP_3_vect_num 9
881+
882+/* External Interrupt Request 0 */
883+#define INT0_vect _VECTOR(10)
884+#define INT0_vect_num 10
885+
886+/* Timer/Counter1 Capture Event */
887+#define TIMER1_CAPT_vect _VECTOR(11)
888+#define TIMER1_CAPT_vect_num 11
889+
890+/* Timer/Counter1 Overflow */
891+#define TIMER1_OVF_vect _VECTOR(12)
892+#define TIMER1_OVF_vect_num 12
893+
894+/* ADC Conversion Complete */
895+#define ADC_vect _VECTOR(13)
896+#define ADC_vect_num 13
897+
898+/* External Interrupt Request 1 */
899+#define INT1_vect _VECTOR(14)
900+#define INT1_vect_num 14
901+
902+/* SPI Serial Transfer Complet */
69ed15f0
JR
903+#define SPI_STC_vect _VECTOR(15)
904+#define SPI_STC_vect_num 15
9fe267c2
PZ
905+
906+/* External Interrupt Request 2 */
907+#define INT2_vect _VECTOR(16)
908+#define INT2_vect_num 16
909+
910+/* Watchdog Timeout Interrupt */
911+#define WDT_vect _VECTOR(17)
912+#define WDT_vect_num 17
913+
914+/* EEPROM Ready */
915+#define EE_READY_vect _VECTOR(18)
916+#define EE_READY_vect_num 18
917+
918+/* Store Program Memory Read */
919+#define SPM_READY_vect _VECTOR(19)
920+#define SPM_READY_vect_num 19
921+
922+#define _VECTORS_SIZE 80
923+
924+
925+/* Constants */
926+
927+#define SPM_PAGESIZE 128
69ed15f0 928+#define FLASHSTART 0x0000
9fe267c2
PZ
929+#define FLASHEND 0x3FFF
930+#define RAMSTART 0x0100
931+#define RAMSIZE 1024
932+#define RAMEND 0x04FF
933+#define E2START 0
934+#define E2SIZE 512
935+#define E2PAGESIZE 4
936+#define E2END 0x01FF
937+#define XRAMEND RAMEND
938+
939+
940+/* Fuses */
941+
942+#define FUSE_MEMORY_SIZE 3
943+
944+/* Low Fuse Byte */
945+#define FUSE_SUT_CKSEL0 (unsigned char)~_BV(0)
946+#define FUSE_SUT_CKSEL1 (unsigned char)~_BV(1)
947+#define FUSE_SUT_CKSEL2 (unsigned char)~_BV(2)
948+#define FUSE_SUT_CKSEL3 (unsigned char)~_BV(3)
949+#define FUSE_SUT_CKSEL4 (unsigned char)~_BV(4)
950+#define FUSE_SUT_CKSEL5 (unsigned char)~_BV(5)
951+#define FUSE_CKOUT (unsigned char)~_BV(6)
952+#define FUSE_CKDIV8 (unsigned char)~_BV(7)
953+
954+/* High Fuse Byte */
955+#define FUSE_BOOTRST (unsigned char)~_BV(0)
956+#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
957+#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
958+#define FUSE_EESAVE (unsigned char)~_BV(3)
959+#define FUSE_WDTON (unsigned char)~_BV(4)
960+#define FUSE_SPIEN (unsigned char)~_BV(5)
961+#define FUSE_DWEN (unsigned char)~_BV(6)
962+#define FUSE_RSTDISBL (unsigned char)~_BV(7)
963+
964+/* Extended Fuse Byte */
965+#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
966+#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
967+#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
968+#define FUSE_PSCINRB (unsigned char)~_BV(3)
969+#define FUSE_PSCRV (unsigned char)~_BV(4)
970+#define FUSE_PSC0RB (unsigned char)~_BV(5)
971+#define FUSE_PSC2RBA (unsigned char)~_BV(6)
972+#define FUSE_PSC2RB (unsigned char)~_BV(7)
973+
974+
975+/* Lock Bits */
976+#define __LOCK_BITS_EXIST
977+#define __BOOT_LOCK_BITS_0_EXIST
978+#define __BOOT_LOCK_BITS_1_EXIST
979+
980+
981+/* Signature */
982+#define SIGNATURE_0 0x1E
983+#define SIGNATURE_1 0x94
984+#define SIGNATURE_2 0x8B
985+
986+
987+#endif /* #ifdef _AVR_AT90PWM161_H_INCLUDED */
988+
989diff -urN avr-libc-1.8.0.orig/include/avr/ioa5272.h avr-libc-1.8.0/include/avr/ioa5272.h
990--- avr-libc-1.8.0.orig/include/avr/ioa5272.h 1970-01-01 01:00:00.000000000 +0100
69ed15f0
JR
991+++ avr-libc-1.8.0/include/avr/ioa5272.h 2013-06-12 12:21:34.000000000 +0200
992@@ -0,0 +1,737 @@
9fe267c2
PZ
993+/*****************************************************************************
994+ *
69ed15f0 995+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
996+ * All rights reserved.
997+ *
998+ * Redistribution and use in source and binary forms, with or without
999+ * modification, are permitted provided that the following conditions are met:
1000+ *
1001+ * * Redistributions of source code must retain the above copyright
1002+ * notice, this list of conditions and the following disclaimer.
1003+ *
1004+ * * Redistributions in binary form must reproduce the above copyright
1005+ * notice, this list of conditions and the following disclaimer in
1006+ * the documentation and/or other materials provided with the
1007+ * distribution.
1008+ *
1009+ * * Neither the name of the copyright holders nor the names of
1010+ * contributors may be used to endorse or promote products derived
1011+ * from this software without specific prior written permission.
1012+ *
1013+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1014+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1015+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1016+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1017+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1018+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1019+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1020+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1021+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1022+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1023+ * POSSIBILITY OF SUCH DAMAGE.
1024+ ****************************************************************************/
1025+
1026+
1027+#ifndef _AVR_ATA5272_H_INCLUDED
1028+#define _AVR_ATA5272_H_INCLUDED
1029+
1030+
1031+#ifndef _AVR_IO_H_
1032+# error "Include <avr/io.h> instead of this file."
1033+#endif
1034+
1035+#ifndef _AVR_IOXXX_H_
1036+# define _AVR_IOXXX_H_ "ioa5272.h"
1037+#else
1038+# error "Attempt to include more than one <avr/ioXXX.h> file."
1039+#endif
1040+
1041+/* Registers and associated bit numbers */
1042+
1043+#define PINA _SFR_IO8(0x00)
1044+#define PINA7 7
1045+#define PINA6 6
1046+#define PINA5 5
1047+#define PINA4 4
1048+#define PINA3 3
1049+#define PINA2 2
1050+#define PINA1 1
1051+#define PINA0 0
1052+
1053+#define DDRA _SFR_IO8(0x01)
1054+#define DDRA7 7
1055+#define DDRA6 6
1056+#define DDRA5 5
1057+#define DDRA4 4
1058+#define DDRA3 3
1059+#define DDRA2 2
1060+#define DDRA1 1
1061+#define DDRA0 0
1062+
1063+#define PORTA _SFR_IO8(0x02)
1064+#define PORTA7 7
1065+#define PORTA6 6
1066+#define PORTA5 5
1067+#define PORTA4 4
1068+#define PORTA3 3
1069+#define PORTA2 2
1070+#define PORTA1 1
1071+#define PORTA0 0
1072+
1073+#define PINB _SFR_IO8(0x03)
1074+#define PINB7 7
1075+#define PINB6 6
1076+#define PINB5 5
1077+#define PINB4 4
1078+#define PINB3 3
1079+#define PINB2 2
1080+#define PINB1 1
1081+#define PINB0 0
1082+
1083+#define DDRB _SFR_IO8(0x04)
1084+#define DDRB7 7
1085+#define DDRB6 6
1086+#define DDRB5 5
1087+#define DDRB4 4
1088+#define DDRB3 3
1089+#define DDRB2 2
1090+#define DDRB1 1
1091+#define DDRB0 0
1092+
1093+#define PORTB _SFR_IO8(0x05)
1094+#define PORTB7 7
1095+#define PORTB6 6
1096+#define PORTB5 5
1097+#define PORTB4 4
1098+#define PORTB3 3
1099+#define PORTB2 2
1100+#define PORTB1 1
1101+#define PORTB0 0
1102+
1103+/* Reserved [0x06..0x11] */
1104+
1105+#define PORTCR _SFR_IO8(0x12)
1106+
1107+/* Reserved [0x13..0x14] */
1108+
1109+#define TIFR0 _SFR_IO8(0x15)
1110+#define TOV0 0
1111+#define OCF0A 1
1112+
1113+#define TIFR1 _SFR_IO8(0x16)
1114+#define TOV1 0
1115+#define OCF1A 1
1116+#define OCF1B 2
1117+#define ICF1 5
1118+
1119+/* Reserved [0x17..0x1A] */
1120+
1121+#define PCIFR _SFR_IO8(0x1B)
1122+#define PCIF0 0
1123+#define PCIF1 1
1124+
1125+#define EIFR _SFR_IO8(0x1C)
1126+#define INTF0 0
1127+#define INTF1 1
1128+
1129+#define EIMSK _SFR_IO8(0x1D)
1130+#define INT0 0
1131+#define INT1 1
1132+
1133+#define GPIOR0 _SFR_IO8(0x1E)
1134+
1135+#define EECR _SFR_IO8(0x1F)
1136+#define EERE 0
1137+#define EEPE 1
1138+#define EEMPE 2
1139+#define EERIE 3
1140+#define EEPM0 4
1141+#define EEPM1 5
1142+
1143+#define EEDR _SFR_IO8(0x20)
1144+
1145+/* Combine EEARL and EEARH */
1146+#define EEAR _SFR_IO16(0x21)
1147+
1148+#define EEARL _SFR_IO8(0x21)
1149+#define EEARH _SFR_IO8(0x22)
1150+
1151+#define GTCCR _SFR_IO8(0x23)
1152+#define PSR1 0
1153+#define PSR0 1
1154+#define TSM 7
1155+
1156+/* Reserved [0x24] */
1157+
1158+#define TCCR0A _SFR_IO8(0x25)
1159+#define WGM00 0
1160+#define WGM01 1
1161+#define COM0A0 6
1162+#define COM0A1 7
1163+
1164+#define TCCR0B _SFR_IO8(0x26)
1165+#define CS00 0
1166+#define CS01 1
1167+#define CS02 2
1168+#define FOC0A 7
1169+
1170+#define TCNT2 _SFR_IO8(0x27)
1171+
1172+#define OCR0A _SFR_IO8(0x28)
1173+
1174+/* Reserved [0x29] */
1175+
1176+#define GPIOR1 _SFR_IO8(0x2A)
1177+
1178+#define GPIOR2 _SFR_IO8(0x2B)
1179+
1180+#define SPCR _SFR_IO8(0x2C)
1181+#define SPR0 0
1182+#define SPR1 1
1183+#define CPHA 2
1184+#define CPOL 3
1185+#define MSTR 4
1186+#define DORD 5
1187+#define SPE 6
1188+#define SPIE 7
1189+
1190+#define SPSR _SFR_IO8(0x2D)
1191+#define SPI2X 0
1192+#define WCOL 6
1193+#define SPIF 7
1194+
1195+#define SPDR _SFR_IO8(0x2E)
1196+
1197+/* Reserved [0x2F] */
1198+
1199+#define ACSR _SFR_IO8(0x30)
1200+#define ACIS0 0
1201+#define ACIS1 1
1202+#define ACIC 2
1203+#define ACIE 3
1204+#define ACI 4
1205+#define ACO 5
1206+#define ACIRS 6
1207+#define ACD 7
1208+
1209+#define DWDR _SFR_IO8(0x31)
1210+
1211+/* Reserved [0x32] */
1212+
69ed15f0 1213+#define SMCR _SFR_IO8(0x33)
9fe267c2
PZ
1214+#define SE 0
1215+#define SM0 1
1216+#define SM1 2
69ed15f0
JR
1217+
1218+#define MCUSR _SFR_IO8(0x34)
9fe267c2
PZ
1219+#define PORF 0
1220+#define EXTRF 1
1221+#define BORF 2
1222+#define WDRF 3
1223+
9fe267c2
PZ
1224+#define MCUCR _SFR_IO8(0x35)
1225+#define PUD 4
1226+#define BODS 5
1227+#define BODSE 6
1228+
1229+/* Reserved [0x36] */
1230+
1231+#define SPMCSR _SFR_IO8(0x37)
1232+#define SPMEN 0
1233+#define PGERS 1
1234+#define PGWRT 2
1235+#define RFLB 3
1236+#define CTPB 4
1237+#define SIGRD 5
1238+#define RWWSB 6
1239+
1240+/* Reserved [0x38..0x3C] */
1241+
1242+/* SP [0x3D..0x3E] */
1243+
1244+/* SREG [0x3F] */
1245+
1246+#define WDTCR _SFR_MEM8(0x60)
1247+#define WDE 3
1248+#define WDCE 4
1249+#define WDP0 0
1250+#define WDP1 1
1251+#define WDP2 2
1252+#define WDP3 5
1253+#define WDIE 6
1254+#define WDIF 7
1255+
1256+#define CLKPR _SFR_MEM8(0x61)
1257+#define CLKPS0 0
1258+#define CLKPS1 1
1259+#define CLKPS2 2
1260+#define CLKPS3 3
1261+#define CLKPCE 7
1262+
1263+#define CLKCSR _SFR_MEM8(0x62)
1264+#define CLKC0 0
1265+#define CLKC1 1
1266+#define CLKC2 2
1267+#define CLKC3 3
1268+#define CLKRDY 4
1269+#define CLKCCE 7
1270+
1271+#define CLKSELR _SFR_MEM8(0x63)
1272+#define CSEL0 0
1273+#define CSEL1 1
1274+#define CSEL2 2
1275+#define CSEL3 3
1276+#define CSUT0 4
1277+#define CSUT1 5
1278+#define COUT 6
1279+
1280+#define PRR _SFR_MEM8(0x64)
1281+#define PRADC 0
1282+#define PRUSI 1
1283+#define PRTIM0 2
1284+#define PRTIM1 3
1285+#define PRSPI 4
1286+#define PRLIN 5
1287+
1288+/* Reserved [0x65] */
1289+
1290+#define OSCCAL _SFR_MEM8(0x66)
1291+
1292+/* Reserved [0x67] */
1293+
1294+#define PCICR _SFR_MEM8(0x68)
1295+#define PCIE0 0
1296+#define PCIE1 1
1297+
1298+#define EICRA _SFR_MEM8(0x69)
1299+#define ISC00 0
1300+#define ISC01 1
1301+#define ISC10 2
1302+#define ISC11 3
1303+
1304+/* Reserved [0x6A] */
1305+
1306+#define PCMSK0 _SFR_MEM8(0x6B)
1307+#define PCINT0 0
1308+#define PCINT1 1
1309+#define PCINT2 2
1310+#define PCINT3 3
1311+#define PCINT4 4
1312+#define PCINT5 5
1313+#define PCINT6 6
1314+#define PCINT7 7
1315+
1316+#define PCMSK1 _SFR_MEM8(0x6C)
1317+#define PCINT8 0
1318+#define PCINT9 1
1319+#define PCINT10 2
1320+#define PCINT11 3
1321+#define PCINT12 4
1322+#define PCINT13 5
1323+#define PCINT14 6
1324+#define PCINT15 7
1325+
1326+/* Reserved [0x6D] */
1327+
1328+#define TIMSK0 _SFR_MEM8(0x6E)
1329+#define TOIE0 0
1330+#define OCIE0A 1
1331+
1332+#define TIMSK1 _SFR_MEM8(0x6F)
1333+#define TOIE1 0
1334+#define OCIE1A 1
1335+#define OCIE1B 2
1336+#define ICIE1 5
1337+
1338+/* Reserved [0x70..0x76] */
1339+
1340+#define AMISCR _SFR_MEM8(0x77)
1341+#define XREFEN 1
1342+#define AREFEN 2
1343+#define ISRCEN 0
1344+
1345+/* Combine ADCL and ADCH */
1346+#ifndef __ASSEMBLER__
1347+#define ADC _SFR_MEM16(0x78)
1348+#endif
1349+#define ADCW _SFR_MEM16(0x78)
1350+
1351+#define ADCL _SFR_MEM8(0x78)
1352+#define ADCH _SFR_MEM8(0x79)
1353+
1354+#define ADCSRA _SFR_MEM8(0x7A)
1355+#define ADPS0 0
1356+#define ADPS1 1
1357+#define ADPS2 2
1358+#define ADIE 3
1359+#define ADIF 4
1360+#define ADATE 5
1361+#define ADSC 6
1362+#define ADEN 7
1363+
1364+#define ADCSRB _SFR_MEM8(0x7B)
1365+#define ADTS0 0
1366+#define ADTS1 1
1367+#define ADTS2 2
1368+#define BIN 7
1369+#define ACIR0 4
1370+#define ACIR1 5
1371+#define ACME 6
1372+
1373+#define ADMUX _SFR_MEM8(0x7C)
1374+#define MUX0 0
1375+#define MUX1 1
1376+#define MUX2 2
1377+#define MUX3 3
1378+#define MUX4 4
1379+#define ADLAR 5
1380+#define REFS0 6
1381+#define REFS1 7
1382+
1383+/* Reserved [0x7D] */
1384+
1385+#define DIDR0 _SFR_MEM8(0x7E)
1386+#define ADC0D 0
1387+#define ADC1D 1
1388+#define ADC2D 2
1389+#define ADC3D 3
1390+#define ADC4D 4
1391+#define ADC5D 5
1392+#define ADC6D 6
1393+#define ADC7D 7
1394+
1395+#define DIDR1 _SFR_MEM8(0x7F)
1396+#define ADC8D 0
1397+#define ADC9D 1
1398+#define ADC10D 2
1399+
1400+#define TCCR1A _SFR_MEM8(0x80)
1401+#define WGM10 0
1402+#define WGM11 1
1403+#define COM1B0 4
1404+#define COM1B1 5
1405+#define COM1A0 6
1406+#define COM1A1 7
1407+
1408+#define TCCR1B _SFR_MEM8(0x81)
1409+#define CS10 0
1410+#define CS11 1
1411+#define CS12 2
1412+#define WGM12 3
1413+#define WGM13 4
1414+#define ICES1 6
1415+#define ICNC1 7
1416+
1417+#define TCCR1C _SFR_MEM8(0x82)
1418+#define FOC1B 6
1419+#define FOC1A 7
1420+
1421+#define TCCR1D _SFR_MEM8(0x83)
1422+#define OC1AU 0
1423+#define OC1AV 1
1424+#define OC1AW 2
1425+#define OC1AX 3
1426+#define OC1BU 4
1427+#define OC1BV 5
1428+#define OC1BW 6
1429+#define OC1BX 7
1430+
1431+/* Combine TCNT1L and TCNT1H */
1432+#define TCNT1 _SFR_MEM16(0x84)
1433+
1434+#define TCNT1L _SFR_MEM8(0x84)
1435+#define TCNT1H _SFR_MEM8(0x85)
1436+
1437+/* Combine ICR1L and ICR1H */
1438+#define ICR1 _SFR_MEM16(0x86)
1439+
1440+#define ICR1L _SFR_MEM8(0x86)
1441+#define ICR1H _SFR_MEM8(0x87)
1442+
1443+/* Combine OCR1AL and OCR1AH */
1444+#define OCR1A _SFR_MEM16(0x88)
1445+
1446+#define OCR1AL _SFR_MEM8(0x88)
1447+#define OCR1AH _SFR_MEM8(0x89)
1448+
1449+/* Combine OCR1BL and OCR1BH */
1450+#define OCR1B _SFR_MEM16(0x8A)
1451+
1452+#define OCR1BL _SFR_MEM8(0x8A)
1453+#define OCR1BH _SFR_MEM8(0x8B)
1454+
1455+/* Reserved [0x8C..0xB5] */
1456+
1457+#define ASSR _SFR_MEM8(0xB6)
1458+#define TCR0BUB 0
1459+#define TCR0AUB 1
1460+#define OCR0AUB 3
1461+#define TCN0UB 4
1462+#define AS0 5
1463+#define EXCLK 6
1464+
1465+/* Reserved [0xB7] */
1466+
1467+#define USICR _SFR_MEM8(0xB8)
1468+#define USITC 0
1469+#define USICLK 1
1470+#define USICS0 2
1471+#define USICS1 3
1472+#define USIWM0 4
1473+#define USIWM1 5
1474+#define USIOIE 6
1475+#define USISIE 7
1476+
1477+#define USISR _SFR_MEM8(0xB9)
1478+#define USICNT0 0
1479+#define USICNT1 1
1480+#define USICNT2 2
1481+#define USICNT3 3
1482+#define USIDC 4
1483+#define USIPF 5
1484+#define USIOIF 6
1485+#define USISIF 7
1486+
1487+#define USIDR _SFR_MEM8(0xBA)
1488+
1489+#define USIBR _SFR_MEM8(0xBB)
1490+
1491+#define USIPP _SFR_MEM8(0xBC)
1492+
1493+/* Reserved [0xBD..0xC7] */
1494+
1495+#define LINCR _SFR_MEM8(0xC8)
1496+#define LCMD0 0
1497+#define LCMD1 1
1498+#define LCMD2 2
1499+#define LENA 3
1500+#define LCONF0 4
1501+#define LCONF1 5
1502+#define LIN13 6
1503+#define LSWRES 7
1504+
1505+#define LINSIR _SFR_MEM8(0xC9)
1506+#define LRXOK 0
1507+#define LTXOK 1
1508+#define LIDOK 2
1509+#define LERR 3
1510+#define LBUSY 4
1511+#define LIDST0 5
1512+#define LIDST1 6
1513+#define LIDST2 7
1514+
1515+#define LINENIR _SFR_MEM8(0xCA)
1516+#define LENRXOK 0
1517+#define LENTXOK 1
1518+#define LENIDOK 2
1519+#define LENERR 3
1520+
1521+#define LINERR _SFR_MEM8(0xCB)
1522+#define LBERR 0
1523+#define LCERR 1
1524+#define LPERR 2
1525+#define LSERR 3
1526+#define LFERR 4
1527+#define LOVERR 5
1528+#define LTOERR 6
1529+#define LABORT 7
1530+
1531+#define LINBTR _SFR_MEM8(0xCC)
1532+#define LBT0 0
1533+#define LBT1 1
1534+#define LBT2 2
1535+#define LBT3 3
1536+#define LBT4 4
1537+#define LBT5 5
1538+#define LDISR 7
1539+
1540+#define LINBRRL _SFR_MEM8(0xCD)
1541+#define LDIV0 0
1542+#define LDIV1 1
1543+#define LDIV2 2
1544+#define LDIV3 3
1545+#define LDIV4 4
1546+#define LDIV5 5
1547+#define LDIV6 6
1548+#define LDIV7 7
1549+
1550+#define LINBRRH _SFR_MEM8(0xCE)
1551+#define LDIV8 0
1552+#define LDIV9 1
1553+#define LDIV10 2
1554+#define LDIV11 3
1555+
1556+#define LINDLR _SFR_MEM8(0xCF)
1557+#define LRXDL0 0
1558+#define LRXDL1 1
1559+#define LRXDL2 2
1560+#define LRXDL3 3
1561+#define LTXDL0 4
1562+#define LTXDL1 5
1563+#define LTXDL2 6
1564+#define LTXDL3 7
1565+
1566+#define LINIDR _SFR_MEM8(0xD0)
1567+#define LID0 0
1568+#define LID1 1
1569+#define LID2 2
1570+#define LID3 3
1571+#define LID4 4
1572+#define LID5 5
1573+#define LP0 6
1574+#define LP1 7
1575+
1576+#define LINSEL _SFR_MEM8(0xD1)
1577+#define LINDX0 0
1578+#define LINDX1 1
1579+#define LINDX2 2
1580+#define LAINC 3
1581+
1582+#define LINDAT _SFR_MEM8(0xD2)
1583+#define LDATA0 0
1584+#define LDATA1 1
1585+#define LDATA2 2
1586+#define LDATA3 3
1587+#define LDATA4 4
1588+#define LDATA5 5
1589+#define LDATA6 6
1590+#define LDATA7 7
1591+
1592+
1593+
1594+/* Interrupt vectors */
1595+/* Vector 0 is the reset vector */
1596+/* External Interrupt Request 0 */
1597+#define INT0_vect _VECTOR(1)
1598+#define INT0_vect_num 1
1599+
1600+/* External Interrupt Request 1 */
1601+#define INT1_vect _VECTOR(2)
1602+#define INT1_vect_num 2
1603+
1604+/* Pin Change Interrupt Request 0 */
1605+#define PCINT0_vect _VECTOR(3)
1606+#define PCINT0_vect_num 3
1607+
1608+/* Pin Change Interrupt Request 1 */
1609+#define PCINT1_vect _VECTOR(4)
1610+#define PCINT1_vect_num 4
1611+
1612+/* Watchdog Time-Out Interrupt */
1613+#define WDT_vect _VECTOR(5)
1614+#define WDT_vect_num 5
1615+
1616+/* Timer/Counter1 Capture Event */
1617+#define TIMER1_CAPT_vect _VECTOR(6)
1618+#define TIMER1_CAPT_vect_num 6
1619+
1620+/* Timer/Counter1 Compare Match 1A */
1621+#define TIMER1_COMPA_vect _VECTOR(7)
1622+#define TIMER1_COMPA_vect_num 7
1623+
1624+/* Timer/Counter1 Compare Match 1B */
1625+#define TIMER1_COMPB_vect _VECTOR(8)
1626+#define TIMER1_COMPB_vect_num 8
1627+
1628+/* Timer/Counter1 Overflow */
1629+#define TIMER1_OVF_vect _VECTOR(9)
1630+#define TIMER1_OVF_vect_num 9
1631+
1632+/* Timer/Counter0 Compare Match 0A */
1633+#define TIMER0_COMPA_vect _VECTOR(10)
1634+#define TIMER0_COMPA_vect_num 10
1635+
1636+/* Timer/Counter0 Overflow */
1637+#define TIMER0_OVF_vect _VECTOR(11)
1638+#define TIMER0_OVF_vect_num 11
1639+
1640+/* LIN Transfer Complete */
1641+#define LIN_TC_vect _VECTOR(12)
1642+#define LIN_TC_vect_num 12
1643+
1644+/* LIN Error */
1645+#define LIN_ERR_vect _VECTOR(13)
1646+#define LIN_ERR_vect_num 13
1647+
1648+/* SPI Serial Transfer Complete */
1649+#define SPI_STC_vect _VECTOR(14)
1650+#define SPI_STC_vect_num 14
1651+
1652+/* ADC Conversion Complete */
1653+#define ADC_vect _VECTOR(15)
1654+#define ADC_vect_num 15
1655+
1656+/* EEPROM Ready */
1657+#define EE_RDY_vect _VECTOR(16)
1658+#define EE_RDY_vect_num 16
1659+
1660+/* Analog Comparator */
1661+#define ANA_COMP_vect _VECTOR(34)
1662+#define ANA_COMP_vect_num 34
1663+
1664+/* USI Start */
1665+#define USI_START_vect _VECTOR(36)
1666+#define USI_START_vect_num 36
1667+
1668+/* USI Overflow */
1669+#define USI_OVF_vect _VECTOR(19)
1670+#define USI_OVF_vect_num 19
1671+
1672+#define _VECTORS_SIZE 40
1673+
1674+
1675+/* Constants */
1676+
1677+#define SPM_PAGESIZE 128
69ed15f0 1678+#define FLASHSTART 0x0000
9fe267c2
PZ
1679+#define FLASHEND 0x1FFF
1680+#define RAMSTART 0x0100
1681+#define RAMSIZE 512
1682+#define RAMEND 0x02FF
1683+#define E2START 0
1684+#define E2SIZE 512
1685+#define E2PAGESIZE 4
1686+#define E2END 0x01FF
1687+#define XRAMEND RAMEND
1688+
1689+
1690+/* Fuses */
1691+
1692+#define FUSE_MEMORY_SIZE 3
1693+
1694+/* Low Fuse Byte */
1695+#define FUSE_SUT_CKSEL0 (unsigned char)~_BV(0)
1696+#define FUSE_SUT_CKSEL1 (unsigned char)~_BV(1)
1697+#define FUSE_SUT_CKSEL2 (unsigned char)~_BV(2)
1698+#define FUSE_SUT_CKSEL3 (unsigned char)~_BV(3)
1699+#define FUSE_SUT_CKSEL4 (unsigned char)~_BV(4)
1700+#define FUSE_SUT_CKSEL5 (unsigned char)~_BV(5)
1701+#define FUSE_CKOUT (unsigned char)~_BV(6)
1702+#define FUSE_CKDIV8 (unsigned char)~_BV(7)
1703+
1704+/* High Fuse Byte */
1705+#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
1706+#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
1707+#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
1708+#define FUSE_EESAVE (unsigned char)~_BV(3)
1709+#define FUSE_WDTON (unsigned char)~_BV(4)
1710+#define FUSE_SPIEN (unsigned char)~_BV(5)
1711+#define FUSE_DWEN (unsigned char)~_BV(6)
1712+#define FUSE_RSTDISBL (unsigned char)~_BV(7)
1713+
1714+/* Extended Fuse Byte */
1715+#define FUSE_SELFPRGEN (unsigned char)~_BV(0)
1716+
1717+
1718+/* Lock Bits */
1719+#define __LOCK_BITS_EXIST
1720+
1721+
1722+/* Signature */
1723+#define SIGNATURE_0 0x1E
1724+#define SIGNATURE_1 0x93
1725+#define SIGNATURE_2 0x87
1726+
1727+
1728+#endif /* #ifdef _AVR_ATA5272_H_INCLUDED */
1729+
1730diff -urN avr-libc-1.8.0.orig/include/avr/ioa5505.h avr-libc-1.8.0/include/avr/ioa5505.h
1731--- avr-libc-1.8.0.orig/include/avr/ioa5505.h 1970-01-01 01:00:00.000000000 +0100
69ed15f0
JR
1732+++ avr-libc-1.8.0/include/avr/ioa5505.h 2013-06-12 12:21:34.000000000 +0200
1733@@ -0,0 +1,737 @@
9fe267c2
PZ
1734+/*****************************************************************************
1735+ *
69ed15f0 1736+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
1737+ * All rights reserved.
1738+ *
1739+ * Redistribution and use in source and binary forms, with or without
1740+ * modification, are permitted provided that the following conditions are met:
1741+ *
1742+ * * Redistributions of source code must retain the above copyright
1743+ * notice, this list of conditions and the following disclaimer.
1744+ *
1745+ * * Redistributions in binary form must reproduce the above copyright
1746+ * notice, this list of conditions and the following disclaimer in
1747+ * the documentation and/or other materials provided with the
1748+ * distribution.
1749+ *
1750+ * * Neither the name of the copyright holders nor the names of
1751+ * contributors may be used to endorse or promote products derived
1752+ * from this software without specific prior written permission.
1753+ *
1754+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1755+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1756+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1757+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1758+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1759+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1760+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1761+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1762+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1763+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1764+ * POSSIBILITY OF SUCH DAMAGE.
1765+ ****************************************************************************/
1766+
1767+
1768+#ifndef _AVR_ATA5505_H_INCLUDED
1769+#define _AVR_ATA5505_H_INCLUDED
1770+
1771+
1772+#ifndef _AVR_IO_H_
1773+# error "Include <avr/io.h> instead of this file."
1774+#endif
1775+
1776+#ifndef _AVR_IOXXX_H_
1777+# define _AVR_IOXXX_H_ "ioa5505.h"
1778+#else
1779+# error "Attempt to include more than one <avr/ioXXX.h> file."
1780+#endif
1781+
1782+/* Registers and associated bit numbers */
1783+
1784+#define PINA _SFR_IO8(0x00)
1785+#define PINA7 7
1786+#define PINA6 6
1787+#define PINA5 5
1788+#define PINA4 4
1789+#define PINA3 3
1790+#define PINA2 2
1791+#define PINA1 1
1792+#define PINA0 0
1793+
1794+#define DDRA _SFR_IO8(0x01)
1795+#define DDRA7 7
1796+#define DDRA6 6
1797+#define DDRA5 5
1798+#define DDRA4 4
1799+#define DDRA3 3
1800+#define DDRA2 2
1801+#define DDRA1 1
1802+#define DDRA0 0
1803+
1804+#define PORTA _SFR_IO8(0x02)
1805+#define PORTA7 7
1806+#define PORTA6 6
1807+#define PORTA5 5
1808+#define PORTA4 4
1809+#define PORTA3 3
1810+#define PORTA2 2
1811+#define PORTA1 1
1812+#define PORTA0 0
1813+
1814+#define PINB _SFR_IO8(0x03)
1815+#define PINB7 7
1816+#define PINB6 6
1817+#define PINB5 5
1818+#define PINB4 4
1819+#define PINB3 3
1820+#define PINB2 2
1821+#define PINB1 1
1822+#define PINB0 0
1823+
1824+#define DDRB _SFR_IO8(0x04)
1825+#define DDRB7 7
1826+#define DDRB6 6
1827+#define DDRB5 5
1828+#define DDRB4 4
1829+#define DDRB3 3
1830+#define DDRB2 2
1831+#define DDRB1 1
1832+#define DDRB0 0
1833+
1834+#define PORTB _SFR_IO8(0x05)
1835+#define PORTB7 7
1836+#define PORTB6 6
1837+#define PORTB5 5
1838+#define PORTB4 4
1839+#define PORTB3 3
1840+#define PORTB2 2
1841+#define PORTB1 1
1842+#define PORTB0 0
1843+
1844+/* Reserved [0x06..0x11] */
1845+
1846+#define PORTCR _SFR_IO8(0x12)
1847+
1848+/* Reserved [0x13..0x14] */
1849+
1850+#define TIFR0 _SFR_IO8(0x15)
1851+#define TOV0 0
1852+#define OCF0A 1
1853+
1854+#define TIFR1 _SFR_IO8(0x16)
1855+#define TOV1 0
1856+#define OCF1A 1
1857+#define OCF1B 2
1858+#define ICF1 5
1859+
1860+/* Reserved [0x17..0x1A] */
1861+
1862+#define PCIFR _SFR_IO8(0x1B)
1863+#define PCIF0 0
1864+#define PCIF1 1
1865+
1866+#define EIFR _SFR_IO8(0x1C)
1867+#define INTF0 0
1868+#define INTF1 1
1869+
1870+#define EIMSK _SFR_IO8(0x1D)
1871+#define INT0 0
1872+#define INT1 1
1873+
1874+#define GPIOR0 _SFR_IO8(0x1E)
1875+
1876+#define EECR _SFR_IO8(0x1F)
1877+#define EERE 0
1878+#define EEPE 1
1879+#define EEMPE 2
1880+#define EERIE 3
1881+#define EEPM0 4
1882+#define EEPM1 5
1883+
1884+#define EEDR _SFR_IO8(0x20)
1885+
1886+/* Combine EEARL and EEARH */
1887+#define EEAR _SFR_IO16(0x21)
1888+
1889+#define EEARL _SFR_IO8(0x21)
1890+#define EEARH _SFR_IO8(0x22)
1891+
1892+#define GTCCR _SFR_IO8(0x23)
1893+#define PSR1 0
1894+#define PSR0 1
1895+#define TSM 7
1896+
1897+/* Reserved [0x24] */
1898+
1899+#define TCCR0A _SFR_IO8(0x25)
1900+#define WGM00 0
1901+#define WGM01 1
1902+#define COM0A0 6
1903+#define COM0A1 7
1904+
1905+#define TCCR0B _SFR_IO8(0x26)
1906+#define CS00 0
1907+#define CS01 1
1908+#define CS02 2
1909+#define FOC0A 7
1910+
1911+#define TCNT2 _SFR_IO8(0x27)
1912+
1913+#define OCR0A _SFR_IO8(0x28)
1914+
1915+/* Reserved [0x29] */
1916+
1917+#define GPIOR1 _SFR_IO8(0x2A)
1918+
1919+#define GPIOR2 _SFR_IO8(0x2B)
1920+
1921+#define SPCR _SFR_IO8(0x2C)
1922+#define SPR0 0
1923+#define SPR1 1
1924+#define CPHA 2
1925+#define CPOL 3
1926+#define MSTR 4
1927+#define DORD 5
1928+#define SPE 6
1929+#define SPIE 7
1930+
1931+#define SPSR _SFR_IO8(0x2D)
1932+#define SPI2X 0
1933+#define WCOL 6
1934+#define SPIF 7
1935+
1936+#define SPDR _SFR_IO8(0x2E)
1937+
1938+/* Reserved [0x2F] */
1939+
1940+#define ACSR _SFR_IO8(0x30)
1941+#define ACIS0 0
1942+#define ACIS1 1
1943+#define ACIC 2
1944+#define ACIE 3
1945+#define ACI 4
1946+#define ACO 5
1947+#define ACIRS 6
1948+#define ACD 7
1949+
1950+#define DWDR _SFR_IO8(0x31)
1951+
1952+/* Reserved [0x32] */
1953+
69ed15f0 1954+#define SMCR _SFR_IO8(0x33)
9fe267c2
PZ
1955+#define SE 0
1956+#define SM0 1
1957+#define SM1 2
69ed15f0
JR
1958+
1959+#define MCUSR _SFR_IO8(0x34)
9fe267c2
PZ
1960+#define PORF 0
1961+#define EXTRF 1
1962+#define BORF 2
1963+#define WDRF 3
1964+
9fe267c2
PZ
1965+#define MCUCR _SFR_IO8(0x35)
1966+#define PUD 4
1967+#define BODS 5
1968+#define BODSE 6
1969+
1970+/* Reserved [0x36] */
1971+
1972+#define SPMCSR _SFR_IO8(0x37)
1973+#define SPMEN 0
1974+#define PGERS 1
1975+#define PGWRT 2
1976+#define RFLB 3
1977+#define CTPB 4
1978+#define SIGRD 5
1979+#define RWWSB 6
1980+
1981+/* Reserved [0x38..0x3C] */
1982+
1983+/* SP [0x3D..0x3E] */
1984+
1985+/* SREG [0x3F] */
1986+
1987+#define WDTCR _SFR_MEM8(0x60)
1988+#define WDE 3
1989+#define WDCE 4
1990+#define WDP0 0
1991+#define WDP1 1
1992+#define WDP2 2
1993+#define WDP3 5
1994+#define WDIE 6
1995+#define WDIF 7
1996+
1997+#define CLKPR _SFR_MEM8(0x61)
1998+#define CLKPS0 0
1999+#define CLKPS1 1
2000+#define CLKPS2 2
2001+#define CLKPS3 3
2002+#define CLKPCE 7
2003+
2004+#define CLKCSR _SFR_MEM8(0x62)
2005+#define CLKC0 0
2006+#define CLKC1 1
2007+#define CLKC2 2
2008+#define CLKC3 3
2009+#define CLKRDY 4
2010+#define CLKCCE 7
2011+
2012+#define CLKSELR _SFR_MEM8(0x63)
2013+#define CSEL0 0
2014+#define CSEL1 1
2015+#define CSEL2 2
2016+#define CSEL3 3
2017+#define CSUT0 4
2018+#define CSUT1 5
2019+#define COUT 6
2020+
2021+#define PRR _SFR_MEM8(0x64)
2022+#define PRADC 0
2023+#define PRUSI 1
2024+#define PRTIM0 2
2025+#define PRTIM1 3
2026+#define PRSPI 4
2027+#define PRLIN 5
2028+
2029+/* Reserved [0x65] */
2030+
2031+#define OSCCAL _SFR_MEM8(0x66)
2032+
2033+/* Reserved [0x67] */
2034+
2035+#define PCICR _SFR_MEM8(0x68)
2036+#define PCIE0 0
2037+#define PCIE1 1
2038+
2039+#define EICRA _SFR_MEM8(0x69)
2040+#define ISC00 0
2041+#define ISC01 1
2042+#define ISC10 2
2043+#define ISC11 3
2044+
2045+/* Reserved [0x6A] */
2046+
2047+#define PCMSK0 _SFR_MEM8(0x6B)
2048+#define PCINT0 0
2049+#define PCINT1 1
2050+#define PCINT2 2
2051+#define PCINT3 3
2052+#define PCINT4 4
2053+#define PCINT5 5
2054+#define PCINT6 6
2055+#define PCINT7 7
2056+
2057+#define PCMSK1 _SFR_MEM8(0x6C)
2058+#define PCINT8 0
2059+#define PCINT9 1
2060+#define PCINT10 2
2061+#define PCINT11 3
2062+#define PCINT12 4
2063+#define PCINT13 5
2064+#define PCINT14 6
2065+#define PCINT15 7
2066+
2067+/* Reserved [0x6D] */
2068+
2069+#define TIMSK0 _SFR_MEM8(0x6E)
2070+#define TOIE0 0
2071+#define OCIE0A 1
2072+
2073+#define TIMSK1 _SFR_MEM8(0x6F)
2074+#define TOIE1 0
2075+#define OCIE1A 1
2076+#define OCIE1B 2
2077+#define ICIE1 5
2078+
2079+/* Reserved [0x70..0x76] */
2080+
2081+#define AMISCR _SFR_MEM8(0x77)
2082+#define XREFEN 1
2083+#define AREFEN 2
2084+#define ISRCEN 0
2085+
2086+/* Combine ADCL and ADCH */
2087+#ifndef __ASSEMBLER__
2088+#define ADC _SFR_MEM16(0x78)
2089+#endif
2090+#define ADCW _SFR_MEM16(0x78)
2091+
2092+#define ADCL _SFR_MEM8(0x78)
2093+#define ADCH _SFR_MEM8(0x79)
2094+
2095+#define ADCSRA _SFR_MEM8(0x7A)
2096+#define ADPS0 0
2097+#define ADPS1 1
2098+#define ADPS2 2
2099+#define ADIE 3
2100+#define ADIF 4
2101+#define ADATE 5
2102+#define ADSC 6
2103+#define ADEN 7
2104+
2105+#define ADCSRB _SFR_MEM8(0x7B)
2106+#define ADTS0 0
2107+#define ADTS1 1
2108+#define ADTS2 2
2109+#define BIN 7
2110+#define ACIR0 4
2111+#define ACIR1 5
2112+#define ACME 6
2113+
2114+#define ADMUX _SFR_MEM8(0x7C)
2115+#define MUX0 0
2116+#define MUX1 1
2117+#define MUX2 2
2118+#define MUX3 3
2119+#define MUX4 4
2120+#define ADLAR 5
2121+#define REFS0 6
2122+#define REFS1 7
2123+
2124+/* Reserved [0x7D] */
2125+
2126+#define DIDR0 _SFR_MEM8(0x7E)
2127+#define ADC0D 0
2128+#define ADC1D 1
2129+#define ADC2D 2
2130+#define ADC3D 3
2131+#define ADC4D 4
2132+#define ADC5D 5
2133+#define ADC6D 6
2134+#define ADC7D 7
2135+
2136+#define DIDR1 _SFR_MEM8(0x7F)
2137+#define ADC8D 0
2138+#define ADC9D 1
2139+#define ADC10D 2
2140+
2141+#define TCCR1A _SFR_MEM8(0x80)
2142+#define WGM10 0
2143+#define WGM11 1
2144+#define COM1B0 4
2145+#define COM1B1 5
2146+#define COM1A0 6
2147+#define COM1A1 7
2148+
2149+#define TCCR1B _SFR_MEM8(0x81)
2150+#define CS10 0
2151+#define CS11 1
2152+#define CS12 2
2153+#define WGM12 3
2154+#define WGM13 4
2155+#define ICES1 6
2156+#define ICNC1 7
2157+
2158+#define TCCR1C _SFR_MEM8(0x82)
2159+#define FOC1B 6
2160+#define FOC1A 7
2161+
2162+#define TCCR1D _SFR_MEM8(0x83)
2163+#define OC1AU 0
2164+#define OC1AV 1
2165+#define OC1AW 2
2166+#define OC1AX 3
2167+#define OC1BU 4
2168+#define OC1BV 5
2169+#define OC1BW 6
2170+#define OC1BX 7
2171+
2172+/* Combine TCNT1L and TCNT1H */
2173+#define TCNT1 _SFR_MEM16(0x84)
2174+
2175+#define TCNT1L _SFR_MEM8(0x84)
2176+#define TCNT1H _SFR_MEM8(0x85)
2177+
2178+/* Combine ICR1L and ICR1H */
2179+#define ICR1 _SFR_MEM16(0x86)
2180+
2181+#define ICR1L _SFR_MEM8(0x86)
2182+#define ICR1H _SFR_MEM8(0x87)
2183+
2184+/* Combine OCR1AL and OCR1AH */
2185+#define OCR1A _SFR_MEM16(0x88)
2186+
2187+#define OCR1AL _SFR_MEM8(0x88)
2188+#define OCR1AH _SFR_MEM8(0x89)
2189+
2190+/* Combine OCR1BL and OCR1BH */
2191+#define OCR1B _SFR_MEM16(0x8A)
2192+
2193+#define OCR1BL _SFR_MEM8(0x8A)
2194+#define OCR1BH _SFR_MEM8(0x8B)
2195+
2196+/* Reserved [0x8C..0xB5] */
2197+
2198+#define ASSR _SFR_MEM8(0xB6)
2199+#define TCR0BUB 0
2200+#define TCR0AUB 1
2201+#define OCR0AUB 3
2202+#define TCN0UB 4
2203+#define AS0 5
2204+#define EXCLK 6
2205+
2206+/* Reserved [0xB7] */
2207+
2208+#define USICR _SFR_MEM8(0xB8)
2209+#define USITC 0
2210+#define USICLK 1
2211+#define USICS0 2
2212+#define USICS1 3
2213+#define USIWM0 4
2214+#define USIWM1 5
2215+#define USIOIE 6
2216+#define USISIE 7
2217+
2218+#define USISR _SFR_MEM8(0xB9)
2219+#define USICNT0 0
2220+#define USICNT1 1
2221+#define USICNT2 2
2222+#define USICNT3 3
2223+#define USIDC 4
2224+#define USIPF 5
2225+#define USIOIF 6
2226+#define USISIF 7
2227+
2228+#define USIDR _SFR_MEM8(0xBA)
2229+
2230+#define USIBR _SFR_MEM8(0xBB)
2231+
2232+#define USIPP _SFR_MEM8(0xBC)
2233+
2234+/* Reserved [0xBD..0xC7] */
2235+
2236+#define LINCR _SFR_MEM8(0xC8)
2237+#define LCMD0 0
2238+#define LCMD1 1
2239+#define LCMD2 2
2240+#define LENA 3
2241+#define LCONF0 4
2242+#define LCONF1 5
2243+#define LIN13 6
2244+#define LSWRES 7
2245+
2246+#define LINSIR _SFR_MEM8(0xC9)
2247+#define LRXOK 0
2248+#define LTXOK 1
2249+#define LIDOK 2
2250+#define LERR 3
2251+#define LBUSY 4
2252+#define LIDST0 5
2253+#define LIDST1 6
2254+#define LIDST2 7
2255+
2256+#define LINENIR _SFR_MEM8(0xCA)
2257+#define LENRXOK 0
2258+#define LENTXOK 1
2259+#define LENIDOK 2
2260+#define LENERR 3
2261+
2262+#define LINERR _SFR_MEM8(0xCB)
2263+#define LBERR 0
2264+#define LCERR 1
2265+#define LPERR 2
2266+#define LSERR 3
2267+#define LFERR 4
2268+#define LOVERR 5
2269+#define LTOERR 6
2270+#define LABORT 7
2271+
2272+#define LINBTR _SFR_MEM8(0xCC)
2273+#define LBT0 0
2274+#define LBT1 1
2275+#define LBT2 2
2276+#define LBT3 3
2277+#define LBT4 4
2278+#define LBT5 5
2279+#define LDISR 7
2280+
2281+#define LINBRRL _SFR_MEM8(0xCD)
2282+#define LDIV0 0
2283+#define LDIV1 1
2284+#define LDIV2 2
2285+#define LDIV3 3
2286+#define LDIV4 4
2287+#define LDIV5 5
2288+#define LDIV6 6
2289+#define LDIV7 7
2290+
2291+#define LINBRRH _SFR_MEM8(0xCE)
2292+#define LDIV8 0
2293+#define LDIV9 1
2294+#define LDIV10 2
2295+#define LDIV11 3
2296+
2297+#define LINDLR _SFR_MEM8(0xCF)
2298+#define LRXDL0 0
2299+#define LRXDL1 1
2300+#define LRXDL2 2
2301+#define LRXDL3 3
2302+#define LTXDL0 4
2303+#define LTXDL1 5
2304+#define LTXDL2 6
2305+#define LTXDL3 7
2306+
2307+#define LINIDR _SFR_MEM8(0xD0)
2308+#define LID0 0
2309+#define LID1 1
2310+#define LID2 2
2311+#define LID3 3
2312+#define LID4 4
2313+#define LID5 5
2314+#define LP0 6
2315+#define LP1 7
2316+
2317+#define LINSEL _SFR_MEM8(0xD1)
2318+#define LINDX0 0
2319+#define LINDX1 1
2320+#define LINDX2 2
2321+#define LAINC 3
2322+
2323+#define LINDAT _SFR_MEM8(0xD2)
2324+#define LDATA0 0
2325+#define LDATA1 1
2326+#define LDATA2 2
2327+#define LDATA3 3
2328+#define LDATA4 4
2329+#define LDATA5 5
2330+#define LDATA6 6
2331+#define LDATA7 7
2332+
2333+
2334+
2335+/* Interrupt vectors */
2336+/* Vector 0 is the reset vector */
2337+/* External Interrupt Request 0 */
2338+#define INT0_vect _VECTOR(1)
2339+#define INT0_vect_num 1
2340+
2341+/* External Interrupt Request 1 */
2342+#define INT1_vect _VECTOR(2)
2343+#define INT1_vect_num 2
2344+
2345+/* Pin Change Interrupt Request 0 */
2346+#define PCINT0_vect _VECTOR(3)
2347+#define PCINT0_vect_num 3
2348+
2349+/* Pin Change Interrupt Request 1 */
2350+#define PCINT1_vect _VECTOR(4)
2351+#define PCINT1_vect_num 4
2352+
2353+/* Watchdog Time-Out Interrupt */
2354+#define WDT_vect _VECTOR(5)
2355+#define WDT_vect_num 5
2356+
2357+/* Timer/Counter1 Capture Event */
2358+#define TIMER1_CAPT_vect _VECTOR(6)
2359+#define TIMER1_CAPT_vect_num 6
2360+
2361+/* Timer/Counter1 Compare Match 1A */
2362+#define TIMER1_COMPA_vect _VECTOR(7)
2363+#define TIMER1_COMPA_vect_num 7
2364+
2365+/* Timer/Counter1 Compare Match 1B */
2366+#define TIMER1_COMPB_vect _VECTOR(8)
2367+#define TIMER1_COMPB_vect_num 8
2368+
2369+/* Timer/Counter1 Overflow */
2370+#define TIMER1_OVF_vect _VECTOR(9)
2371+#define TIMER1_OVF_vect_num 9
2372+
2373+/* Timer/Counter0 Compare Match 0A */
2374+#define TIMER0_COMPA_vect _VECTOR(10)
2375+#define TIMER0_COMPA_vect_num 10
2376+
2377+/* Timer/Counter0 Overflow */
2378+#define TIMER0_OVF_vect _VECTOR(11)
2379+#define TIMER0_OVF_vect_num 11
2380+
2381+/* LIN Transfer Complete */
2382+#define LIN_TC_vect _VECTOR(12)
2383+#define LIN_TC_vect_num 12
2384+
2385+/* LIN Error */
2386+#define LIN_ERR_vect _VECTOR(13)
2387+#define LIN_ERR_vect_num 13
2388+
2389+/* SPI Serial Transfer Complete */
2390+#define SPI_STC_vect _VECTOR(14)
2391+#define SPI_STC_vect_num 14
2392+
2393+/* ADC Conversion Complete */
2394+#define ADC_vect _VECTOR(15)
2395+#define ADC_vect_num 15
2396+
2397+/* EEPROM Ready */
2398+#define EE_RDY_vect _VECTOR(16)
2399+#define EE_RDY_vect_num 16
2400+
2401+/* Analog Comparator */
2402+#define ANA_COMP_vect _VECTOR(17)
2403+#define ANA_COMP_vect_num 17
2404+
2405+/* USI Start */
2406+#define USI_START_vect _VECTOR(18)
2407+#define USI_START_vect_num 18
2408+
2409+/* USI Overflow */
2410+#define USI_OVF_vect _VECTOR(19)
2411+#define USI_OVF_vect_num 19
2412+
2413+#define _VECTORS_SIZE 80
2414+
2415+
2416+/* Constants */
2417+
2418+#define SPM_PAGESIZE 128
69ed15f0 2419+#define FLASHSTART 0x0000
9fe267c2
PZ
2420+#define FLASHEND 0x3FFF
2421+#define RAMSTART 0x0100
2422+#define RAMSIZE 512
2423+#define RAMEND 0x02FF
2424+#define E2START 0
2425+#define E2SIZE 512
2426+#define E2PAGESIZE 4
2427+#define E2END 0x01FF
2428+#define XRAMEND RAMEND
2429+
2430+
2431+/* Fuses */
2432+
2433+#define FUSE_MEMORY_SIZE 3
2434+
2435+/* Low Fuse Byte */
2436+#define FUSE_SUT_CKSEL0 (unsigned char)~_BV(0)
2437+#define FUSE_SUT_CKSEL1 (unsigned char)~_BV(1)
2438+#define FUSE_SUT_CKSEL2 (unsigned char)~_BV(2)
2439+#define FUSE_SUT_CKSEL3 (unsigned char)~_BV(3)
2440+#define FUSE_SUT_CKSEL4 (unsigned char)~_BV(4)
2441+#define FUSE_SUT_CKSEL5 (unsigned char)~_BV(5)
2442+#define FUSE_CKOUT (unsigned char)~_BV(6)
2443+#define FUSE_CKDIV8 (unsigned char)~_BV(7)
2444+
2445+/* High Fuse Byte */
2446+#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
2447+#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
2448+#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
2449+#define FUSE_EESAVE (unsigned char)~_BV(3)
2450+#define FUSE_WDTON (unsigned char)~_BV(4)
2451+#define FUSE_SPIEN (unsigned char)~_BV(5)
2452+#define FUSE_DWEN (unsigned char)~_BV(6)
2453+#define FUSE_RSTDISBL (unsigned char)~_BV(7)
2454+
2455+/* Extended Fuse Byte */
2456+#define FUSE_SELFPRGEN (unsigned char)~_BV(0)
2457+
2458+
2459+/* Lock Bits */
2460+#define __LOCK_BITS_EXIST
2461+
2462+
2463+/* Signature */
2464+#define SIGNATURE_0 0x1E
2465+#define SIGNATURE_1 0x94
2466+#define SIGNATURE_2 0x87
2467+
2468+
2469+#endif /* #ifdef _AVR_ATA5505_H_INCLUDED */
2470+
2471diff -urN avr-libc-1.8.0.orig/include/avr/ioa5790.h avr-libc-1.8.0/include/avr/ioa5790.h
2472--- avr-libc-1.8.0.orig/include/avr/ioa5790.h 1970-01-01 01:00:00.000000000 +0100
69ed15f0
JR
2473+++ avr-libc-1.8.0/include/avr/ioa5790.h 2013-06-12 12:21:34.000000000 +0200
2474@@ -0,0 +1,834 @@
9fe267c2
PZ
2475+/*****************************************************************************
2476+ *
69ed15f0 2477+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
2478+ * All rights reserved.
2479+ *
2480+ * Redistribution and use in source and binary forms, with or without
2481+ * modification, are permitted provided that the following conditions are met:
2482+ *
2483+ * * Redistributions of source code must retain the above copyright
2484+ * notice, this list of conditions and the following disclaimer.
2485+ *
2486+ * * Redistributions in binary form must reproduce the above copyright
2487+ * notice, this list of conditions and the following disclaimer in
2488+ * the documentation and/or other materials provided with the
2489+ * distribution.
2490+ *
2491+ * * Neither the name of the copyright holders nor the names of
2492+ * contributors may be used to endorse or promote products derived
2493+ * from this software without specific prior written permission.
2494+ *
2495+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2496+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2497+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2498+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
2499+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2500+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2501+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2502+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2503+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2504+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2505+ * POSSIBILITY OF SUCH DAMAGE.
2506+ ****************************************************************************/
2507+
2508+
2509+#ifndef _AVR_ATA5790_H_INCLUDED
2510+#define _AVR_ATA5790_H_INCLUDED
2511+
2512+
2513+#ifndef _AVR_IO_H_
2514+# error "Include <avr/io.h> instead of this file."
2515+#endif
2516+
2517+#ifndef _AVR_IOXXX_H_
2518+# define _AVR_IOXXX_H_ "ioa5790.h"
2519+#else
2520+# error "Attempt to include more than one <avr/ioXXX.h> file."
2521+#endif
2522+
2523+/* Registers and associated bit numbers */
2524+
2525+#define PINB _SFR_IO8(0x03)
2526+#define PINB7 7
2527+#define PINB6 6
2528+#define PINB5 5
2529+#define PINB4 4
2530+#define PINB3 3
2531+#define PINB2 2
2532+#define PINB1 1
2533+#define PINB0 0
2534+
2535+#define DDRB _SFR_IO8(0x04)
2536+#define DDRB7 7
2537+#define DDRB6 6
2538+#define DDRB5 5
2539+#define DDRB4 4
2540+#define DDRB3 3
2541+#define DDRB2 2
2542+#define DDRB1 1
2543+#define DDRB0 0
2544+
2545+#define PORTB _SFR_IO8(0x05)
2546+#define PORTB7 7
2547+#define PORTB6 6
2548+#define PORTB5 5
2549+#define PORTB4 4
2550+#define PORTB3 3
2551+#define PORTB2 2
2552+#define PORTB1 1
2553+#define PORTB0 0
2554+
2555+#define PINC _SFR_IO8(0x06)
2556+#define PINC7 7
2557+#define PINC6 6
2558+#define PINC5 5
2559+#define PINC4 4
2560+#define PINC3 3
2561+#define PINC2 2
2562+#define PINC1 1
2563+#define PINC0 0
2564+
2565+#define DDRC _SFR_IO8(0x07)
2566+#define DDRC7 7
2567+#define DDRC6 6
2568+#define DDRC5 5
2569+#define DDRC4 4
2570+#define DDRC3 3
2571+#define DDRC2 2
2572+#define DDRC1 1
2573+#define DDRC0 0
2574+
2575+#define PORTC _SFR_IO8(0x08)
2576+#define PORTC7 7
2577+#define PORTC6 6
2578+#define PORTC5 5
2579+#define PORTC4 4
2580+#define PORTC3 3
2581+#define PORTC2 2
2582+#define PORTC1 1
2583+#define PORTC0 0
2584+
2585+#define PIND _SFR_IO8(0x09)
2586+#define PIND7 7
2587+#define PIND6 6
2588+#define PIND5 5
2589+#define PIND4 4
2590+#define PIND3 3
2591+#define PIND2 2
2592+#define PIND1 1
2593+#define PIND0 0
2594+
2595+#define DDRD _SFR_IO8(0x0A)
2596+#define DDRD7 7
2597+#define DDRD6 6
2598+#define DDRD5 5
2599+#define DDRD4 4
2600+#define DDRD3 3
2601+#define DDRD2 2
2602+#define DDRD1 1
2603+#define DDRD0 0
2604+
2605+#define PORTD _SFR_IO8(0x0B)
2606+#define PORTD7 7
2607+#define PORTD6 6
2608+#define PORTD5 5
2609+#define PORTD4 4
2610+#define PORTD3 3
2611+#define PORTD2 2
2612+#define PORTD1 1
2613+#define PORTD0 0
2614+
2615+/* Reserved [0x0C] */
2616+
2617+#define TPCR _SFR_IO8(0x0D)
2618+#define TPMA 0
2619+#define TPMOD 1
2620+#define TPMS0 2
2621+#define TPMS1 3
2622+#define TPMD0 4
2623+#define TPMD1 5
2624+#define TPPSD 6
2625+#define TPD 7
2626+
2627+#define TPFR _SFR_IO8(0x0E)
2628+#define TPF 0
2629+#define TPA 1
2630+#define TPGAP 2
2631+#define TPPSW 3
2632+
2633+#define CMCR _SFR_IO8(0x0F)
2634+#define CMM0 0
2635+#define CMM1 1
2636+#define SRCD 2
2637+#define CO32D 3
2638+#define CCS 4
2639+#define ECINS 5
2640+#define CMONEN 6
2641+#define CMCCE 7
2642+
2643+#define CMSR _SFR_IO8(0x10)
2644+#define ECF 0
2645+#define SXF 1
2646+#define RTCF 2
2647+
2648+#define T2CR _SFR_IO8(0x11)
2649+#define T2OTM 0
2650+#define T2CTM 1
2651+#define T2CRM 2
2652+#define T2GRM 3
2653+#define T2TOP 4
2654+#define T2RES 5
2655+#define T2TS 6
2656+#define T2E 7
2657+
2658+#define T3CR _SFR_IO8(0x12)
2659+#define T3OTM 0
2660+#define T3CTM 1
2661+#define T3CRM 2
2662+#define T3CPRM 3
2663+#define T3TOP 4
2664+#define T3RES 5
2665+#define T3CPTM 6
2666+#define T3E 7
2667+
2668+#define AESCR _SFR_IO8(0x13)
2669+#define AESWK 0
2670+#define AESWD 1
2671+#define AESIM 2
2672+#define AESD 3
2673+#define AESXOR 4
2674+#define AESRES 5
2675+#define AESE 7
2676+
2677+#define AESSR _SFR_IO8(0x14)
2678+#define AESRF 0
2679+#define AESERF 7
2680+
2681+#define TMIFR _SFR_IO8(0x15)
2682+#define TMRXF 0
2683+#define TMTXF 1
2684+#define TMTCF 2
2685+#define TMRXS 3
2686+#define TMTXS 4
2687+
2688+#define VMSR _SFR_IO8(0x16)
2689+#define VMF 0
2690+
2691+#define PCIFR _SFR_IO8(0x17)
2692+#define PCIF0 0
2693+#define PCIF1 1
2694+
2695+#define LFFR _SFR_IO8(0x18)
2696+#define LFID0F 0
2697+#define LFID1F 1
2698+#define LFFEF 2
2699+#define LFDBF 3
2700+#define LFRSF 4
2701+#define LFSDF 5
2702+#define LFMDF 6
2703+#define LFCAF 7
2704+
2705+#define T0IFR _SFR_IO8(0x19)
2706+#define T0F 0
2707+
2708+#define T1IFR _SFR_IO8(0x1A)
2709+#define T1F 0
2710+
2711+#define T2IFR _SFR_IO8(0x1B)
2712+#define T2OFF 0
2713+#define T2COF 1
2714+
2715+#define T3IFR _SFR_IO8(0x1C)
2716+#define T3OFF 0
2717+#define T3COF 1
2718+#define T3ICF 2
2719+
2720+#define EIFR _SFR_IO8(0x1D)
2721+#define INTF0 0
2722+
2723+#define GPIOR _SFR_IO8(0x1E)
2724+
2725+#define EECR _SFR_IO8(0x1F)
2726+#define EERE 0
2727+#define EEWE 1
2728+#define EEMWE 2
2729+#define EERIE 3
2730+#define EEPM0 4
2731+#define EEPM1 5
2732+#define EELP 6
2733+
2734+#define EEDR _SFR_IO8(0x20)
2735+
2736+/* Combine EEARL and EEARH */
2737+#define EEAR _SFR_IO16(0x21)
2738+
2739+#define EEARL _SFR_IO8(0x21)
2740+#define EEARH _SFR_IO8(0x22)
2741+
2742+#define EEPR _SFR_IO8(0x23)
2743+#define EEAP0 0
2744+#define EEAP1 1
2745+#define EEAP2 2
2746+#define EEAP3 3
2747+
2748+#define EECCR _SFR_IO8(0x24)
2749+#define EEL0 0
2750+#define EEL1 1
2751+#define EEL2 2
2752+#define EEL3 3
2753+
2754+/* Reserved [0x25] */
2755+
2756+#define PCICR _SFR_IO8(0x26)
2757+#define PCIE0 0
2758+#define PCIE1 1
2759+
2760+#define EIMSK _SFR_IO8(0x27)
2761+#define INT0 0
2762+
2763+#define TMDR _SFR_IO8(0x28)
2764+
2765+#define AESDR _SFR_IO8(0x29)
2766+
2767+#define AESKR _SFR_IO8(0x2A)
2768+#define AESKR0 0
2769+#define AESKR1 1
2770+#define AESKR2 2
2771+#define AESKR3 3
2772+#define AESKR4 4
2773+#define AESKR5 5
2774+#define AESKR6 6
2775+#define AESKR7 7
2776+
2777+#define VMCR _SFR_IO8(0x2B)
2778+#define VMLS0 0
2779+#define VMLS1 1
2780+#define VMLS2 2
2781+#define VMLS3 3
2782+#define VMIM 4
2783+#define VMPS 5
2784+#define BODPD 6
2785+#define BODLS 7
2786+
2787+#define SPCR _SFR_IO8(0x2C)
2788+#define SPR0 0
2789+#define SPR1 1
2790+#define CPHA 2
2791+#define CPOL 3
2792+#define MSTR 4
2793+#define DORD 5
2794+#define SPE 6
2795+#define SPIE 7
2796+
2797+#define SPSR _SFR_IO8(0x2D)
2798+#define SPI2X 0
2799+#define WCOL 6
2800+#define SPIF 7
2801+
2802+#define SPDR _SFR_IO8(0x2E)
2803+
2804+#define LFCR0 _SFR_IO8(0x2F)
2805+#define LFCE1 0
2806+#define LFCE2 1
2807+#define LFCE3 2
2808+#define LFBRS 3
2809+#define LFRBS 4
2810+#define LFMG 5
2811+#define LFVC0 6
2812+#define LFVC1 7
2813+
2814+#define LFCR1 _SFR_IO8(0x30)
2815+#define LFM0 0
2816+#define LFM1 1
2817+#define LFFM0 2
2818+#define LFFM1 3
2819+#define LFRMS 4
2820+#define LFRMSA 5
2821+#define LFQCE 6
2822+#define LFRE 7
2823+
2824+/* Reserved [0x31] */
2825+
2826+#define LFRDB _SFR_IO8(0x32)
2827+
2828+#define SMCR _SFR_IO8(0x33)
2829+#define SE 0
2830+#define SM0 1
2831+#define SM1 2
2832+#define SM2 3
2833+
2834+#define MCUSR _SFR_IO8(0x34)
2835+#define PORF 0
2836+#define EXTRF 1
2837+#define BORF 2
2838+#define WDRF 3
2839+#define TPRF 5
2840+
2841+#define MCUCR _SFR_IO8(0x35)
2842+#define IVCE 0
2843+#define IVSEL 1
2844+#define PUD 4
2845+
2846+#define LFSR _SFR_IO8(0x36)
2847+#define LFES 0
2848+#define LFSD 1
2849+
2850+#define SPMCSR _SFR_IO8(0x37)
2851+#define SPMEN 0
2852+#define PGERS 1
2853+#define PGWRT 2
2854+#define BLBSET 3
2855+#define RWWSRE 4
2856+#define SIGRD 5
2857+#define RWWSB 6
2858+#define SPMIE 7
2859+
2860+#define T1CR _SFR_IO8(0x38)
2861+#define T1PS0 0
2862+#define T1PS1 1
2863+#define T1IE 2
2864+#define T1CS0 3
2865+#define T1CS1 4
2866+#define T1E 7
2867+
2868+#define T0CR _SFR_IO8(0x39)
2869+#define T0PS0 0
2870+#define T0PS1 1
2871+#define T0PS2 2
2872+#define T0IE 3
2873+#define T0PR 4
2874+
2875+/* Reserved [0x3A] */
2876+
2877+#define CMIMR _SFR_IO8(0x3B)
2878+#define ECIE 0
2879+#define SXIE 1
2880+#define RTCIE 2
2881+
2882+#define CLKPR _SFR_IO8(0x3C)
2883+#define CLKPS0 0
2884+#define CLKPS1 1
2885+#define CLKPS2 2
2886+#define CLTPS0 3
2887+#define CLTPS1 4
2888+#define CLTPS2 5
2889+#define CLKPCE 7
2890+
2891+/* SP [0x3D..0x3E] */
2892+
2893+/* SREG [0x3F] */
2894+
2895+#define WDTCR _SFR_MEM8(0x60)
2896+#define WDPS0 0
2897+#define WDPS1 1
2898+#define WDPS2 2
2899+#define WDE 3
2900+#define WDCE 4
2901+
2902+/* Reserved [0x61..0x62] */
2903+
2904+#define PRR0 _SFR_MEM8(0x63)
2905+#define PRLFR 0
2906+#define PRT1 1
2907+#define PRT2 2
2908+#define PRT3 3
2909+#define PRTM 4
2910+#define PRCU 5
2911+#define PRDS 6
2912+#define PRVM 7
2913+
2914+#define PRR1 _SFR_MEM8(0x64)
2915+#define PRCI 0
2916+#define PRSPI 1
2917+
2918+#define SRCCAL _SFR_MEM8(0x65)
2919+
2920+#define FRCCAL _SFR_MEM8(0x66)
2921+
2922+/* Reserved [0x67..0x68] */
2923+
2924+#define EICRA _SFR_MEM8(0x69)
2925+#define ISC00 0
2926+#define ISC01 1
2927+
2928+#define PCMSK0 _SFR_MEM8(0x6A)
2929+#define PCINT0 0
2930+#define PCINT1 1
2931+#define PCINT2 2
2932+#define PCINT3 3
2933+#define PCINT4 4
2934+#define PCINT5 5
2935+#define PCINT6 6
2936+#define PCINT7 7
2937+
2938+#define PCMSK1 _SFR_MEM8(0x6B)
2939+#define PCINT8 0
2940+#define PCINT9 1
2941+#define PCINT10 2
2942+#define PCINT11 3
2943+#define PCINT12 4
2944+#define PCINT13 5
2945+#define PCINT14 6
2946+#define PCINT15 7
2947+
2948+/* Reserved [0x6C] */
2949+
2950+#define LDCR _SFR_MEM8(0x6D)
2951+#define LDE 0
2952+#define LDCS0 1
2953+#define LDCS1 2
2954+
2955+/* Reserved [0x6E..0x6F] */
2956+
2957+#define T2CNT _SFR_MEM8(0x70)
2958+
2959+#define T2COR _SFR_MEM8(0x71)
2960+
2961+/* Reserved [0x72] */
2962+
2963+#define T2MR _SFR_MEM8(0x73)
2964+#define T2CS0 0
2965+#define T2CS1 1
2966+#define T2CS2 2
2967+#define T2PS0 3
2968+#define T2PS1 4
2969+#define T2PS2 5
2970+#define T2D0 6
2971+#define T2D1 7
2972+
2973+#define T2IMR _SFR_MEM8(0x74)
2974+#define T2OIM 0
2975+#define T2CIM 1
2976+
2977+/* Reserved [0x75] */
2978+
2979+#define T3CNT _SFR_MEM8(0x76)
2980+
2981+#define T3COR _SFR_MEM8(0x77)
2982+
2983+#define T3ICR _SFR_MEM8(0x78)
2984+
2985+#define T3MRA _SFR_MEM8(0x79)
2986+#define T3CS0 0
2987+#define T3CS1 1
2988+#define T3SCE 2
2989+#define T3CE0 3
2990+#define T3CE1 4
2991+#define T3CNC 5
2992+#define T3ICS0 6
2993+#define T3ICS1 7
2994+
2995+#define T3MRB _SFR_MEM8(0x7A)
2996+#define T3PS0 0
2997+#define T3PS1 1
2998+#define T3PS2 2
2999+
3000+#define T3IMR _SFR_MEM8(0x7B)
3001+#define T3OIM 0
3002+#define T3CIM 1
3003+#define T3CPIM 2
3004+
3005+/* Reserved [0x7C] */
3006+
3007+#define TMCR _SFR_MEM8(0x7D)
3008+#define MI1S0 0
3009+#define MI1S1 1
3010+#define MI2S0 2
3011+#define MI2S1 3
3012+#define MI4S0 4
3013+#define MI4S1 5
3014+#define TMCPOL 6
3015+#define TMSSIE 7
3016+
3017+#define TMMR _SFR_MEM8(0x7E)
3018+#define MOS0 0
3019+#define MOS1 1
3020+#define MSCS0 2
3021+#define MSCS1 3
3022+#define MOUTC 4
3023+#define TMMS0 5
3024+#define TMMS1 6
3025+#define TM12S 7
3026+
3027+#define TMIMR _SFR_MEM8(0x7F)
3028+#define TMRXIM 0
3029+#define TMTXIM 1
3030+#define TMTCIM 2
3031+
3032+/* Reserved [0x80..0x81] */
3033+
3034+#define LFIMR _SFR_MEM8(0x82)
3035+#define LFID0IM 0
3036+#define LFID1IM 1
3037+#define LFFEIM 2
3038+#define LFDBIM 3
3039+#define LFRSIM 4
3040+#define LFSDIM 5
3041+#define LFMDIM 6
3042+
3043+#define LFCAD _SFR_MEM8(0x83)
3044+
3045+#define LFID00 _SFR_MEM8(0x84)
3046+
3047+#define LFID01 _SFR_MEM8(0x85)
3048+
3049+#define LFID02 _SFR_MEM8(0x86)
3050+
3051+#define LFID03 _SFR_MEM8(0x87)
3052+
3053+#define LFID10 _SFR_MEM8(0x88)
3054+
3055+#define LFID11 _SFR_MEM8(0x89)
3056+
3057+#define LFID12 _SFR_MEM8(0x8A)
3058+
3059+#define LFID13 _SFR_MEM8(0x8B)
3060+
3061+#define LFRD0 _SFR_MEM8(0x8C)
3062+
3063+#define LFRD1 _SFR_MEM8(0x8D)
3064+
3065+#define LFRD2 _SFR_MEM8(0x8E)
3066+
3067+#define LFRD3 _SFR_MEM8(0x8F)
3068+
3069+#define LFID0M _SFR_MEM8(0x90)
3070+#define ID0FS0 0
3071+#define ID0FS1 1
3072+#define ID0FS2 2
3073+#define ID0FS3 3
3074+#define ID0FS4 4
3075+#define ID0E 7
3076+
3077+#define LFID1M _SFR_MEM8(0x91)
3078+#define ID1FS0 0
3079+#define ID1FS1 1
3080+#define ID1FS2 2
3081+#define ID1FS3 3
3082+#define ID1FS4 4
3083+#define ID1E 7
3084+
3085+#define LFRDF _SFR_MEM8(0x92)
3086+#define RDFS0 0
3087+#define RDFS1 1
3088+#define RDFS2 2
3089+#define RDFS3 3
3090+#define RDFS4 4
3091+#define RDFE 7
3092+
3093+#define LFRSD1 _SFR_MEM8(0x93)
3094+
3095+#define LFRSD2 _SFR_MEM8(0x94)
3096+
3097+#define LFRSD3 _SFR_MEM8(0x95)
3098+
3099+#define LFCC1 _SFR_MEM8(0x96)
3100+
3101+#define LFCC2 _SFR_MEM8(0x97)
3102+
3103+#define LFCC3 _SFR_MEM8(0x98)
3104+
3105+/* Reserved [0x99..0x9B] */
3106+
3107+#define TPIMR _SFR_MEM8(0x9C)
3108+#define TPIM 0
3109+
3110+/* Reserved [0x9D] */
3111+
3112+#define RTCCR _SFR_MEM8(0x9E)
3113+#define RTCR 0
3114+
3115+#define RTCDR _SFR_MEM8(0x9F)
3116+
3117+/* Reserved [0xA0..0xA7] */
3118+
3119+#define TMMDR _SFR_MEM8(0xA8)
3120+
3121+#define TMBDR _SFR_MEM8(0xA9)
3122+
3123+#define TMTDR _SFR_MEM8(0xAA)
3124+
3125+#define TMSR _SFR_MEM8(0xAB)
3126+
3127+/* Reserved [0xAC] */
3128+
3129+#define CRCDR _SFR_MEM8(0xAD)
3130+
3131+#define CRCCR _SFR_MEM8(0xAE)
3132+#define CRCN0 0
3133+#define CRCN1 1
3134+#define CRCN2 2
3135+#define CRCSEL 3
3136+#define REFLI 4
3137+#define REFLO 5
3138+#define CRCRS 7
3139+
3140+#define CRCSR _SFR_MEM8(0xAF)
3141+#define CRCBF 0
3142+
3143+
3144+
3145+/* Interrupt vectors */
3146+/* Vector 0 is the reset vector */
3147+/* Transponder Mode Interrupt */
3148+#define TPINT_vect _VECTOR(1)
3149+#define TPINT_vect_num 1
3150+
3151+/* External Interrupt Request 0 */
3152+#define INT0_vect _VECTOR(2)
3153+#define INT0_vect_num 2
3154+
3155+/* Pin Change Interrupt Request 0 */
3156+#define PCINT0_vect _VECTOR(3)
3157+#define PCINT0_vect_num 3
3158+
3159+/* Pin Change Interrupt Request 1 */
3160+#define PCINT1_vect _VECTOR(4)
3161+#define PCINT1_vect_num 4
3162+
3163+/* Voltage Monitoring Interrupt */
3164+#define VMINT_vect _VECTOR(5)
3165+#define VMINT_vect_num 5
3166+
3167+/* Timer0 Interval Interrupt */
3168+#define T0INT_vect _VECTOR(6)
3169+#define T0INT_vect_num 6
3170+
3171+/* LF-Receiver Identifier 0 Interrupt */
3172+#define LFID0INT_vect _VECTOR(7)
3173+#define LFID0INT_vect_num 7
3174+
3175+/* LF-Receiver Identifier 1 Interrupt */
3176+#define LFID1INT_vect _VECTOR(8)
3177+#define LFID1INT_vect_num 8
3178+
3179+/* LF-Receiver Frame End Interrupt */
3180+#define LFFEINT_vect _VECTOR(9)
3181+#define LFFEINT_vect_num 9
3182+
3183+/* LF-Receiver Data Buffer full Interrupt */
3184+#define LFDBINT_vect _VECTOR(10)
3185+#define LFDBINT_vect_num 10
3186+
3187+/* Timer/Counter3 Capture Event Interrupt */
3188+#define T3CAPINT_vect _VECTOR(11)
3189+#define T3CAPINT_vect_num 11
3190+
3191+/* Timer/Counter3 Compare Match Interrupt */
3192+#define T3COMINT_vect _VECTOR(12)
3193+#define T3COMINT_vect_num 12
3194+
3195+/* Timer/Counter3 Overflow Interrupt */
3196+#define T3OVFINT_vect _VECTOR(13)
3197+#define T3OVFINT_vect_num 13
3198+
3199+/* Timer/Counter2 Compare Match Interrupt */
3200+#define T2COMINT_vect _VECTOR(14)
3201+#define T2COMINT_vect_num 14
3202+
3203+/* Timer/Counter2 Overflow Interrupt */
3204+#define T2OVFINT_vect _VECTOR(15)
3205+#define T2OVFINT_vect_num 15
3206+
3207+/* Timer 1 Interval Interrupt */
3208+#define T1INT_vect _VECTOR(16)
3209+#define T1INT_vect_num 16
3210+
3211+/* SPI Serial Transfer Complete Interrupt */
3212+#define SPISTC_vect _VECTOR(17)
3213+#define SPISTC_vect_num 17
3214+
3215+/* Timer Modulator SSI Receive Buffer Interrupt */
3216+#define TMRXBINT_vect _VECTOR(18)
3217+#define TMRXBINT_vect_num 18
3218+
3219+/* Timer Modulator SSI Transmit Buffer Interrupt */
3220+#define TMTXBINT_vect _VECTOR(19)
3221+#define TMTXBINT_vect_num 19
3222+
3223+/* Timer Modulator Transmit Complete Interrupt */
3224+#define TMTXCINT_vect _VECTOR(20)
3225+#define TMTXCINT_vect_num 20
3226+
3227+/* AES Interrupt */
3228+#define AESINT_vect _VECTOR(21)
3229+#define AESINT_vect_num 21
3230+
3231+/* LF-Receiver RSSi measurement Interrupt */
3232+#define LFRSSINT_vect _VECTOR(22)
3233+#define LFRSSINT_vect_num 22
3234+
3235+/* LF-Receiver Signal Detect Interrupt */
3236+#define LFSDINT_vect _VECTOR(23)
3237+#define LFSDINT_vect_num 23
3238+
3239+/* LF-Receiver Manchester Decoder error Interrupt */
3240+#define LFMDINT_vect _VECTOR(24)
3241+#define LFMDINT_vect_num 24
3242+
3243+/* External Input Clock Monitoring Interrupt */
3244+#define EXCMINT_vect _VECTOR(25)
3245+#define EXCMINT_vect_num 25
3246+
3247+/* External XTAL Oscillator Break Down Interrupt */
3248+#define EXXMINT_vect _VECTOR(26)
3249+#define EXXMINT_vect_num 26
3250+
3251+/* Real Time Clock Interrupt */
3252+#define RTCINT_vect _VECTOR(27)
3253+#define RTCINT_vect_num 27
3254+
3255+/* EEPROM Ready Interrupt */
3256+#define EEREADY_vect _VECTOR(28)
3257+#define EEREADY_vect_num 28
3258+
3259+/* Store Program Memory Ready */
3260+#define SPMREADY_vect _VECTOR(29)
3261+#define SPMREADY_vect_num 29
3262+
3263+#define _VECTORS_SIZE 120
3264+
3265+
3266+/* Constants */
3267+
3268+#define SPM_PAGESIZE 128
69ed15f0 3269+#define FLASHSTART 0x0000
9fe267c2
PZ
3270+#define FLASHEND 0x3FFF
3271+#define RAMSTART 0x0100
3272+#define RAMSIZE 512
3273+#define RAMEND 0x02FF
3274+#define E2START 0
3275+#define E2SIZE 2048
3276+#define E2PAGESIZE 16
3277+#define E2END 0x07FF
3278+#define XRAMEND RAMEND
3279+
3280+
3281+/* Fuses */
3282+
3283+#define FUSE_MEMORY_SIZE 1
3284+
3285+/* Fuse Byte */
3286+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
3287+#define FUSE_DWEN (unsigned char)~_BV(64)
3288+#define FUSE_SPIEN (unsigned char)~_BV(32)
3289+#define FUSE_WDTON (unsigned char)~_BV(16)
3290+#define FUSE_EESAVE (unsigned char)~_BV(8)
3291+#define FUSE_Reserved (unsigned char)~_BV(4)
3292+#define FUSE__32OEN (unsigned char)~_BV(2)
3293+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
3294+
3295+/* Lock Bits */
3296+#define __LOCK_BITS_EXIST
3297+#define __BOOT_LOCK_BITS_0_EXIST
3298+#define __BOOT_LOCK_BITS_1_EXIST
3299+
3300+
3301+/* Signature */
3302+#define SIGNATURE_0 0x1E
3303+#define SIGNATURE_1 0x94
3304+#define SIGNATURE_2 0x61
3305+
3306+
3307+#endif /* #ifdef _AVR_ATA5790_H_INCLUDED */
3308+
69ed15f0
JR
3309diff -urN avr-libc-1.8.0.orig/include/avr/ioa5790n.h avr-libc-1.8.0/include/avr/ioa5790n.h
3310--- avr-libc-1.8.0.orig/include/avr/ioa5790n.h 1970-01-01 01:00:00.000000000 +0100
3311+++ avr-libc-1.8.0/include/avr/ioa5790n.h 2013-06-12 12:21:34.000000000 +0200
3312@@ -0,0 +1,850 @@
9fe267c2
PZ
3313+/*****************************************************************************
3314+ *
69ed15f0 3315+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
3316+ * All rights reserved.
3317+ *
3318+ * Redistribution and use in source and binary forms, with or without
3319+ * modification, are permitted provided that the following conditions are met:
3320+ *
3321+ * * Redistributions of source code must retain the above copyright
3322+ * notice, this list of conditions and the following disclaimer.
3323+ *
3324+ * * Redistributions in binary form must reproduce the above copyright
3325+ * notice, this list of conditions and the following disclaimer in
3326+ * the documentation and/or other materials provided with the
3327+ * distribution.
3328+ *
3329+ * * Neither the name of the copyright holders nor the names of
3330+ * contributors may be used to endorse or promote products derived
3331+ * from this software without specific prior written permission.
3332+ *
3333+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
3334+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3335+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3336+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
3337+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
3338+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
3339+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
3340+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
3341+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3342+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3343+ * POSSIBILITY OF SUCH DAMAGE.
3344+ ****************************************************************************/
3345+
3346+
69ed15f0
JR
3347+#ifndef _AVR_ATA5790N_H_INCLUDED
3348+#define _AVR_ATA5790N_H_INCLUDED
9fe267c2
PZ
3349+
3350+
3351+#ifndef _AVR_IO_H_
3352+# error "Include <avr/io.h> instead of this file."
3353+#endif
3354+
3355+#ifndef _AVR_IOXXX_H_
69ed15f0 3356+# define _AVR_IOXXX_H_ "ioa5790n.h"
9fe267c2
PZ
3357+#else
3358+# error "Attempt to include more than one <avr/ioXXX.h> file."
3359+#endif
3360+
3361+/* Registers and associated bit numbers */
3362+
3363+#define PINB _SFR_IO8(0x03)
3364+#define PINB7 7
3365+#define PINB6 6
3366+#define PINB5 5
3367+#define PINB4 4
3368+#define PINB3 3
3369+#define PINB2 2
3370+#define PINB1 1
3371+#define PINB0 0
3372+
3373+#define DDRB _SFR_IO8(0x04)
3374+#define DDRB7 7
3375+#define DDRB6 6
3376+#define DDRB5 5
3377+#define DDRB4 4
3378+#define DDRB3 3
3379+#define DDRB2 2
3380+#define DDRB1 1
3381+#define DDRB0 0
3382+
3383+#define PORTB _SFR_IO8(0x05)
3384+#define PORTB7 7
3385+#define PORTB6 6
3386+#define PORTB5 5
3387+#define PORTB4 4
3388+#define PORTB3 3
3389+#define PORTB2 2
3390+#define PORTB1 1
3391+#define PORTB0 0
3392+
3393+#define PINC _SFR_IO8(0x06)
3394+#define PINC7 7
3395+#define PINC6 6
3396+#define PINC5 5
3397+#define PINC4 4
3398+#define PINC3 3
3399+#define PINC2 2
3400+#define PINC1 1
3401+#define PINC0 0
3402+
3403+#define DDRC _SFR_IO8(0x07)
3404+#define DDRC7 7
3405+#define DDRC6 6
3406+#define DDRC5 5
3407+#define DDRC4 4
3408+#define DDRC3 3
3409+#define DDRC2 2
3410+#define DDRC1 1
3411+#define DDRC0 0
3412+
3413+#define PORTC _SFR_IO8(0x08)
3414+#define PORTC7 7
3415+#define PORTC6 6
3416+#define PORTC5 5
3417+#define PORTC4 4
3418+#define PORTC3 3
3419+#define PORTC2 2
3420+#define PORTC1 1
3421+#define PORTC0 0
3422+
3423+#define PIND _SFR_IO8(0x09)
3424+#define PIND7 7
3425+#define PIND6 6
3426+#define PIND5 5
3427+#define PIND4 4
3428+#define PIND3 3
3429+#define PIND2 2
3430+#define PIND1 1
3431+#define PIND0 0
3432+
3433+#define DDRD _SFR_IO8(0x0A)
3434+#define DDRD7 7
3435+#define DDRD6 6
3436+#define DDRD5 5
3437+#define DDRD4 4
3438+#define DDRD3 3
3439+#define DDRD2 2
3440+#define DDRD1 1
3441+#define DDRD0 0
3442+
3443+#define PORTD _SFR_IO8(0x0B)
3444+#define PORTD7 7
3445+#define PORTD6 6
3446+#define PORTD5 5
3447+#define PORTD4 4
3448+#define PORTD3 3
3449+#define PORTD2 2
3450+#define PORTD1 1
3451+#define PORTD0 0
3452+
69ed15f0
JR
3453+#define T3CR2 _SFR_IO8(0x0C)
3454+#define T3GRES 0
3455+#define T3C2TM 1
3456+#define T3C2RM 2
9fe267c2
PZ
3457+
3458+#define TPCR _SFR_IO8(0x0D)
3459+#define TPMA 0
3460+#define TPMOD 1
3461+#define TPMS0 2
3462+#define TPMS1 3
3463+#define TPMD0 4
3464+#define TPMD1 5
3465+#define TPPSD 6
3466+#define TPD 7
3467+
3468+#define TPFR _SFR_IO8(0x0E)
3469+#define TPF 0
3470+#define TPA 1
3471+#define TPGAP 2
3472+#define TPPSW 3
3473+
3474+#define CMCR _SFR_IO8(0x0F)
3475+#define CMM0 0
3476+#define CMM1 1
3477+#define SRCD 2
3478+#define CO32D 3
3479+#define CCS 4
3480+#define ECINS 5
3481+#define CMONEN 6
3482+#define CMCCE 7
3483+
3484+#define CMSR _SFR_IO8(0x10)
3485+#define ECF 0
3486+#define SXF 1
3487+#define RTCF 2
3488+
3489+#define T2CR _SFR_IO8(0x11)
3490+#define T2OTM 0
3491+#define T2CTM 1
3492+#define T2CRM 2
3493+#define T2GRM 3
3494+#define T2TOP 4
3495+#define T2RES 5
3496+#define T2TS 6
3497+#define T2E 7
3498+
3499+#define T3CR _SFR_IO8(0x12)
3500+#define T3OTM 0
3501+#define T3CTM 1
3502+#define T3CRM 2
3503+#define T3CPRM 3
3504+#define T3TOP 4
3505+#define T3RES 5
3506+#define T3CPTM 6
3507+#define T3E 7
3508+
3509+#define AESCR _SFR_IO8(0x13)
3510+#define AESWK 0
3511+#define AESWD 1
3512+#define AESIM 2
3513+#define AESD 3
3514+#define AESXOR 4
3515+#define AESRES 5
3516+#define AESE 7
3517+
3518+#define AESSR _SFR_IO8(0x14)
3519+#define AESRF 0
3520+#define AESERF 7
3521+
3522+#define TMIFR _SFR_IO8(0x15)
3523+#define TMRXF 0
3524+#define TMTXF 1
3525+#define TMTCF 2
3526+#define TMRXS 3
3527+#define TMTXS 4
3528+
3529+#define VMSR _SFR_IO8(0x16)
3530+#define VMF 0
3531+
3532+#define PCIFR _SFR_IO8(0x17)
3533+#define PCIF0 0
3534+#define PCIF1 1
3535+
69ed15f0
JR
3536+#define LFFR _SFR_IO8(0x18)
3537+#define LFID0F 0
3538+#define LFID1F 1
3539+#define LFFEF 2
3540+#define LFDBF 3
3541+#define LFRSF 4
3542+#define LFSDF 5
3543+#define LFMDF 6
3544+#define LFCAF 7
9fe267c2
PZ
3545+
3546+#define T0IFR _SFR_IO8(0x19)
3547+#define T0F 0
3548+
3549+#define T1IFR _SFR_IO8(0x1A)
3550+#define T1F 0
3551+
3552+#define T2IFR _SFR_IO8(0x1B)
3553+#define T2OFF 0
3554+#define T2COF 1
3555+
3556+#define T3IFR _SFR_IO8(0x1C)
3557+#define T3OFF 0
3558+#define T3COF 1
3559+#define T3ICF 2
69ed15f0 3560+#define T3CO2F 3
9fe267c2
PZ
3561+
3562+#define EIFR _SFR_IO8(0x1D)
3563+#define INTF0 0
3564+
69ed15f0 3565+#define GPIOR _SFR_IO8(0x1E)
9fe267c2
PZ
3566+
3567+#define EECR _SFR_IO8(0x1F)
3568+#define EERE 0
3569+#define EEWE 1
3570+#define EEMWE 2
3571+#define EERIE 3
3572+#define EEPM0 4
3573+#define EEPM1 5
3574+#define EELP 6
69ed15f0 3575+#define NVMBSY 7
9fe267c2
PZ
3576+
3577+#define EEDR _SFR_IO8(0x20)
3578+
3579+/* Combine EEARL and EEARH */
3580+#define EEAR _SFR_IO16(0x21)
3581+
3582+#define EEARL _SFR_IO8(0x21)
3583+#define EEARH _SFR_IO8(0x22)
3584+
3585+#define EEPR _SFR_IO8(0x23)
3586+#define EEAP0 0
3587+#define EEAP1 1
3588+#define EEAP2 2
3589+#define EEAP3 3
3590+
3591+#define EECCR _SFR_IO8(0x24)
3592+#define EEL0 0
3593+#define EEL1 1
3594+#define EEL2 2
3595+#define EEL3 3
3596+
69ed15f0
JR
3597+#define EECR2 _SFR_IO8(0x25)
3598+#define EEBRE 0
3599+#define EEPAGE 1
9fe267c2
PZ
3600+
3601+#define PCICR _SFR_IO8(0x26)
3602+#define PCIE0 0
3603+#define PCIE1 1
3604+
3605+#define EIMSK _SFR_IO8(0x27)
3606+#define INT0 0
3607+
3608+#define TMDR _SFR_IO8(0x28)
3609+
3610+#define AESDR _SFR_IO8(0x29)
3611+
3612+#define AESKR _SFR_IO8(0x2A)
3613+#define AESKR0 0
3614+#define AESKR1 1
3615+#define AESKR2 2
3616+#define AESKR3 3
3617+#define AESKR4 4
3618+#define AESKR5 5
3619+#define AESKR6 6
3620+#define AESKR7 7
3621+
3622+#define VMCR _SFR_IO8(0x2B)
3623+#define VMLS0 0
3624+#define VMLS1 1
3625+#define VMLS2 2
3626+#define VMLS3 3
3627+#define VMIM 4
3628+#define VMPS 5
3629+#define BODPD 6
3630+#define BODLS 7
3631+
3632+#define SPCR _SFR_IO8(0x2C)
3633+#define SPR0 0
3634+#define SPR1 1
3635+#define CPHA 2
3636+#define CPOL 3
3637+#define MSTR 4
3638+#define DORD 5
3639+#define SPE 6
3640+#define SPIE 7
3641+
3642+#define SPSR _SFR_IO8(0x2D)
3643+#define SPI2X 0
3644+#define WCOL 6
3645+#define SPIF 7
3646+
3647+#define SPDR _SFR_IO8(0x2E)
3648+
69ed15f0
JR
3649+#define LFCR0 _SFR_IO8(0x2F)
3650+#define LFCE1 0
3651+#define LFCE2 1
3652+#define LFCE3 2
3653+#define LFBRS 3
3654+#define LFRBS 4
3655+#define LFMG 5
3656+#define LFVC0 6
3657+#define LFVC1 7
3658+
3659+#define LFCR1 _SFR_IO8(0x30)
3660+#define LFM0 0
3661+#define LFM1 1
3662+#define LFFM0 2
3663+#define LFFM1 3
3664+#define LFRMS 4
3665+#define LFRMSA 5
3666+#define LFQCE 6
3667+#define LFRE 7
3668+
3669+/* Reserved [0x31] */
3670+
3671+#define LFRDB _SFR_IO8(0x32)
9fe267c2
PZ
3672+
3673+#define SMCR _SFR_IO8(0x33)
3674+#define SE 0
3675+#define SM0 1
3676+#define SM1 2
3677+#define SM2 3
3678+
3679+#define MCUSR _SFR_IO8(0x34)
3680+#define PORF 0
3681+#define EXTRF 1
3682+#define BORF 2
3683+#define WDRF 3
3684+#define TPRF 5
3685+
3686+#define MCUCR _SFR_IO8(0x35)
3687+#define IVCE 0
3688+#define IVSEL 1
3689+#define PUD 4
3690+
69ed15f0
JR
3691+#define LFSR _SFR_IO8(0x36)
3692+#define LFES 0
3693+#define LFSD 1
9fe267c2
PZ
3694+
3695+#define SPMCSR _SFR_IO8(0x37)
3696+#define SPMEN 0
3697+#define PGERS 1
3698+#define PGWRT 2
3699+#define BLBSET 3
3700+#define RWWSRE 4
3701+#define SIGRD 5
3702+#define RWWSB 6
3703+#define SPMIE 7
3704+
3705+#define T1CR _SFR_IO8(0x38)
3706+#define T1PS0 0
3707+#define T1PS1 1
3708+#define T1IE 2
3709+#define T1CS0 3
3710+#define T1CS1 4
3711+#define T1E 7
3712+
3713+#define T0CR _SFR_IO8(0x39)
3714+#define T0PS0 0
3715+#define T0PS1 1
3716+#define T0PS2 2
3717+#define T0IE 3
3718+#define T0PR 4
3719+
3720+/* Reserved [0x3A] */
3721+
3722+#define CMIMR _SFR_IO8(0x3B)
3723+#define ECIE 0
3724+#define SXIE 1
3725+#define RTCIE 2
3726+
3727+#define CLKPR _SFR_IO8(0x3C)
3728+#define CLKPS0 0
3729+#define CLKPS1 1
3730+#define CLKPS2 2
3731+#define CLTPS0 3
3732+#define CLTPS1 4
3733+#define CLTPS2 5
3734+#define CLKPCE 7
3735+
3736+/* SP [0x3D..0x3E] */
3737+
3738+/* SREG [0x3F] */
3739+
3740+#define WDTCR _SFR_MEM8(0x60)
3741+#define WDPS0 0
3742+#define WDPS1 1
3743+#define WDPS2 2
3744+#define WDE 3
3745+#define WDCE 4
3746+
3747+/* Reserved [0x61..0x62] */
3748+
3749+#define PRR0 _SFR_MEM8(0x63)
69ed15f0 3750+#define PRLFR 0
9fe267c2
PZ
3751+#define PRT1 1
3752+#define PRT2 2
3753+#define PRT3 3
3754+#define PRTM 4
3755+#define PRCU 5
3756+#define PRDS 6
3757+#define PRVM 7
3758+
3759+#define PRR1 _SFR_MEM8(0x64)
3760+#define PRCI 0
3761+#define PRSPI 1
3762+
3763+#define SRCCAL _SFR_MEM8(0x65)
3764+
3765+#define FRCCAL _SFR_MEM8(0x66)
3766+
3767+/* Reserved [0x67..0x68] */
3768+
3769+#define EICRA _SFR_MEM8(0x69)
3770+#define ISC00 0
3771+#define ISC01 1
3772+
3773+#define PCMSK0 _SFR_MEM8(0x6A)
3774+#define PCINT0 0
3775+#define PCINT1 1
3776+#define PCINT2 2
3777+#define PCINT3 3
3778+#define PCINT4 4
3779+#define PCINT5 5
3780+#define PCINT6 6
3781+#define PCINT7 7
3782+
3783+#define PCMSK1 _SFR_MEM8(0x6B)
3784+#define PCINT8 0
3785+#define PCINT9 1
3786+#define PCINT10 2
3787+#define PCINT11 3
3788+#define PCINT12 4
3789+#define PCINT13 5
3790+#define PCINT14 6
3791+#define PCINT15 7
3792+
3793+/* Reserved [0x6C] */
3794+
3795+#define LDCR _SFR_MEM8(0x6D)
3796+#define LDE 0
3797+#define LDCS0 1
3798+#define LDCS1 2
3799+
3800+/* Reserved [0x6E..0x6F] */
3801+
3802+#define T2CNT _SFR_MEM8(0x70)
3803+
3804+#define T2COR _SFR_MEM8(0x71)
3805+
3806+/* Reserved [0x72] */
3807+
3808+#define T2MR _SFR_MEM8(0x73)
3809+#define T2CS0 0
3810+#define T2CS1 1
3811+#define T2CS2 2
3812+#define T2PS0 3
3813+#define T2PS1 4
3814+#define T2PS2 5
3815+#define T2D0 6
3816+#define T2D1 7
3817+
3818+#define T2IMR _SFR_MEM8(0x74)
3819+#define T2OIM 0
3820+#define T2CIM 1
3821+
69ed15f0 3822+#define T3CO2R _SFR_MEM8(0x75)
9fe267c2
PZ
3823+
3824+#define T3CNT _SFR_MEM8(0x76)
3825+
3826+#define T3COR _SFR_MEM8(0x77)
3827+
3828+#define T3ICR _SFR_MEM8(0x78)
3829+
3830+#define T3MRA _SFR_MEM8(0x79)
3831+#define T3CS0 0
3832+#define T3CS1 1
3833+#define T3SCE 2
3834+#define T3CE0 3
3835+#define T3CE1 4
3836+#define T3CNC 5
3837+#define T3ICS0 6
3838+#define T3ICS1 7
3839+
3840+#define T3MRB _SFR_MEM8(0x7A)
3841+#define T3PS0 0
3842+#define T3PS1 1
3843+#define T3PS2 2
3844+
3845+#define T3IMR _SFR_MEM8(0x7B)
3846+#define T3OIM 0
3847+#define T3CIM 1
3848+#define T3CPIM 2
69ed15f0 3849+#define T3C2IM 3
9fe267c2
PZ
3850+
3851+/* Reserved [0x7C] */
3852+
3853+#define TMCR _SFR_MEM8(0x7D)
3854+#define MI1S0 0
3855+#define MI1S1 1
3856+#define MI2S0 2
3857+#define MI2S1 3
3858+#define MI4S0 4
3859+#define MI4S1 5
3860+#define TMCPOL 6
3861+#define TMSSIE 7
3862+
3863+#define TMMR _SFR_MEM8(0x7E)
3864+#define MOS0 0
3865+#define MOS1 1
3866+#define MSCS0 2
3867+#define MSCS1 3
3868+#define MOUTC 4
3869+#define TMMS0 5
3870+#define TMMS1 6
3871+#define TM12S 7
3872+
3873+#define TMIMR _SFR_MEM8(0x7F)
3874+#define TMRXIM 0
3875+#define TMTXIM 1
3876+#define TMTCIM 2
3877+
69ed15f0
JR
3878+/* Reserved [0x80..0x81] */
3879+
3880+#define LFIMR _SFR_MEM8(0x82)
3881+#define LFID0IM 0
3882+#define LFID1IM 1
3883+#define LFFEIM 2
3884+#define LFDBIM 3
3885+#define LFRSIM 4
3886+#define LFSDIM 5
3887+#define LFMDIM 6
3888+
3889+#define LFCAD _SFR_MEM8(0x83)
3890+
3891+#define LFID00 _SFR_MEM8(0x84)
3892+
3893+#define LFID01 _SFR_MEM8(0x85)
3894+
3895+#define LFID02 _SFR_MEM8(0x86)
3896+
3897+#define LFID03 _SFR_MEM8(0x87)
3898+
3899+#define LFID10 _SFR_MEM8(0x88)
3900+
3901+#define LFID11 _SFR_MEM8(0x89)
3902+
3903+#define LFID12 _SFR_MEM8(0x8A)
3904+
3905+#define LFID13 _SFR_MEM8(0x8B)
3906+
3907+#define LFRD0 _SFR_MEM8(0x8C)
3908+
3909+#define LFRD1 _SFR_MEM8(0x8D)
3910+
3911+#define LFRD2 _SFR_MEM8(0x8E)
3912+
3913+#define LFRD3 _SFR_MEM8(0x8F)
3914+
3915+#define LFID0M _SFR_MEM8(0x90)
3916+#define ID0FS0 0
3917+#define ID0FS1 1
3918+#define ID0FS2 2
3919+#define ID0FS3 3
3920+#define ID0FS4 4
3921+#define ID0E 7
3922+
3923+#define LFID1M _SFR_MEM8(0x91)
3924+#define ID1FS0 0
3925+#define ID1FS1 1
3926+#define ID1FS2 2
3927+#define ID1FS3 3
3928+#define ID1FS4 4
3929+#define ID1E 7
3930+
3931+#define LFRDF _SFR_MEM8(0x92)
3932+#define RDFS0 0
3933+#define RDFS1 1
3934+#define RDFS2 2
3935+#define RDFS3 3
3936+#define RDFS4 4
3937+#define RDFE 7
3938+
3939+#define LFRSD1 _SFR_MEM8(0x93)
3940+
3941+#define LFRSD2 _SFR_MEM8(0x94)
3942+
3943+#define LFRSD3 _SFR_MEM8(0x95)
3944+
3945+#define LFCC1 _SFR_MEM8(0x96)
3946+
3947+#define LFCC2 _SFR_MEM8(0x97)
3948+
3949+#define LFCC3 _SFR_MEM8(0x98)
3950+
3951+#define LFQCR _SFR_MEM8(0x99)
3952+#define LFQCLL 0
3953+
3954+/* Reserved [0x9A..0x9B] */
9fe267c2
PZ
3955+
3956+#define TPIMR _SFR_MEM8(0x9C)
3957+#define TPIM 0
3958+
3959+/* Reserved [0x9D] */
3960+
3961+#define RTCCR _SFR_MEM8(0x9E)
3962+#define RTCR 0
3963+
3964+#define RTCDR _SFR_MEM8(0x9F)
3965+
3966+/* Reserved [0xA0..0xA7] */
3967+
3968+#define TMMDR _SFR_MEM8(0xA8)
3969+
3970+#define TMBDR _SFR_MEM8(0xA9)
3971+
3972+#define TMTDR _SFR_MEM8(0xAA)
3973+
3974+#define TMSR _SFR_MEM8(0xAB)
3975+
69ed15f0 3976+#define CRCPOL _SFR_MEM8(0xAC)
9fe267c2
PZ
3977+
3978+#define CRCDR _SFR_MEM8(0xAD)
3979+
3980+#define CRCCR _SFR_MEM8(0xAE)
3981+#define CRCN0 0
3982+#define CRCN1 1
3983+#define CRCN2 2
3984+#define CRCSEL 3
3985+#define REFLI 4
3986+#define REFLO 5
69ed15f0 3987+#define STVAL 6
9fe267c2
PZ
3988+#define CRCRS 7
3989+
3990+#define CRCSR _SFR_MEM8(0xAF)
3991+#define CRCBF 0
3992+
3993+
3994+
3995+/* Interrupt vectors */
3996+/* Vector 0 is the reset vector */
3997+/* Transponder Mode Interrupt */
69ed15f0
JR
3998+#define TPINT_vect _VECTOR(1)
3999+#define TPINT_vect_num 1
9fe267c2
PZ
4000+
4001+/* External Interrupt Request 0 */
69ed15f0
JR
4002+#define INT0_vect _VECTOR(2)
4003+#define INT0_vect_num 2
9fe267c2
PZ
4004+
4005+/* Pin Change Interrupt Request 0 */
69ed15f0
JR
4006+#define PCINT0_vect _VECTOR(3)
4007+#define PCINT0_vect_num 3
9fe267c2
PZ
4008+
4009+/* Pin Change Interrupt Request 1 */
69ed15f0
JR
4010+#define PCINT1_vect _VECTOR(4)
4011+#define PCINT1_vect_num 4
9fe267c2 4012+
69ed15f0
JR
4013+/* Voltage Monitoring Interrupt */
4014+#define VMINT_vect _VECTOR(5)
4015+#define VMINT_vect_num 5
9fe267c2
PZ
4016+
4017+/* Timer0 Interval Interrupt */
69ed15f0
JR
4018+#define T0INT_vect _VECTOR(6)
4019+#define T0INT_vect_num 6
9fe267c2 4020+
69ed15f0
JR
4021+/* LF-Receiver Identifier 0 Interrupt */
4022+#define LFID0INT_vect _VECTOR(7)
4023+#define LFID0INT_vect_num 7
9fe267c2 4024+
69ed15f0
JR
4025+/* LF-Receiver Identifier 1 Interrupt */
4026+#define LFID1INT_vect _VECTOR(8)
4027+#define LFID1INT_vect_num 8
9fe267c2 4028+
69ed15f0
JR
4029+/* LF-Receiver Frame End Interrupt */
4030+#define LFFEINT_vect _VECTOR(9)
4031+#define LFFEINT_vect_num 9
9fe267c2 4032+
69ed15f0
JR
4033+/* LF-Receiver Data Buffer full Interrupt */
4034+#define LFDBINT_vect _VECTOR(10)
4035+#define LFDBINT_vect_num 10
9fe267c2 4036+
69ed15f0
JR
4037+/* Timer/Counter3 Capture Event Interrupt */
4038+#define T3CAPINT_vect _VECTOR(11)
4039+#define T3CAPINT_vect_num 11
9fe267c2 4040+
69ed15f0
JR
4041+/* Timer/Counter3 Compare Match Interrupt */
4042+#define T3COMINT_vect _VECTOR(12)
4043+#define T3COMINT_vect_num 12
9fe267c2 4044+
69ed15f0
JR
4045+/* Timer/Counter3 Overflow Interrupt */
4046+#define T3OVFINT_vect _VECTOR(13)
4047+#define T3OVFINT_vect_num 13
4048+
4049+/* Timer/Counter3 Compare Match 2 Interrupt */
4050+#define T3COM2INT_vect _VECTOR(14)
4051+#define T3COM2INT_vect_num 14
4052+
4053+/* Timer/Counter2 Compare Match Interrupt */
4054+#define T2COMINT_vect _VECTOR(15)
4055+#define T2COMINT_vect_num 15
4056+
4057+/* Timer/Counter2 Overflow Interrupt */
4058+#define T2OVFINT_vect _VECTOR(16)
4059+#define T2OVFINT_vect_num 16
4060+
4061+/* Timer 1 Interval Interrupt */
4062+#define T1INT_vect _VECTOR(17)
4063+#define T1INT_vect_num 17
4064+
4065+/* SPI Serial Transfer Complete Interrupt */
4066+#define SPISTC_vect _VECTOR(18)
4067+#define SPISTC_vect_num 18
9fe267c2
PZ
4068+
4069+/* Timer Modulator SSI Receive Buffer Interrupt */
69ed15f0
JR
4070+#define TMRXBINT_vect _VECTOR(19)
4071+#define TMRXBINT_vect_num 19
9fe267c2
PZ
4072+
4073+/* Timer Modulator SSI Transmit Buffer Interrupt */
69ed15f0
JR
4074+#define TMTXBINT_vect _VECTOR(20)
4075+#define TMTXBINT_vect_num 20
9fe267c2
PZ
4076+
4077+/* Timer Modulator Transmit Complete Interrupt */
69ed15f0
JR
4078+#define TMTXCINT_vect _VECTOR(21)
4079+#define TMTXCINT_vect_num 21
9fe267c2
PZ
4080+
4081+/* AES Interrupt */
69ed15f0
JR
4082+#define AESINT_vect _VECTOR(22)
4083+#define AESINT_vect_num 22
4084+
4085+/* LF-Receiver RSSi measurement Interrupt */
4086+#define LFRSSINT_vect _VECTOR(23)
4087+#define LFRSSINT_vect_num 23
4088+
4089+/* LF-Receiver Signal Detect Interrupt */
4090+#define LFSDINT_vect _VECTOR(24)
4091+#define LFSDINT_vect_num 24
4092+
4093+/* LF-Receiver Manchester Decoder error Interrupt */
4094+#define LFMDINT_vect _VECTOR(25)
4095+#define LFMDINT_vect_num 25
9fe267c2
PZ
4096+
4097+/* External Input Clock Monitoring Interrupt */
69ed15f0
JR
4098+#define EXCMINT_vect _VECTOR(26)
4099+#define EXCMINT_vect_num 26
9fe267c2
PZ
4100+
4101+/* External XTAL Oscillator Break Down Interrupt */
69ed15f0
JR
4102+#define EXXMINT_vect _VECTOR(27)
4103+#define EXXMINT_vect_num 27
9fe267c2
PZ
4104+
4105+/* Real Time Clock Interrupt */
69ed15f0
JR
4106+#define RTCINT_vect _VECTOR(28)
4107+#define RTCINT_vect_num 28
9fe267c2
PZ
4108+
4109+/* EEPROM Ready Interrupt */
69ed15f0
JR
4110+#define EEREADY_vect _VECTOR(29)
4111+#define EEREADY_vect_num 29
9fe267c2
PZ
4112+
4113+/* Store Program Memory Ready */
69ed15f0
JR
4114+#define SPMREADY_vect _VECTOR(30)
4115+#define SPMREADY_vect_num 30
9fe267c2 4116+
69ed15f0 4117+#define _VECTORS_SIZE 124
9fe267c2
PZ
4118+
4119+
4120+/* Constants */
4121+
69ed15f0
JR
4122+#define SPM_PAGESIZE 128
4123+#define FLASHSTART 0x0000
4124+#define FLASHEND 0x3FFF
9fe267c2
PZ
4125+#define RAMSTART 0x0100
4126+#define RAMSIZE 512
4127+#define RAMEND 0x02FF
4128+#define E2START 0
4129+#define E2SIZE 2048
4130+#define E2PAGESIZE 16
4131+#define E2END 0x07FF
4132+#define XRAMEND RAMEND
4133+
4134+
4135+/* Fuses */
4136+
4137+#define FUSE_MEMORY_SIZE 1
4138+
4139+/* Fuse Byte */
4140+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
4141+#define FUSE_DWEN (unsigned char)~_BV(64)
4142+#define FUSE_SPIEN (unsigned char)~_BV(32)
4143+#define FUSE_WDTON (unsigned char)~_BV(16)
4144+#define FUSE_EESAVE (unsigned char)~_BV(8)
4145+#define FUSE_Reserved (unsigned char)~_BV(4)
4146+#define FUSE__32OEN (unsigned char)~_BV(2)
4147+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
4148+
4149+/* Lock Bits */
4150+#define __LOCK_BITS_EXIST
4151+#define __BOOT_LOCK_BITS_0_EXIST
4152+#define __BOOT_LOCK_BITS_1_EXIST
4153+
4154+
4155+/* Signature */
4156+#define SIGNATURE_0 0x1E
69ed15f0
JR
4157+#define SIGNATURE_1 0x94
4158+#define SIGNATURE_2 0x62
9fe267c2
PZ
4159+
4160+
69ed15f0 4161+#endif /* #ifdef _AVR_ATA5790N_H_INCLUDED */
9fe267c2 4162+
69ed15f0
JR
4163diff -urN avr-libc-1.8.0.orig/include/avr/ioa5795.h avr-libc-1.8.0/include/avr/ioa5795.h
4164--- avr-libc-1.8.0.orig/include/avr/ioa5795.h 1970-01-01 01:00:00.000000000 +0100
4165+++ avr-libc-1.8.0/include/avr/ioa5795.h 2013-06-12 12:21:34.000000000 +0200
4166@@ -0,0 +1,700 @@
9fe267c2
PZ
4167+/*****************************************************************************
4168+ *
69ed15f0 4169+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
4170+ * All rights reserved.
4171+ *
4172+ * Redistribution and use in source and binary forms, with or without
4173+ * modification, are permitted provided that the following conditions are met:
4174+ *
4175+ * * Redistributions of source code must retain the above copyright
4176+ * notice, this list of conditions and the following disclaimer.
4177+ *
4178+ * * Redistributions in binary form must reproduce the above copyright
4179+ * notice, this list of conditions and the following disclaimer in
4180+ * the documentation and/or other materials provided with the
4181+ * distribution.
4182+ *
4183+ * * Neither the name of the copyright holders nor the names of
4184+ * contributors may be used to endorse or promote products derived
4185+ * from this software without specific prior written permission.
4186+ *
4187+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
4188+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4189+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4190+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
4191+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
4192+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
4193+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
4194+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
4195+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
4196+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4197+ * POSSIBILITY OF SUCH DAMAGE.
4198+ ****************************************************************************/
4199+
4200+
69ed15f0
JR
4201+#ifndef _AVR_ATA5795_H_INCLUDED
4202+#define _AVR_ATA5795_H_INCLUDED
9fe267c2
PZ
4203+
4204+
4205+#ifndef _AVR_IO_H_
4206+# error "Include <avr/io.h> instead of this file."
4207+#endif
4208+
4209+#ifndef _AVR_IOXXX_H_
69ed15f0 4210+# define _AVR_IOXXX_H_ "ioa5795.h"
9fe267c2
PZ
4211+#else
4212+# error "Attempt to include more than one <avr/ioXXX.h> file."
4213+#endif
4214+
4215+/* Registers and associated bit numbers */
4216+
4217+#define PINB _SFR_IO8(0x03)
4218+#define PINB7 7
4219+#define PINB6 6
4220+#define PINB5 5
4221+#define PINB4 4
4222+#define PINB3 3
4223+#define PINB2 2
4224+#define PINB1 1
4225+#define PINB0 0
4226+
4227+#define DDRB _SFR_IO8(0x04)
4228+#define DDRB7 7
4229+#define DDRB6 6
4230+#define DDRB5 5
4231+#define DDRB4 4
4232+#define DDRB3 3
4233+#define DDRB2 2
4234+#define DDRB1 1
4235+#define DDRB0 0
4236+
4237+#define PORTB _SFR_IO8(0x05)
4238+#define PORTB7 7
4239+#define PORTB6 6
4240+#define PORTB5 5
4241+#define PORTB4 4
4242+#define PORTB3 3
4243+#define PORTB2 2
4244+#define PORTB1 1
4245+#define PORTB0 0
4246+
4247+#define PINC _SFR_IO8(0x06)
4248+#define PINC7 7
4249+#define PINC6 6
4250+#define PINC5 5
4251+#define PINC4 4
4252+#define PINC3 3
4253+#define PINC2 2
4254+#define PINC1 1
4255+#define PINC0 0
4256+
4257+#define DDRC _SFR_IO8(0x07)
4258+#define DDRC7 7
4259+#define DDRC6 6
4260+#define DDRC5 5
4261+#define DDRC4 4
4262+#define DDRC3 3
4263+#define DDRC2 2
4264+#define DDRC1 1
4265+#define DDRC0 0
4266+
4267+#define PORTC _SFR_IO8(0x08)
4268+#define PORTC7 7
4269+#define PORTC6 6
4270+#define PORTC5 5
4271+#define PORTC4 4
4272+#define PORTC3 3
4273+#define PORTC2 2
4274+#define PORTC1 1
4275+#define PORTC0 0
4276+
4277+#define PIND _SFR_IO8(0x09)
4278+#define PIND7 7
4279+#define PIND6 6
4280+#define PIND5 5
4281+#define PIND4 4
4282+#define PIND3 3
4283+#define PIND2 2
4284+#define PIND1 1
4285+#define PIND0 0
4286+
4287+#define DDRD _SFR_IO8(0x0A)
4288+#define DDRD7 7
4289+#define DDRD6 6
4290+#define DDRD5 5
4291+#define DDRD4 4
4292+#define DDRD3 3
4293+#define DDRD2 2
4294+#define DDRD1 1
4295+#define DDRD0 0
4296+
4297+#define PORTD _SFR_IO8(0x0B)
4298+#define PORTD7 7
4299+#define PORTD6 6
4300+#define PORTD5 5
4301+#define PORTD4 4
4302+#define PORTD3 3
4303+#define PORTD2 2
4304+#define PORTD1 1
4305+#define PORTD0 0
4306+
69ed15f0
JR
4307+/* Reserved [0x0C] */
4308+
4309+#define TPCR _SFR_IO8(0x0D)
4310+#define TPMA 0
4311+#define TPMOD 1
4312+#define TPMS0 2
4313+#define TPMS1 3
4314+#define TPMD0 4
4315+#define TPMD1 5
4316+#define TPPSD 6
4317+#define TPD 7
4318+
4319+#define TPFR _SFR_IO8(0x0E)
4320+#define TPF 0
4321+#define TPA 1
4322+#define TPGAP 2
4323+#define TPPSW 3
9fe267c2
PZ
4324+
4325+#define CMCR _SFR_IO8(0x0F)
4326+#define CMM0 0
4327+#define CMM1 1
4328+#define SRCD 2
69ed15f0 4329+#define CO32D 3
9fe267c2
PZ
4330+#define CCS 4
4331+#define ECINS 5
69ed15f0 4332+#define CMONEN 6
9fe267c2
PZ
4333+#define CMCCE 7
4334+
4335+#define CMSR _SFR_IO8(0x10)
4336+#define ECF 0
69ed15f0
JR
4337+#define SXF 1
4338+#define RTCF 2
9fe267c2 4339+
69ed15f0 4340+#define T2CR _SFR_IO8(0x11)
9fe267c2
PZ
4341+#define T2OTM 0
4342+#define T2CTM 1
69ed15f0
JR
4343+#define T2CRM 2
4344+#define T2GRM 3
4345+#define T2TOP 4
4346+#define T2RES 5
9fe267c2
PZ
4347+#define T2TS 6
4348+#define T2E 7
4349+
69ed15f0
JR
4350+#define T3CR _SFR_IO8(0x12)
4351+#define T3OTM 0
4352+#define T3CTM 1
4353+#define T3CRM 2
4354+#define T3CPRM 3
4355+#define T3TOP 4
4356+#define T3RES 5
4357+#define T3CPTM 6
4358+#define T3E 7
9fe267c2 4359+
69ed15f0
JR
4360+#define AESCR _SFR_IO8(0x13)
4361+#define AESWK 0
4362+#define AESWD 1
4363+#define AESIM 2
4364+#define AESD 3
4365+#define AESXOR 4
4366+#define AESRES 5
4367+#define AESE 7
9fe267c2 4368+
69ed15f0
JR
4369+#define AESSR _SFR_IO8(0x14)
4370+#define AESRF 0
4371+#define AESERF 7
9fe267c2 4372+
69ed15f0
JR
4373+#define TMIFR _SFR_IO8(0x15)
4374+#define TMRXF 0
4375+#define TMTXF 1
4376+#define TMTCF 2
4377+#define TMRXS 3
4378+#define TMTXS 4
9fe267c2 4379+
69ed15f0
JR
4380+#define VMSR _SFR_IO8(0x16)
4381+#define VMF 0
9fe267c2
PZ
4382+
4383+#define PCIFR _SFR_IO8(0x17)
4384+#define PCIF0 0
4385+#define PCIF1 1
9fe267c2 4386+
69ed15f0 4387+/* Reserved [0x18] */
9fe267c2 4388+
69ed15f0 4389+#define T0IFR _SFR_IO8(0x19)
9fe267c2 4390+#define T0F 0
69ed15f0
JR
4391+
4392+#define T1IFR _SFR_IO8(0x1A)
4393+#define T1F 0
9fe267c2
PZ
4394+
4395+#define T2IFR _SFR_IO8(0x1B)
4396+#define T2OFF 0
4397+#define T2COF 1
9fe267c2
PZ
4398+
4399+#define T3IFR _SFR_IO8(0x1C)
4400+#define T3OFF 0
69ed15f0
JR
4401+#define T3COF 1
4402+#define T3ICF 2
9fe267c2
PZ
4403+
4404+#define EIFR _SFR_IO8(0x1D)
4405+#define INTF0 0
9fe267c2
PZ
4406+
4407+#define GPIOR0 _SFR_IO8(0x1E)
4408+
4409+#define EECR _SFR_IO8(0x1F)
4410+#define EERE 0
4411+#define EEWE 1
4412+#define EEMWE 2
4413+#define EERIE 3
4414+#define EEPM0 4
4415+#define EEPM1 5
69ed15f0 4416+#define EELP 6
9fe267c2
PZ
4417+
4418+#define EEDR _SFR_IO8(0x20)
4419+
4420+/* Combine EEARL and EEARH */
4421+#define EEAR _SFR_IO16(0x21)
4422+
4423+#define EEARL _SFR_IO8(0x21)
4424+#define EEARH _SFR_IO8(0x22)
4425+
69ed15f0
JR
4426+#define EEPR _SFR_IO8(0x23)
4427+#define EEAP0 0
4428+#define EEAP1 1
4429+#define EEAP2 2
4430+#define EEAP3 3
4431+
4432+#define EECCR _SFR_IO8(0x24)
4433+#define EEL0 0
4434+#define EEL1 1
4435+#define EEL2 2
4436+#define EEL3 3
4437+
4438+/* Reserved [0x25] */
4439+
4440+#define PCICR _SFR_IO8(0x26)
9fe267c2
PZ
4441+#define PCIE0 0
4442+#define PCIE1 1
9fe267c2 4443+
69ed15f0 4444+#define EIMSK _SFR_IO8(0x27)
9fe267c2 4445+#define INT0 0
9fe267c2 4446+
69ed15f0 4447+#define TMDR _SFR_IO8(0x28)
9fe267c2 4448+
69ed15f0 4449+#define AESDR _SFR_IO8(0x29)
9fe267c2 4450+
69ed15f0
JR
4451+#define AESKR _SFR_IO8(0x2A)
4452+#define AESKR0 0
4453+#define AESKR1 1
4454+#define AESKR2 2
4455+#define AESKR3 3
4456+#define AESKR4 4
4457+#define AESKR5 5
4458+#define AESKR6 6
4459+#define AESKR7 7
9fe267c2 4460+
69ed15f0
JR
4461+#define VMCR _SFR_IO8(0x2B)
4462+#define VMLS0 0
4463+#define VMLS1 1
4464+#define VMLS2 2
4465+#define VMLS3 3
4466+#define VMIM 4
4467+#define VMPS 5
4468+#define BODPD 6
4469+#define BODLS 7
9fe267c2
PZ
4470+
4471+#define SPCR _SFR_IO8(0x2C)
4472+#define SPR0 0
4473+#define SPR1 1
4474+#define CPHA 2
4475+#define CPOL 3
4476+#define MSTR 4
4477+#define DORD 5
4478+#define SPE 6
4479+#define SPIE 7
4480+
4481+#define SPSR _SFR_IO8(0x2D)
4482+#define SPI2X 0
4483+#define WCOL 6
4484+#define SPIF 7
4485+
4486+#define SPDR _SFR_IO8(0x2E)
4487+
69ed15f0 4488+/* Reserved [0x2F..0x32] */
9fe267c2
PZ
4489+
4490+#define SMCR _SFR_IO8(0x33)
4491+#define SE 0
4492+#define SM0 1
4493+#define SM1 2
4494+#define SM2 3
4495+
4496+#define MCUSR _SFR_IO8(0x34)
4497+#define PORF 0
4498+#define EXTRF 1
4499+#define BORF 2
4500+#define WDRF 3
69ed15f0 4501+#define TPRF 5
9fe267c2
PZ
4502+
4503+#define MCUCR _SFR_IO8(0x35)
4504+#define IVCE 0
4505+#define IVSEL 1
4506+#define PUD 4
4507+
69ed15f0 4508+/* Reserved [0x36] */
9fe267c2
PZ
4509+
4510+#define SPMCSR _SFR_IO8(0x37)
69ed15f0 4511+#define SPMEN 0
9fe267c2
PZ
4512+#define PGERS 1
4513+#define PGWRT 2
4514+#define BLBSET 3
4515+#define RWWSRE 4
69ed15f0 4516+#define SIGRD 5
9fe267c2
PZ
4517+#define RWWSB 6
4518+#define SPMIE 7
4519+
4520+#define T1CR _SFR_IO8(0x38)
4521+#define T1PS0 0
4522+#define T1PS1 1
69ed15f0 4523+#define T1IE 2
9fe267c2
PZ
4524+#define T1CS0 3
4525+#define T1CS1 4
69ed15f0 4526+#define T1E 7
9fe267c2
PZ
4527+
4528+#define T0CR _SFR_IO8(0x39)
69ed15f0
JR
4529+#define T0PS0 0
4530+#define T0PS1 1
4531+#define T0PS2 2
9fe267c2
PZ
4532+#define T0IE 3
4533+#define T0PR 4
9fe267c2
PZ
4534+
4535+/* Reserved [0x3A] */
4536+
4537+#define CMIMR _SFR_IO8(0x3B)
4538+#define ECIE 0
69ed15f0
JR
4539+#define SXIE 1
4540+#define RTCIE 2
9fe267c2
PZ
4541+
4542+#define CLKPR _SFR_IO8(0x3C)
4543+#define CLKPS0 0
4544+#define CLKPS1 1
4545+#define CLKPS2 2
4546+#define CLTPS0 3
4547+#define CLTPS1 4
4548+#define CLTPS2 5
69ed15f0 4549+#define CLKPCE 7
9fe267c2
PZ
4550+
4551+/* SP [0x3D..0x3E] */
4552+
4553+/* SREG [0x3F] */
4554+
4555+#define WDTCR _SFR_MEM8(0x60)
4556+#define WDPS0 0
4557+#define WDPS1 1
4558+#define WDPS2 2
4559+#define WDE 3
4560+#define WDCE 4
4561+
69ed15f0 4562+/* Reserved [0x61..0x62] */
9fe267c2 4563+
69ed15f0
JR
4564+#define PRR0 _SFR_MEM8(0x63)
4565+#define PRT1 1
4566+#define PRT2 2
4567+#define PRT3 3
4568+#define PRTM 4
4569+#define PRCU 5
4570+#define PRDS 6
4571+#define PRVM 7
9fe267c2 4572+
69ed15f0
JR
4573+#define PRR1 _SFR_MEM8(0x64)
4574+#define PRCI 0
4575+#define PRSPI 1
9fe267c2
PZ
4576+
4577+#define SRCCAL _SFR_MEM8(0x65)
4578+
4579+#define FRCCAL _SFR_MEM8(0x66)
4580+
69ed15f0 4581+/* Reserved [0x67..0x68] */
9fe267c2
PZ
4582+
4583+#define EICRA _SFR_MEM8(0x69)
4584+#define ISC00 0
4585+#define ISC01 1
9fe267c2
PZ
4586+
4587+#define PCMSK0 _SFR_MEM8(0x6A)
4588+#define PCINT0 0
4589+#define PCINT1 1
4590+#define PCINT2 2
4591+#define PCINT3 3
4592+#define PCINT4 4
4593+#define PCINT5 5
4594+#define PCINT6 6
4595+#define PCINT7 7
4596+
4597+#define PCMSK1 _SFR_MEM8(0x6B)
4598+#define PCINT8 0
4599+#define PCINT9 1
4600+#define PCINT10 2
69ed15f0
JR
4601+#define PCINT11 3
4602+#define PCINT12 4
4603+#define PCINT13 5
4604+#define PCINT14 6
4605+#define PCINT15 7
9fe267c2 4606+
69ed15f0 4607+/* Reserved [0x6C] */
9fe267c2 4608+
69ed15f0
JR
4609+#define LDCR _SFR_MEM8(0x6D)
4610+#define LDE 0
4611+#define LDCS0 1
4612+#define LDCS1 2
9fe267c2 4613+
69ed15f0 4614+/* Reserved [0x6E..0x6F] */
9fe267c2 4615+
69ed15f0 4616+#define T2CNT _SFR_MEM8(0x70)
9fe267c2 4617+
69ed15f0 4618+#define T2COR _SFR_MEM8(0x71)
9fe267c2 4619+
69ed15f0 4620+/* Reserved [0x72] */
9fe267c2 4621+
69ed15f0 4622+#define T2MR _SFR_MEM8(0x73)
9fe267c2
PZ
4623+#define T2CS0 0
4624+#define T2CS1 1
4625+#define T2CS2 2
69ed15f0
JR
4626+#define T2PS0 3
4627+#define T2PS1 4
4628+#define T2PS2 5
4629+#define T2D0 6
4630+#define T2D1 7
9fe267c2
PZ
4631+
4632+#define T2IMR _SFR_MEM8(0x74)
4633+#define T2OIM 0
4634+#define T2CIM 1
9fe267c2
PZ
4635+
4636+/* Reserved [0x75] */
4637+
69ed15f0 4638+#define T3CNT _SFR_MEM8(0x76)
9fe267c2 4639+
69ed15f0 4640+#define T3COR _SFR_MEM8(0x77)
9fe267c2 4641+
69ed15f0 4642+#define T3ICR _SFR_MEM8(0x78)
9fe267c2 4643+
69ed15f0 4644+#define T3MRA _SFR_MEM8(0x79)
9fe267c2
PZ
4645+#define T3CS0 0
4646+#define T3CS1 1
69ed15f0 4647+#define T3SCE 2
9fe267c2
PZ
4648+#define T3CE0 3
4649+#define T3CE1 4
4650+#define T3CNC 5
4651+#define T3ICS0 6
4652+#define T3ICS1 7
4653+
69ed15f0
JR
4654+#define T3MRB _SFR_MEM8(0x7A)
4655+#define T3PS0 0
4656+#define T3PS1 1
4657+#define T3PS2 2
9fe267c2 4658+
69ed15f0 4659+#define T3IMR _SFR_MEM8(0x7B)
9fe267c2 4660+#define T3OIM 0
69ed15f0
JR
4661+#define T3CIM 1
4662+#define T3CPIM 2
9fe267c2 4663+
69ed15f0 4664+/* Reserved [0x7C] */
9fe267c2 4665+
69ed15f0
JR
4666+#define TMCR _SFR_MEM8(0x7D)
4667+#define MI1S0 0
4668+#define MI1S1 1
4669+#define MI2S0 2
4670+#define MI2S1 3
4671+#define MI4S0 4
4672+#define MI4S1 5
4673+#define TMCPOL 6
4674+#define TMSSIE 7
9fe267c2 4675+
69ed15f0
JR
4676+#define TMMR _SFR_MEM8(0x7E)
4677+#define MOS0 0
4678+#define MOS1 1
4679+#define MSCS0 2
4680+#define MSCS1 3
4681+#define MOUTC 4
4682+#define TMMS0 5
4683+#define TMMS1 6
4684+#define TM12S 7
9fe267c2 4685+
69ed15f0
JR
4686+#define TMIMR _SFR_MEM8(0x7F)
4687+#define TMRXIM 0
4688+#define TMTXIM 1
4689+#define TMTCIM 2
9fe267c2 4690+
69ed15f0 4691+/* Reserved [0x80..0x9B] */
9fe267c2 4692+
69ed15f0
JR
4693+#define TPIMR _SFR_MEM8(0x9C)
4694+#define TPIM 0
9fe267c2 4695+
69ed15f0 4696+/* Reserved [0x9D] */
9fe267c2 4697+
69ed15f0
JR
4698+#define RTCCR _SFR_MEM8(0x9E)
4699+#define RTCR 0
4700+
4701+#define RTCDR _SFR_MEM8(0x9F)
4702+
4703+/* Reserved [0xA0..0xA7] */
4704+
4705+#define TMMDR _SFR_MEM8(0xA8)
4706+
4707+#define TMBDR _SFR_MEM8(0xA9)
4708+
4709+#define TMTDR _SFR_MEM8(0xAA)
4710+
4711+#define TMSR _SFR_MEM8(0xAB)
4712+
4713+/* Reserved [0xAC] */
4714+
4715+#define CRCDR _SFR_MEM8(0xAD)
4716+
4717+#define CRCCR _SFR_MEM8(0xAE)
4718+#define CRCN0 0
4719+#define CRCN1 1
4720+#define CRCN2 2
4721+#define CRCSEL 3
4722+#define REFLI 4
4723+#define REFLO 5
4724+#define CRCRS 7
4725+
4726+#define CRCSR _SFR_MEM8(0xAF)
4727+#define CRCBF 0
9fe267c2
PZ
4728+
4729+
4730+
4731+/* Interrupt vectors */
4732+/* Vector 0 is the reset vector */
69ed15f0
JR
4733+/* Transponder Mode Interrupt */
4734+#define TPINT_vect _VECTOR(2)
4735+#define TPINT_vect_num 2
9fe267c2 4736+
69ed15f0
JR
4737+/* External Interrupt Request 0 */
4738+#define INT0_vect _VECTOR(4)
4739+#define INT0_vect_num 4
9fe267c2
PZ
4740+
4741+/* Pin Change Interrupt Request 0 */
69ed15f0
JR
4742+#define PCINT0_vect _VECTOR(6)
4743+#define PCINT0_vect_num 6
9fe267c2
PZ
4744+
4745+/* Pin Change Interrupt Request 1 */
69ed15f0
JR
4746+#define PCINT1_vect _VECTOR(8)
4747+#define PCINT1_vect_num 8
9fe267c2
PZ
4748+
4749+/* Voltage Monitor Interrupt */
69ed15f0
JR
4750+#define VMINT_vect _VECTOR(10)
4751+#define VMINT_vect_num 10
9fe267c2
PZ
4752+
4753+/* Timer0 Interval Interrupt */
69ed15f0
JR
4754+#define T0INT_vect _VECTOR(12)
4755+#define T0INT_vect_num 12
9fe267c2 4756+
69ed15f0
JR
4757+/* Timer3 Capture Interrupt */
4758+#define T3CAPINT_vect _VECTOR(14)
4759+#define T3CAPINT_vect_num 14
9fe267c2 4760+
69ed15f0
JR
4761+/* Timer3 Compare Match Interrupt */
4762+#define T3COMINT_vect _VECTOR(16)
4763+#define T3COMINT_vect_num 16
9fe267c2 4764+
69ed15f0
JR
4765+/* Timer3 Overflow Interrupt */
4766+#define T3OVFINT_vect _VECTOR(18)
4767+#define T3OVFINT_vect_num 18
9fe267c2 4768+
69ed15f0
JR
4769+/* Timer2 Compare Match Interrupt */
4770+#define T2COMINT_vect _VECTOR(20)
4771+#define T2COMINT_vect_num 20
9fe267c2 4772+
69ed15f0
JR
4773+/* Timer2 Overflow Interrupt */
4774+#define T2OVFINT_vect _VECTOR(22)
4775+#define T2OVFINT_vect_num 22
9fe267c2 4776+
69ed15f0
JR
4777+/* Timer1 Interval Interrupt */
4778+#define T1INT_vect _VECTOR(24)
4779+#define T1INT_vect_num 24
9fe267c2
PZ
4780+
4781+/* SPI Serial Transfer Complete */
69ed15f0
JR
4782+#define SPISTC_vect _VECTOR(26)
4783+#define SPISTC_vect_num 26
9fe267c2 4784+
69ed15f0
JR
4785+/* Timer Modulator SSI Receive Buffer Interrupt */
4786+#define TMRXBINT_vect _VECTOR(28)
4787+#define TMRXBINT_vect_num 28
9fe267c2 4788+
69ed15f0
JR
4789+/* Timer Modulator SSI Transmit Buffer Interrupt */
4790+#define TMTXBINT_vect _VECTOR(30)
4791+#define TMTXBINT_vect_num 30
9fe267c2 4792+
69ed15f0
JR
4793+/* Timer Modulator Transmit Complete Interrupt */
4794+#define TMTXCINT_vect _VECTOR(32)
4795+#define TMTXCINT_vect_num 32
9fe267c2 4796+
69ed15f0
JR
4797+/* AES Interrupt */
4798+#define AESINT_vect _VECTOR(34)
4799+#define AESINT_vect_num 34
9fe267c2 4800+
69ed15f0
JR
4801+/* External Input Clock Monitoring Interrupt */
4802+#define EXCMINT_vect _VECTOR(36)
4803+#define EXCMINT_vect_num 36
9fe267c2 4804+
69ed15f0
JR
4805+/* External XTAL Oscillator Break Down Interrupt */
4806+#define EXXMINT_vect _VECTOR(38)
4807+#define EXXMINT_vect_num 38
9fe267c2 4808+
69ed15f0
JR
4809+/* Real Time Clock Interrupt */
4810+#define RTCINT_vect _VECTOR(40)
4811+#define RTCINT_vect_num 40
9fe267c2
PZ
4812+
4813+/* EEPROM Ready Interrupt */
69ed15f0
JR
4814+#define EEREADY_vect _VECTOR(42)
4815+#define EEREADY_vect_num 42
9fe267c2 4816+
69ed15f0
JR
4817+/* Store Program Memory Ready */
4818+#define SPMREADY_vect _VECTOR(44)
4819+#define SPMREADY_vect_num 44
9fe267c2 4820+
69ed15f0 4821+#define _VECTORS_SIZE 46
9fe267c2
PZ
4822+
4823+
4824+/* Constants */
4825+
4826+#define SPM_PAGESIZE 64
69ed15f0 4827+#define FLASHSTART 0x0000
9fe267c2
PZ
4828+#define FLASHEND 0x1FFF
4829+#define RAMSTART 0x0100
4830+#define RAMSIZE 512
4831+#define RAMEND 0x02FF
4832+#define E2START 0
69ed15f0
JR
4833+#define E2SIZE 2048
4834+#define E2PAGESIZE 16
4835+#define E2END 0x07FF
9fe267c2
PZ
4836+#define XRAMEND RAMEND
4837+
4838+
4839+/* Fuses */
4840+
69ed15f0 4841+#define FUSE_MEMORY_SIZE 1
9fe267c2 4842+
69ed15f0
JR
4843+/* Fuse Byte */
4844+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
4845+#define FUSE_DWEN (unsigned char)~_BV(64)
4846+#define FUSE_SPIEN (unsigned char)~_BV(32)
4847+#define FUSE_WDTON (unsigned char)~_BV(16)
4848+#define FUSE_EESAVE (unsigned char)~_BV(8)
4849+#define FUSE_Reserved (unsigned char)~_BV(4)
4850+#define FUSE__32OEN (unsigned char)~_BV(2)
4851+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
9fe267c2
PZ
4852+
4853+/* Lock Bits */
4854+#define __LOCK_BITS_EXIST
4855+#define __BOOT_LOCK_BITS_0_EXIST
4856+#define __BOOT_LOCK_BITS_1_EXIST
4857+
4858+
4859+/* Signature */
4860+#define SIGNATURE_0 0x1E
4861+#define SIGNATURE_1 0x93
69ed15f0 4862+#define SIGNATURE_2 0x61
9fe267c2
PZ
4863+
4864+
69ed15f0 4865+#endif /* #ifdef _AVR_ATA5795_H_INCLUDED */
9fe267c2 4866+
69ed15f0
JR
4867diff -urN avr-libc-1.8.0.orig/include/avr/ioa5831.h avr-libc-1.8.0/include/avr/ioa5831.h
4868--- avr-libc-1.8.0.orig/include/avr/ioa5831.h 1970-01-01 01:00:00.000000000 +0100
4869+++ avr-libc-1.8.0/include/avr/ioa5831.h 2013-06-12 12:21:34.000000000 +0200
4870@@ -0,0 +1,1891 @@
9fe267c2
PZ
4871+/*****************************************************************************
4872+ *
69ed15f0 4873+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
4874+ * All rights reserved.
4875+ *
4876+ * Redistribution and use in source and binary forms, with or without
4877+ * modification, are permitted provided that the following conditions are met:
4878+ *
4879+ * * Redistributions of source code must retain the above copyright
4880+ * notice, this list of conditions and the following disclaimer.
4881+ *
4882+ * * Redistributions in binary form must reproduce the above copyright
4883+ * notice, this list of conditions and the following disclaimer in
4884+ * the documentation and/or other materials provided with the
4885+ * distribution.
4886+ *
4887+ * * Neither the name of the copyright holders nor the names of
4888+ * contributors may be used to endorse or promote products derived
4889+ * from this software without specific prior written permission.
4890+ *
4891+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
4892+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4893+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4894+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
4895+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
4896+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
4897+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
4898+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
4899+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
4900+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4901+ * POSSIBILITY OF SUCH DAMAGE.
4902+ ****************************************************************************/
4903+
4904+
69ed15f0
JR
4905+#ifndef _AVR_ATA5831_H_INCLUDED
4906+#define _AVR_ATA5831_H_INCLUDED
9fe267c2
PZ
4907+
4908+
4909+#ifndef _AVR_IO_H_
4910+# error "Include <avr/io.h> instead of this file."
4911+#endif
4912+
4913+#ifndef _AVR_IOXXX_H_
69ed15f0 4914+# define _AVR_IOXXX_H_ "ioa5831.h"
9fe267c2
PZ
4915+#else
4916+# error "Attempt to include more than one <avr/ioXXX.h> file."
4917+#endif
4918+
4919+/* Registers and associated bit numbers */
4920+
69ed15f0
JR
4921+#define PRR0 _SFR_IO8(0x01)
4922+#define PRSPI 0
4923+#define PRRXDC 1
4924+#define PRTXDC 2
4925+#define PRCRC 3
4926+#define PRVM 4
4927+#define PRCO 5
4928+
4929+#define PRR1 _SFR_IO8(0x02)
4930+#define PRT1 0
4931+#define PRT2 1
4932+#define PRT3 2
4933+#define PRT4 3
4934+#define PRT5 4
4935+
4936+#define PRR2 _SFR_IO8(0x03)
4937+#define PRXB 0
4938+#define PRXA 1
4939+#define PRSF 2
4940+#define PRDF 3
4941+#define PRIDS 4
4942+#define PRRS 5
4943+#define PRTM 6
4944+#define PRSSM 7
4945+
4946+#define RDPR _SFR_IO8(0x04)
4947+#define PRPTB 0
4948+#define PRPTA 1
4949+#define PRFLT 2
4950+#define PRTMP 3
4951+#define APRPTB 4
4952+#define APRPTA 5
4953+#define ARDPRF 6
4954+#define RDPRF 7
4955+
4956+#define PINB _SFR_IO8(0x05)
9fe267c2
PZ
4957+#define PINB7 7
4958+#define PINB6 6
4959+#define PINB5 5
4960+#define PINB4 4
4961+#define PINB3 3
4962+#define PINB2 2
4963+#define PINB1 1
4964+#define PINB0 0
4965+
69ed15f0 4966+#define DDRB _SFR_IO8(0x06)
9fe267c2
PZ
4967+#define DDRB7 7
4968+#define DDRB6 6
4969+#define DDRB5 5
4970+#define DDRB4 4
4971+#define DDRB3 3
4972+#define DDRB2 2
4973+#define DDRB1 1
4974+#define DDRB0 0
4975+
69ed15f0 4976+#define PORTB _SFR_IO8(0x07)
9fe267c2
PZ
4977+#define PORTB7 7
4978+#define PORTB6 6
4979+#define PORTB5 5
4980+#define PORTB4 4
4981+#define PORTB3 3
4982+#define PORTB2 2
4983+#define PORTB1 1
4984+#define PORTB0 0
4985+
69ed15f0 4986+#define PINC _SFR_IO8(0x08)
9fe267c2
PZ
4987+#define PINC7 7
4988+#define PINC6 6
4989+#define PINC5 5
4990+#define PINC4 4
4991+#define PINC3 3
4992+#define PINC2 2
4993+#define PINC1 1
4994+#define PINC0 0
4995+
69ed15f0 4996+#define DDRC _SFR_IO8(0x09)
9fe267c2
PZ
4997+#define DDRC7 7
4998+#define DDRC6 6
4999+#define DDRC5 5
5000+#define DDRC4 4
5001+#define DDRC3 3
5002+#define DDRC2 2
5003+#define DDRC1 1
5004+#define DDRC0 0
5005+
69ed15f0 5006+#define PORTC _SFR_IO8(0x0A)
9fe267c2
PZ
5007+#define PORTC7 7
5008+#define PORTC6 6
5009+#define PORTC5 5
5010+#define PORTC4 4
5011+#define PORTC3 3
5012+#define PORTC2 2
5013+#define PORTC1 1
5014+#define PORTC0 0
5015+
69ed15f0
JR
5016+#define FSCR _SFR_IO8(0x0B)
5017+#define TXMOD 0
5018+#define SFM 1
5019+#define TXMS0 2
5020+#define TXMS1 3
5021+#define PAOER 4
5022+#define PAON 7
9fe267c2 5023+
69ed15f0 5024+/* Reserved [0x0C] */
9fe267c2 5025+
69ed15f0
JR
5026+#define RDSIFR _SFR_IO8(0x0D)
5027+#define NBITA 0
5028+#define NBITB 1
5029+#define EOTA 2
5030+#define EOTB 3
5031+#define SOTA 4
5032+#define SOTB 5
5033+#define WCOA 6
5034+#define WCOB 7
5035+
5036+#define MCUCR _SFR_IO8(0x0E)
5037+#define IVCE 0
5038+#define IVSEL 1
5039+#define SPIIO 2
5040+#define ENPS 3
5041+#define PUD 4
5042+#define PB4HS 5
5043+#define PB7LS 6
5044+#define PB7HS 7
9fe267c2 5045+
69ed15f0
JR
5046+#define PCIFR _SFR_IO8(0x0F)
5047+#define PCIF0 0
5048+#define PCIF1 1
9fe267c2 5049+
69ed15f0
JR
5050+#define T0CR _SFR_IO8(0x10)
5051+#define T0PS0 0
5052+#define T0PS1 1
5053+#define T0PS2 2
5054+#define T0IE 3
5055+#define T0PR 4
9fe267c2 5056+
69ed15f0
JR
5057+#define T1CR _SFR_IO8(0x11)
5058+#define T1OTM 0
5059+#define T1CTM 1
5060+#define T1CRM 2
5061+#define T1TOP 4
5062+#define T1RES 5
5063+#define T1TOS 6
5064+#define T1ENA 7
9fe267c2 5065+
69ed15f0 5066+#define T2CR _SFR_IO8(0x12)
9fe267c2
PZ
5067+#define T2OTM 0
5068+#define T2CTM 1
69ed15f0
JR
5069+#define T2CRM 2
5070+#define T2TOP 4
5071+#define T2RES 5
5072+#define T2TOS 6
5073+#define T2ENA 7
9fe267c2 5074+
69ed15f0
JR
5075+#define T3CR _SFR_IO8(0x13)
5076+#define T3OTM 0
5077+#define T3CTM 1
5078+#define T3CRM 2
5079+#define T3CPRM 3
5080+#define T3TOP 4
5081+#define T3RES 5
5082+#define T3TOS 6
5083+#define T3ENA 7
5084+
5085+#define T4CR _SFR_IO8(0x14)
5086+#define T4OTM 0
5087+#define T4CTM 1
5088+#define T4CRM 2
5089+#define T4CPRM 3
5090+#define T4TOP 4
5091+#define T4RES 5
5092+#define T4TOS 6
5093+#define T4ENA 7
5094+
5095+#define T1IFR _SFR_IO8(0x15)
5096+#define T1OFF 0
5097+#define T1COF 1
5098+
5099+#define T2IFR _SFR_IO8(0x16)
5100+#define T2OFF 0
5101+#define T2COF 1
9fe267c2 5102+
69ed15f0
JR
5103+#define T3IFR _SFR_IO8(0x17)
5104+#define T3OFF 0
5105+#define T3COF 1
5106+#define T3ICF 2
9fe267c2 5107+
69ed15f0
JR
5108+#define T4IFR _SFR_IO8(0x18)
5109+#define T4OFF 0
5110+#define T4COF 1
5111+#define T4ICF 2
9fe267c2 5112+
69ed15f0
JR
5113+#define T5IFR _SFR_IO8(0x19)
5114+#define T5OFF 0
5115+#define T5COF 1
9fe267c2 5116+
69ed15f0 5117+#define GPIOR0 _SFR_IO8(0x1A)
9fe267c2 5118+
69ed15f0 5119+#define GPIOR3 _SFR_IO8(0x1B)
9fe267c2 5120+
69ed15f0 5121+#define GPIOR4 _SFR_IO8(0x1C)
9fe267c2 5122+
69ed15f0 5123+#define GPIOR5 _SFR_IO8(0x1D)
9fe267c2 5124+
69ed15f0 5125+#define GPIOR6 _SFR_IO8(0x1E)
9fe267c2
PZ
5126+
5127+#define EECR _SFR_IO8(0x1F)
5128+#define EERE 0
5129+#define EEWE 1
5130+#define EEMWE 2
5131+#define EERIE 3
5132+#define EEPM0 4
5133+#define EEPM1 5
69ed15f0
JR
5134+#define EEPAGE 6
5135+#define NVMBSY 7
9fe267c2
PZ
5136+
5137+#define EEDR _SFR_IO8(0x20)
5138+
5139+/* Combine EEARL and EEARH */
5140+#define EEAR _SFR_IO16(0x21)
5141+
5142+#define EEARL _SFR_IO8(0x21)
5143+#define EEARH _SFR_IO8(0x22)
5144+
69ed15f0
JR
5145+#define EEPR _SFR_IO8(0x23)
5146+#define EEAP0 0
5147+#define EEAP1 1
5148+#define EEAP2 2
5149+#define EEAP3 3
5150+
5151+#define GPIOR1 _SFR_IO8(0x24)
5152+
5153+#define GPIOR2 _SFR_IO8(0x25)
5154+
5155+#define PCICR _SFR_IO8(0x26)
9fe267c2
PZ
5156+#define PCIE0 0
5157+#define PCIE1 1
9fe267c2 5158+
69ed15f0 5159+#define EIMSK _SFR_IO8(0x27)
9fe267c2
PZ
5160+#define INT0 0
5161+#define INT1 1
5162+
69ed15f0
JR
5163+#define EIFR _SFR_IO8(0x28)
5164+#define INTF0 0
5165+#define INTF1 1
9fe267c2 5166+
69ed15f0 5167+#define CRCDIR _SFR_IO8(0x29)
9fe267c2 5168+
69ed15f0
JR
5169+#define VMCSR _SFR_IO8(0x2A)
5170+#define VMLS0 0
5171+#define VMLS1 1
5172+#define VMLS2 2
5173+#define VMLS3 3
5174+#define VMIM 4
5175+#define VMF 5
9fe267c2 5176+
69ed15f0
JR
5177+#define MCUSR _SFR_IO8(0x2B)
5178+#define PORF 0
5179+#define EXTRF 1
5180+#define WDRF 3
9fe267c2
PZ
5181+
5182+#define SPCR _SFR_IO8(0x2C)
5183+#define SPR0 0
5184+#define SPR1 1
5185+#define CPHA 2
5186+#define CPOL 3
5187+#define MSTR 4
5188+#define DORD 5
5189+#define SPE 6
5190+#define SPIE 7
5191+
5192+#define SPSR _SFR_IO8(0x2D)
5193+#define SPI2X 0
69ed15f0
JR
5194+#define RXIF 4
5195+#define TXIF 5
9fe267c2
PZ
5196+#define SPIF 7
5197+
5198+#define SPDR _SFR_IO8(0x2E)
5199+
69ed15f0
JR
5200+#define T0IFR _SFR_IO8(0x2F)
5201+#define T0F 0
9fe267c2 5202+
69ed15f0 5203+/* Reserved [0x30] */
9fe267c2 5204+
69ed15f0 5205+#define DWDR _SFR_IO8(0x31)
9fe267c2 5206+
69ed15f0 5207+/* Reserved [0x32] */
9fe267c2 5208+
69ed15f0
JR
5209+#define RDCR _SFR_IO8(0x33)
5210+#define RDPU 0
5211+#define ADIVEN 1
5212+#define RDEN 2
5213+
5214+#define EOTSA _SFR_IO8(0x34)
5215+#define CARFA 0
5216+#define AMPFA 1
5217+#define SYTFA 2
5218+#define MANFA 3
5219+#define TMOFA 4
5220+#define TELRA 5
5221+#define RRFA 6
5222+#define EOTBF 7
5223+
5224+#define EOTCA _SFR_IO8(0x35)
5225+#define CARFEA 0
5226+#define AMPFEA 1
5227+#define SYTFEA 2
5228+#define MANFEA 3
5229+#define TMOFEA 4
5230+#define TELREA 5
5231+#define RRFEA 6
5232+#define EOTBFE 7
5233+
5234+#define EOTSB _SFR_IO8(0x36)
5235+#define CARFB 0
5236+#define AMPFB 1
5237+#define SYTFB 2
5238+#define MANFB 3
5239+#define TMOFB 4
5240+#define TELRB 5
5241+#define RRFB 6
5242+#define EOTAF 7
5243+
5244+#define EOTCB _SFR_IO8(0x37)
5245+#define CARFEB 0
5246+#define AMPFEB 1
5247+#define SYTFEB 2
5248+#define MANFEB 3
5249+#define TMOFEB 4
5250+#define TELREB 5
5251+#define RRFEB 6
5252+#define EOTAFE 7
5253+
5254+#define SMCR _SFR_IO8(0x38)
9fe267c2
PZ
5255+#define SE 0
5256+#define SM0 1
5257+#define SM1 2
5258+#define SM2 3
5259+
69ed15f0
JR
5260+#define CMCR _SFR_IO8(0x39)
5261+#define CMM0 0
5262+#define CMM1 1
5263+#define CMM2 2
5264+#define CCS 3
5265+#define SRCD 4
5266+#define CMONEN 6
5267+#define CMCCE 7
9fe267c2 5268+
69ed15f0 5269+#define CMIMR _SFR_IO8(0x3A)
9fe267c2
PZ
5270+#define ECIE 0
5271+
69ed15f0 5272+#define CLPR _SFR_IO8(0x3B)
9fe267c2
PZ
5273+#define CLKPS0 0
5274+#define CLKPS1 1
5275+#define CLKPS2 2
5276+#define CLTPS0 3
5277+#define CLTPS1 4
5278+#define CLTPS2 5
5279+#define CLPCE 7
5280+
69ed15f0
JR
5281+#define SPMCSR _SFR_IO8(0x3C)
5282+#define SELFPRGEN 0
5283+#define PGERS 1
5284+#define PGWRT 2
5285+#define BLBSET 3
5286+#define SPMIE 7
5287+
9fe267c2
PZ
5288+/* SP [0x3D..0x3E] */
5289+
5290+/* SREG [0x3F] */
5291+
69ed15f0
JR
5292+#define FSEN _SFR_MEM8(0x60)
5293+#define SDPU 0
5294+#define SDEN 1
5295+#define GAEN 2
5296+#define PEEN 3
5297+#define ASEN 4
5298+#define ANTT 5
9fe267c2 5299+
69ed15f0
JR
5300+#define FSFCR _SFR_MEM8(0x61)
5301+#define BTSEL0 0
5302+#define BTSEL1 1
5303+#define ASDIV0 4
5304+#define ASDIV1 5
5305+#define ASDIV2 6
5306+#define ASDIV3 7
9fe267c2 5307+
69ed15f0
JR
5308+/* Combine GACDIVL and GACDIVH */
5309+#define GACDIV _SFR_MEM16(0x62)
9fe267c2 5310+
69ed15f0
JR
5311+#define GACDIVL _SFR_MEM8(0x62)
5312+#define GACDIVH _SFR_MEM8(0x63)
9fe267c2 5313+
69ed15f0 5314+#define FFREQ1L _SFR_MEM8(0x64)
9fe267c2 5315+
69ed15f0 5316+#define FFREQ1M _SFR_MEM8(0x65)
9fe267c2 5317+
69ed15f0 5318+#define FFREQ1H _SFR_MEM8(0x66)
9fe267c2 5319+
69ed15f0 5320+#define FFREQ2L _SFR_MEM8(0x67)
9fe267c2 5321+
69ed15f0
JR
5322+#define FFREQ2M _SFR_MEM8(0x68)
5323+
5324+#define FFREQ2H _SFR_MEM8(0x69)
5325+
5326+/* Reserved [0x6A] */
5327+
5328+#define EICRA _SFR_MEM8(0x6B)
9fe267c2
PZ
5329+#define ISC00 0
5330+#define ISC01 1
5331+#define ISC10 2
5332+#define ISC11 3
5333+
69ed15f0 5334+#define PCMSK0 _SFR_MEM8(0x6C)
9fe267c2
PZ
5335+#define PCINT0 0
5336+#define PCINT1 1
5337+#define PCINT2 2
5338+#define PCINT3 3
5339+#define PCINT4 4
5340+#define PCINT5 5
5341+#define PCINT6 6
5342+#define PCINT7 7
5343+
69ed15f0 5344+#define PCMSK1 _SFR_MEM8(0x6D)
9fe267c2
PZ
5345+#define PCINT8 0
5346+#define PCINT9 1
5347+#define PCINT10 2
69ed15f0
JR
5348+#define PCINT11 3
5349+#define PCINT12 4
5350+#define PCINT13 5
9fe267c2 5351+
69ed15f0
JR
5352+#define WDTCR _SFR_MEM8(0x6E)
5353+#define WDPS0 0
5354+#define WDPS1 1
5355+#define WDPS2 2
5356+#define WDE 3
5357+#define WDCE 4
9fe267c2 5358+
69ed15f0 5359+#define T1CNT _SFR_MEM8(0x6F)
9fe267c2 5360+
69ed15f0 5361+#define T1COR _SFR_MEM8(0x70)
9fe267c2 5362+
69ed15f0
JR
5363+#define T1MR _SFR_MEM8(0x71)
5364+#define T1CS0 0
5365+#define T1CS1 1
5366+#define T1PS0 2
5367+#define T1PS1 3
5368+#define T1PS2 4
5369+#define T1PS3 5
5370+#define T1DC0 6
5371+#define T1DC1 7
9fe267c2 5372+
69ed15f0
JR
5373+#define T1IMR _SFR_MEM8(0x72)
5374+#define T1OIM 0
5375+#define T1CIM 1
9fe267c2 5376+
69ed15f0 5377+#define T2CNT _SFR_MEM8(0x73)
9fe267c2 5378+
69ed15f0
JR
5379+#define T2COR _SFR_MEM8(0x74)
5380+
5381+#define T2MR _SFR_MEM8(0x75)
9fe267c2
PZ
5382+#define T2CS0 0
5383+#define T2CS1 1
69ed15f0
JR
5384+#define T2PS0 2
5385+#define T2PS1 3
5386+#define T2PS2 4
5387+#define T2PS3 5
5388+#define T2DC0 6
5389+#define T2DC1 7
5390+
5391+#define T2IMR _SFR_MEM8(0x76)
9fe267c2
PZ
5392+#define T2OIM 0
5393+#define T2CIM 1
9fe267c2 5394+
69ed15f0
JR
5395+/* Combine T3CNTL and T3CNTH */
5396+#define T3CNT _SFR_MEM16(0x77)
9fe267c2 5397+
69ed15f0
JR
5398+#define T3CNTL _SFR_MEM8(0x77)
5399+#define T3CNTH _SFR_MEM8(0x78)
9fe267c2 5400+
69ed15f0
JR
5401+/* Combine T3CORL and T3CORH */
5402+#define T3COR _SFR_MEM16(0x79)
9fe267c2 5403+
69ed15f0
JR
5404+#define T3CORL _SFR_MEM8(0x79)
5405+#define T3CORH _SFR_MEM8(0x7A)
9fe267c2 5406+
69ed15f0
JR
5407+/* Combine T3ICRL and T3ICRH */
5408+#define T3ICR _SFR_MEM16(0x7B)
9fe267c2 5409+
69ed15f0
JR
5410+#define T3ICRL _SFR_MEM8(0x7B)
5411+#define T3ICRH _SFR_MEM8(0x7C)
9fe267c2 5412+
69ed15f0 5413+#define T3MRA _SFR_MEM8(0x7D)
9fe267c2
PZ
5414+#define T3CS0 0
5415+#define T3CS1 1
69ed15f0
JR
5416+#define T3PS0 2
5417+#define T3PS1 3
5418+#define T3PS2 4
5419+
5420+#define T3MRB _SFR_MEM8(0x7E)
5421+#define T3SCE 1
5422+#define T3CNC 2
9fe267c2
PZ
5423+#define T3CE0 3
5424+#define T3CE1 4
69ed15f0
JR
5425+#define T3ICS0 5
5426+#define T3ICS1 6
5427+#define T3ICS2 7
9fe267c2
PZ
5428+
5429+#define T3IMR _SFR_MEM8(0x7F)
5430+#define T3OIM 0
69ed15f0
JR
5431+#define T3CIM 1
5432+#define T3CPIM 2
9fe267c2 5433+
69ed15f0
JR
5434+/* Combine T4CNTL and T4CNTH */
5435+#define T4CNT _SFR_MEM16(0x80)
9fe267c2 5436+
69ed15f0
JR
5437+#define T4CNTL _SFR_MEM8(0x80)
5438+#define T4CNTH _SFR_MEM8(0x81)
9fe267c2 5439+
69ed15f0
JR
5440+/* Combine T4CORL and T4CORH */
5441+#define T4COR _SFR_MEM16(0x82)
9fe267c2 5442+
69ed15f0
JR
5443+#define T4CORL _SFR_MEM8(0x82)
5444+#define T4CORH _SFR_MEM8(0x83)
9fe267c2 5445+
69ed15f0
JR
5446+/* Combine T4ICRL and T4ICRH */
5447+#define T4ICR _SFR_MEM16(0x84)
9fe267c2 5448+
69ed15f0
JR
5449+#define T4ICRL _SFR_MEM8(0x84)
5450+#define T4ICRH _SFR_MEM8(0x85)
9fe267c2 5451+
69ed15f0
JR
5452+#define T4MRA _SFR_MEM8(0x86)
5453+#define T4CS0 0
5454+#define T4CS1 1
5455+#define T4PS0 2
5456+#define T4PS1 3
5457+#define T4PS2 4
9fe267c2 5458+
69ed15f0
JR
5459+#define T4MRB _SFR_MEM8(0x87)
5460+#define T4SCE 1
5461+#define T4CNC 2
5462+#define T4CE0 3
5463+#define T4CE1 4
5464+#define T4ICS0 5
5465+#define T4ICS1 6
5466+#define T4ICS2 7
9fe267c2 5467+
69ed15f0
JR
5468+#define T4IMR _SFR_MEM8(0x88)
5469+#define T4OIM 0
5470+#define T4CIM 1
5471+#define T4CPIM 2
9fe267c2 5472+
69ed15f0 5473+/* Reserved [0x89] */
9fe267c2 5474+
69ed15f0
JR
5475+/* Combine T5OCRL and T5OCRH */
5476+#define T5OCR _SFR_MEM16(0x8A)
9fe267c2 5477+
69ed15f0
JR
5478+#define T5OCRL _SFR_MEM8(0x8A)
5479+#define T5OCRH _SFR_MEM8(0x8B)
9fe267c2 5480+
69ed15f0
JR
5481+#define T5CCR _SFR_MEM8(0x8C)
5482+#define T5CS0 0
5483+#define T5CS1 1
5484+#define T5CS2 2
5485+#define T5CTC 3
9fe267c2 5486+
69ed15f0
JR
5487+/* Combine T5CNTL and T5CNTH */
5488+#define T5CNT _SFR_MEM16(0x8D)
9fe267c2 5489+
69ed15f0
JR
5490+#define T5CNTL _SFR_MEM8(0x8D)
5491+#define T5CNTH _SFR_MEM8(0x8E)
9fe267c2 5492+
69ed15f0
JR
5493+#define T5IMR _SFR_MEM8(0x8F)
5494+#define T5OIM 0
5495+#define T5CIM 1
9fe267c2 5496+
69ed15f0
JR
5497+#define GTCCR _SFR_MEM8(0x90)
5498+#define PSR10 0
5499+#define TSM 7
9fe267c2 5500+
69ed15f0
JR
5501+#define SOTSB _SFR_MEM8(0x91)
5502+#define CAROB 0
5503+#define AMPOB 1
5504+#define SYTOB 2
5505+#define MANOB 3
5506+#define WUPOB 4
5507+#define SFIDOB 5
5508+#define RROB 6
5509+#define WCOAO 7
5510+
5511+#define SOTSA _SFR_MEM8(0x92)
5512+#define CAROA 0
5513+#define AMPOA 1
5514+#define SYTOA 2
5515+#define MANOA 3
5516+#define WUPOA 4
5517+#define SFIDOA 5
5518+#define RROA 6
5519+#define WCOBO 7
5520+
5521+#define SOTCB _SFR_MEM8(0x93)
5522+#define CAROEB 0
5523+#define AMPOEB 1
5524+#define SYTOEB 2
5525+#define MANOEB 3
5526+#define WUPEB 4
5527+#define SFIDEB 5
5528+#define RROEB 6
5529+#define WCOAOE 7
5530+
5531+#define SOTCA _SFR_MEM8(0x94)
5532+#define CAROEA 0
5533+#define AMPOEA 1
5534+#define SYTOEA 2
5535+#define MANOEA 3
5536+#define WUPEA 4
5537+#define SFIDEA 5
5538+#define RROEA 6
5539+#define WCOBOE 7
5540+
5541+#define TESRB _SFR_MEM8(0x95)
5542+#define CRCOB 0
5543+#define EOTLB0 1
5544+#define EOTLB1 2
5545+
5546+#define TESRA _SFR_MEM8(0x96)
5547+#define CRCOA 0
5548+#define EOTLA0 1
5549+#define EOTLA1 2
5550+
5551+/* Reserved [0x97] */
5552+
5553+#define RDSIMR _SFR_MEM8(0x98)
5554+#define NBITAM 0
5555+#define NBITBM 1
5556+#define EOTAM 2
5557+#define EOTBM 3
5558+#define SOTAM 4
5559+#define SOTBM 5
5560+#define WCOAM 6
5561+#define WCOBM 7
5562+
5563+#define RDOCR _SFR_MEM8(0x99)
5564+#define TMDS0 1
5565+#define TMDS1 2
5566+#define ETRPA 3
5567+#define ETRPB 4
5568+#define RDSIDA 5
5569+#define RDSIDB 6
5570+
5571+/* Reserved [0x9A] */
5572+
5573+#define TEMPL _SFR_MEM8(0x9B)
5574+
5575+#define TEMPH _SFR_MEM8(0x9C)
5576+
5577+#define SYCB _SFR_MEM8(0x9D)
5578+#define SYCSB0 0
5579+#define SYCSB1 1
5580+#define SYCSB2 2
5581+#define SYCSB3 3
5582+#define SYTLB0 4
5583+#define SYTLB1 5
5584+#define SYTLB2 6
5585+#define SYTLB3 7
5586+
5587+#define SYCA _SFR_MEM8(0x9E)
5588+#define SYCSA0 0
5589+#define SYCSA1 1
5590+#define SYCSA2 2
5591+#define SYCSA3 3
5592+#define SYTLA0 4
5593+#define SYTLA1 5
5594+#define SYTLA2 6
5595+#define SYTLA3 7
5596+
5597+#define RXFOB _SFR_MEM8(0x9F)
5598+
5599+#define RXFOA _SFR_MEM8(0xA0)
5600+
5601+#define DMMB _SFR_MEM8(0xA1)
5602+#define DMATB0 0
5603+#define DMATB1 1
5604+#define DMATB2 2
5605+#define DMATB3 3
5606+#define DMATB4 4
5607+#define DMPB 5
5608+#define DMHB 6
5609+#define DMNEB 7
5610+
5611+#define DMMA _SFR_MEM8(0xA2)
5612+#define DMATA0 0
5613+#define DMATA1 1
5614+#define DMATA2 2
5615+#define DMATA3 3
5616+#define DMATA4 4
5617+#define DMPA 5
5618+#define DMHA 6
5619+#define DMNEA 7
5620+
5621+#define DMCDB _SFR_MEM8(0xA3)
5622+#define DMCLB0 0
5623+#define DMCLB1 1
5624+#define DMCLB2 2
5625+#define DMCLB3 3
5626+#define DMCLB4 4
5627+#define DMCTB0 5
5628+#define DMCTB1 6
5629+#define DMCTB2 7
5630+
5631+#define DMCDA _SFR_MEM8(0xA4)
5632+#define DMCLA0 0
5633+#define DMCLA1 1
5634+#define DMCLA2 2
5635+#define DMCLA3 3
5636+#define DMCLA4 4
5637+#define DMCTA0 5
5638+#define DMCTA1 6
5639+#define DMCTA2 7
5640+
5641+#define DMCRB _SFR_MEM8(0xA5)
5642+#define DMPGB0 0
5643+#define DMPGB1 1
5644+#define DMPGB2 2
5645+#define DMPGB3 3
5646+#define DMPGB4 4
5647+#define SASKB 5
5648+#define SY1TB 6
5649+#define DMARB 7
5650+
5651+#define DMCRA _SFR_MEM8(0xA6)
5652+#define DMPGA0 0
5653+#define DMPGA1 1
5654+#define DMPGA2 2
5655+#define DMPGA3 3
5656+#define DMPGA4 4
5657+#define SASKA 5
5658+#define SY1TA 6
5659+#define DMARA 7
5660+
5661+#define DMDRB _SFR_MEM8(0xA7)
5662+#define DMAB0 0
5663+#define DMAB1 1
5664+#define DMAB2 2
5665+#define DMAB3 3
5666+#define DMDNB0 4
5667+#define DMDNB1 5
5668+#define DMDNB2 6
5669+#define DMDNB3 7
5670+
5671+#define DMDRA _SFR_MEM8(0xA8)
5672+#define DMAA0 0
5673+#define DMAA1 1
5674+#define DMAA2 2
5675+#define DMAA3 3
5676+#define DMDNA0 4
5677+#define DMDNA1 5
5678+#define DMDNA2 6
5679+#define DMDNA3 7
5680+
5681+#define CHCR _SFR_MEM8(0xA9)
5682+#define BWM0 0
5683+#define BWM1 1
5684+#define BWM2 2
5685+#define BWM3 3
5686+
5687+#define CHDN _SFR_MEM8(0xAA)
5688+#define BBDN0 0
5689+#define BBDN1 1
5690+#define BBDN2 2
5691+#define BBDN3 3
5692+#define BBDN4 4
5693+#define ADCDN 5
5694+
5695+#define SFIDCB _SFR_MEM8(0xAB)
5696+#define SFIDTB0 0
5697+#define SFIDTB1 1
5698+#define SFIDTB2 2
5699+#define SFIDTB3 3
5700+#define SFIDTB4 4
5701+#define SEMEB 7
5702+
5703+#define SFIDLB _SFR_MEM8(0xAC)
5704+#define SFIDLB0 0
5705+#define SFIDLB1 1
5706+#define SFIDLB2 2
5707+#define SFIDLB3 3
5708+#define SFIDLB4 4
5709+#define SFIDLB5 5
5710+
5711+#define WUPTB _SFR_MEM8(0xAD)
5712+#define WUPTB0 0
5713+#define WUPTB1 1
5714+#define WUPTB2 2
5715+#define WUPTB3 3
5716+#define WUPTB4 4
5717+
5718+#define WUPLB _SFR_MEM8(0xAE)
5719+#define WUPLB0 0
5720+#define WUPLB1 1
5721+#define WUPLB2 2
5722+#define WUPLB3 3
5723+#define WUPLB4 4
5724+#define WUPLB5 5
5725+
5726+#define SFID1B _SFR_MEM8(0xAF)
5727+
5728+#define SFID2B _SFR_MEM8(0xB0)
5729+
5730+#define SFID3B _SFR_MEM8(0xB1)
5731+
5732+#define SFID4B _SFR_MEM8(0xB2)
5733+
5734+#define WUP1B _SFR_MEM8(0xB3)
5735+
5736+#define WUP2B _SFR_MEM8(0xB4)
5737+
5738+#define WUP3B _SFR_MEM8(0xB5)
5739+
5740+#define WUP4B _SFR_MEM8(0xB6)
5741+
5742+#define SFIDCA _SFR_MEM8(0xB7)
5743+#define SFIDTA0 0
5744+#define SFIDTA1 1
5745+#define SFIDTA2 2
5746+#define SFIDTA3 3
5747+#define SFIDTA4 4
5748+#define SEMEA 7
5749+
5750+#define SFIDLA _SFR_MEM8(0xB8)
5751+#define SFIDLA0 0
5752+#define SFIDLA1 1
5753+#define SFIDLA2 2
5754+#define SFIDLA3 3
5755+#define SFIDLA4 4
5756+#define SFIDLA5 5
5757+
5758+#define WUPTA _SFR_MEM8(0xB9)
5759+#define WUPTA0 0
5760+#define WUPTA1 1
5761+#define WUPTA2 2
5762+#define WUPTA3 3
5763+#define WUPTA4 4
5764+
5765+#define WUPLA _SFR_MEM8(0xBA)
5766+#define WUPLA0 0
5767+#define WUPLA1 1
5768+#define WUPLA2 2
5769+#define WUPLA3 3
5770+#define WUPLA4 4
5771+#define WUPLA5 5
5772+
5773+#define SFID1A _SFR_MEM8(0xBB)
5774+
5775+#define SFID2A _SFR_MEM8(0xBC)
5776+
5777+#define SFID3A _SFR_MEM8(0xBD)
5778+
5779+#define SFID4A _SFR_MEM8(0xBE)
5780+
5781+#define WUP1A _SFR_MEM8(0xBF)
5782+
5783+#define WUP2A _SFR_MEM8(0xC0)
5784+
5785+#define WUP3A _SFR_MEM8(0xC1)
5786+
5787+#define WUP4A _SFR_MEM8(0xC2)
5788+
5789+#define CLKOD _SFR_MEM8(0xC3)
5790+
5791+#define CLKOCR _SFR_MEM8(0xC4)
5792+#define CLKOS0 0
5793+#define CLKOS1 1
5794+#define CLKOEN 2
5795+
5796+#define XFUSE _SFR_MEM8(0xC5)
5797+
5798+#define SRCCAL _SFR_MEM8(0xC6)
5799+#define SRCCAL0 0
5800+#define SRCCAL1 1
5801+#define SRCCAL2 2
5802+#define SRCCAL3 3
5803+#define SRCCAL4 4
5804+#define SRCCAL5 5
5805+#define SRCTC0 6
5806+#define SRCTC1 7
9fe267c2 5807+
69ed15f0
JR
5808+#define FRCCAL _SFR_MEM8(0xC7)
5809+#define FRCCAL0 0
5810+#define FRCCAL1 1
5811+#define FRCCAL2 2
5812+#define FRCCAL3 3
5813+#define FRCCAL4 4
5814+#define FRCTC 5
9fe267c2 5815+
69ed15f0
JR
5816+#define CMSR _SFR_MEM8(0xC8)
5817+#define ECF 0
9fe267c2 5818+
69ed15f0
JR
5819+#define CMOCR _SFR_MEM8(0xC9)
5820+#define FRCAO 0
5821+#define SRCAO 1
5822+#define FRCACT 2
5823+#define SRCACT 3
5824+
5825+#define SUPFR _SFR_MEM8(0xCA)
5826+#define AVCCRF 0
5827+#define AVCCLF 1
5828+
5829+#define SUPCR _SFR_MEM8(0xCB)
5830+#define AVCCRM 0
5831+#define AVCCLM 1
5832+#define PVEN 2
5833+#define DVDIS 4
5834+#define AVEN 5
5835+#define AVDIC 6
5836+
5837+#define SUPCA1 _SFR_MEM8(0xCC)
5838+#define PV22 2
5839+#define PVDIC 3
5840+#define PVCAL0 4
5841+#define PVCAL1 5
5842+#define PVCAL2 6
5843+#define PVCAL3 7
5844+
5845+#define SUPCA2 _SFR_MEM8(0xCD)
5846+#define BGCAL0 0
5847+#define BGCAL1 1
5848+#define BGCAL2 2
5849+#define BGCAL3 3
5850+
5851+#define SUPCA3 _SFR_MEM8(0xCE)
5852+#define ACAL4 0
5853+#define ACAL5 1
5854+#define ACAL6 2
5855+#define ACAL7 3
5856+#define DCAL4 4
5857+#define DCAL5 5
5858+#define DCAL6 6
5859+
5860+#define SUPCA4 _SFR_MEM8(0xCF)
5861+#define ACAL0 0
5862+#define ACAL1 1
5863+#define ACAL2 2
5864+#define ACAL3 3
5865+#define DCAL0 4
5866+#define DCAL1 5
5867+#define DCAL2 6
5868+#define DCAL3 7
5869+
5870+#define CALRDY _SFR_MEM8(0xD0)
5871+
5872+#define VMCAL _SFR_MEM8(0xD1)
5873+#define VMCAL0 0
5874+#define VMCAL1 1
5875+#define VMCAL2 2
5876+
5877+#define DFS _SFR_MEM8(0xD2)
5878+#define DFFLRF 0
5879+#define DFUFL 1
5880+#define DFOFL 2
5881+
5882+/* Combine DFTLL and DFTLH */
5883+#define DFTL _SFR_MEM16(0xD3)
5884+
5885+#define DFTLL _SFR_MEM8(0xD3)
5886+#define DFTLH _SFR_MEM8(0xD4)
5887+
5888+#define DFL _SFR_MEM8(0xD5)
5889+#define DFFLS0 0
5890+#define DFFLS1 1
5891+#define DFFLS2 2
5892+#define DFFLS3 3
5893+#define DFFLS4 4
5894+#define DFFLS5 5
5895+#define DFCLR 7
5896+
5897+#define DFWP _SFR_MEM8(0xD6)
5898+#define DFWP0 0
5899+#define DFWP1 1
5900+#define DFWP2 2
5901+#define DFWP3 3
5902+#define DFWP4 4
5903+#define DFWP5 5
5904+
5905+#define DFRP _SFR_MEM8(0xD7)
5906+#define DFRP0 0
5907+#define DFRP1 1
5908+#define DFRP2 2
5909+#define DFRP3 3
5910+#define DFRP4 4
5911+#define DFRP5 5
5912+
5913+#define DFD _SFR_MEM8(0xD8)
5914+
5915+#define DFI _SFR_MEM8(0xD9)
5916+#define DFFLIM 0
5917+#define DFERIM 1
5918+
5919+#define DFC _SFR_MEM8(0xDA)
5920+#define DFFLC0 0
5921+#define DFFLC1 1
5922+#define DFFLC2 2
5923+#define DFFLC3 3
5924+#define DFFLC4 4
5925+#define DFFLC5 5
5926+#define DFDRA 7
5927+
5928+#define SFS _SFR_MEM8(0xDB)
5929+#define SFFLRF 0
5930+#define SFUFL 1
5931+#define SFOFL 2
5932+
5933+#define SFL _SFR_MEM8(0xDC)
5934+#define SFFLS0 0
5935+#define SFFLS1 1
5936+#define SFFLS2 2
5937+#define SFFLS3 3
5938+#define SFFLS4 4
5939+#define SFCLR 7
5940+
5941+#define SFWP _SFR_MEM8(0xDD)
5942+#define SFWP0 0
5943+#define SFWP1 1
5944+#define SFWP2 2
5945+#define SFWP3 3
5946+#define SFWP4 4
5947+
5948+#define SFRP _SFR_MEM8(0xDE)
5949+#define SFRP0 0
5950+#define SFRP1 1
5951+#define SFRP2 2
5952+#define SFRP3 3
5953+#define SFRP4 4
5954+
5955+#define SFD _SFR_MEM8(0xDF)
5956+
5957+#define SFI _SFR_MEM8(0xE0)
5958+#define SFFLIM 0
5959+#define SFERIM 1
5960+
5961+#define SFC _SFR_MEM8(0xE1)
5962+#define SFFLC0 0
5963+#define SFFLC1 1
5964+#define SFFLC2 2
5965+#define SFFLC3 3
5966+#define SFFLC4 4
5967+#define SFDRA 7
5968+
5969+#define SSMCR _SFR_MEM8(0xE2)
5970+#define SSMTX 0
5971+#define SSMTM 1
5972+#define SSMTGE 2
5973+#define SSMTPE 3
5974+#define SSMPVE 4
5975+#define SSMTAE 5
5976+#define SETRPA 6
5977+#define SETRPB 7
5978+
5979+#define SSMRCR _SFR_MEM8(0xE3)
5980+#define SSMPA 0
5981+#define SSMPB 1
5982+#define SSMADA 2
5983+#define SSMADB 3
5984+#define SSMPVS 4
5985+#define SSMIFA 5
5986+#define SSMIDSE 6
5987+#define SSMTMOE 7
5988+
5989+#define SSMFBR _SFR_MEM8(0xE4)
5990+#define SSMFID0 0
5991+#define SSMFID1 1
5992+#define SSMFID2 2
5993+#define SSMDFDT 3
5994+#define SSMHADT 4
5995+#define SSMPLDT 5
5996+
5997+#define SSMRR _SFR_MEM8(0xE5)
5998+#define SSMR 0
5999+#define SSMST 1
6000+
6001+#define SSMSR _SFR_MEM8(0xE6)
6002+#define SSMESM0 0
6003+#define SSMESM1 1
6004+#define SSMESM2 2
6005+#define SSMESM3 3
6006+#define SSMERR 7
6007+
6008+#define SSMIFR _SFR_MEM8(0xE7)
6009+#define SSMIF 0
6010+
6011+#define SSMIMR _SFR_MEM8(0xE8)
6012+#define SSMIM 0
6013+
6014+#define MSMSTR _SFR_MEM8(0xE9)
6015+#define SSMMST0 0
6016+#define SSMMST1 1
6017+#define SSMMST2 2
6018+#define SSMMST3 3
6019+#define SSMMST4 4
6020+
6021+#define SSMSTR _SFR_MEM8(0xEA)
6022+#define SSMSTA0 0
6023+#define SSMSTA1 1
6024+#define SSMSTA2 2
6025+#define SSMSTA3 3
6026+#define SSMSTA4 4
6027+#define SSMSTA5 5
6028+
6029+#define SSMXSR _SFR_MEM8(0xEB)
6030+#define SSMSTB0 0
6031+#define SSMSTB1 1
6032+#define SSMSTB2 2
6033+#define SSMSTB3 3
6034+#define SSMSTB4 4
6035+#define SSMSTB5 5
6036+
6037+#define MSMCR1 _SFR_MEM8(0xEC)
6038+#define MSMSM00 0
6039+#define MSMSM01 1
6040+#define MSMSM02 2
6041+#define MSMSM03 3
6042+#define MSMSM10 4
6043+#define MSMSM11 5
6044+#define MSMSM12 6
6045+#define MSMSM13 7
6046+
6047+#define MSMCR2 _SFR_MEM8(0xED)
6048+#define MSMSM20 0
6049+#define MSMSM21 1
6050+#define MSMSM22 2
6051+#define MSMSM23 3
6052+#define MSMSM30 4
6053+#define MSMSM31 5
6054+#define MSMSM32 6
6055+#define MSMSM33 7
6056+
6057+#define MSMCR3 _SFR_MEM8(0xEE)
6058+#define MSMSM40 0
6059+#define MSMSM41 1
6060+#define MSMSM42 2
6061+#define MSMSM43 3
6062+#define MSMSM50 4
6063+#define MSMSM51 5
6064+#define MSMSM52 6
6065+#define MSMSM53 7
6066+
6067+#define MSMCR4 _SFR_MEM8(0xEF)
6068+#define MSMSM60 0
6069+#define MSMSM61 1
6070+#define MSMSM62 2
6071+#define MSMSM63 3
6072+#define MSMSM70 4
6073+#define MSMSM71 5
6074+#define MSMSM72 6
6075+#define MSMSM73 7
6076+
6077+#define GTCR _SFR_MEM8(0xF0)
6078+#define RXTEHA 0
6079+#define GAPMA 1
6080+#define DARA 2
6081+#define IWUPA 3
6082+#define RXTEHB 4
6083+#define GAPMB 5
6084+#define DARB 6
6085+#define IWUPB 7
6086+
6087+#define SOTC1A _SFR_MEM8(0xF1)
6088+#define CAROEA1 0
6089+#define AMPOEA1 1
6090+#define SYTOEA1 2
6091+#define MANOEA1 3
6092+#define WUPEA1 4
6093+#define SFIDEA1 5
6094+#define RROEA1 6
6095+#define WCOBOE1 7
6096+
6097+#define SOTC2A _SFR_MEM8(0xF2)
6098+#define CAROEA2 0
6099+#define AMPOEA2 1
6100+#define SYTOEA2 2
6101+#define MANOEA2 3
6102+#define WUPEA2 4
6103+#define SFIDEA2 5
6104+#define RROEA2 6
6105+#define WCOBOE2 7
6106+
6107+#define SOTC1B _SFR_MEM8(0xF3)
6108+#define CAROEB1 0
6109+#define AMPOEB1 1
6110+#define SYTOEB1 2
6111+#define MANOEB1 3
6112+#define WUPEB1 4
6113+#define SFIDEB1 5
6114+#define RROEB1 6
6115+#define WCOAOE1 7
6116+
6117+#define SOTC2B _SFR_MEM8(0xF4)
6118+#define CAROEB2 0
6119+#define AMPOEB2 1
6120+#define SYTOEB2 2
6121+#define MANOEB2 3
6122+#define WUPEB2 4
6123+#define SFIDEB2 5
6124+#define RROEB2 6
6125+#define WCOAOE2 7
6126+
6127+#define EOTC1A _SFR_MEM8(0xF5)
6128+#define CARFEA1 0
6129+#define AMPFEA1 1
6130+#define SYTFEA1 2
6131+#define MANFEA1 3
6132+#define TMOFEA1 4
6133+#define TELREA1 5
6134+#define RRFEA1 6
6135+#define EOTBFE1 7
6136+
6137+#define EOTC2A _SFR_MEM8(0xF6)
6138+#define CARFEA2 0
6139+#define AMPFEA2 1
6140+#define SYTFEA2 2
6141+#define MANFEA2 3
6142+#define TMOFEA2 4
6143+#define TELREA2 5
6144+#define RRFEA2 6
6145+#define EOTBFE2 7
6146+
6147+#define EOTC3A _SFR_MEM8(0xF7)
6148+#define CARFEA3 0
6149+#define AMPFEA3 1
6150+#define SYTFEA3 2
6151+#define MANFEA3 3
6152+#define TMOFEA3 4
6153+#define TELREA3 5
6154+#define RRFEA3 6
6155+#define EOTBFE3 7
6156+
6157+#define EOTC1B _SFR_MEM8(0xF8)
6158+#define CARFEB1 0
6159+#define AMPFEB1 1
6160+#define SYTFEB1 2
6161+#define MANFEB1 3
6162+#define TMOFEB1 4
6163+#define TELREB1 5
6164+#define RRFEB1 6
6165+#define EOTAFE1 7
6166+
6167+#define EOTC2B _SFR_MEM8(0xF9)
6168+#define CARFEB2 0
6169+#define AMPFEB2 1
6170+#define SYTFEB2 2
6171+#define MANFEB2 3
6172+#define TMOFEB2 4
6173+#define TELREB2 5
6174+#define RRFEB2 6
6175+#define EOTAFE2 7
6176+
6177+#define EOTC3B _SFR_MEM8(0xFA)
6178+#define CARFEB3 0
6179+#define AMPFEB3 1
6180+#define SYTFEB3 2
6181+#define MANFEB3 3
6182+#define TMOFEB3 4
6183+#define TELREB3 5
6184+#define RRFEB3 6
6185+#define EOTAFE3 7
6186+
6187+#define WCOTOA _SFR_MEM8(0xFB)
6188+
6189+#define WCOTOB _SFR_MEM8(0xFC)
6190+
6191+#define SOTTOA _SFR_MEM8(0xFD)
6192+
6193+#define SOTTOB _SFR_MEM8(0xFE)
6194+
6195+#define SSMFCR _SFR_MEM8(0xFF)
6196+#define SSMIDSO 0
6197+#define SSMIDSF 1
6198+
6199+#define FESR _SFR_MEM8(0x100)
6200+#define LBSAT 0
6201+#define HBSAT 1
6202+#define XRDY 2
6203+#define PLCK 3
6204+#define ANTS 4
6205+
6206+#define FEEN1 _SFR_MEM8(0x101)
6207+#define PLEN 0
6208+#define PLCAL 1
6209+#define XTOEN 2
6210+#define LNAEN 3
6211+#define ADEN 4
6212+#define ADCLK 5
6213+#define PLSP1 6
6214+#define ATEN 7
6215+
6216+#define FEEN2 _SFR_MEM8(0x102)
6217+#define SDRX 0
6218+#define SDTX 1
6219+#define PAEN 2
6220+#define TMPM 3
6221+#define PLPEN 4
6222+#define XTPEN 5
6223+#define CPBIA 6
6224+
6225+#define FELNA _SFR_MEM8(0x103)
6226+#define LBH0 0
6227+#define LBH1 1
6228+#define LBH2 2
6229+#define LBH3 3
6230+#define LBL0 4
6231+#define LBL1 5
6232+#define LBL2 6
6233+#define LBL3 7
6234+
6235+#define FEAT _SFR_MEM8(0x104)
6236+#define ANTN0 0
6237+#define ANTN1 1
6238+#define ANTN2 2
6239+#define ANTN3 3
6240+
6241+#define FEPAC _SFR_MEM8(0x105)
6242+
6243+#define FEVCT _SFR_MEM8(0x106)
6244+#define FEVCT0 0
6245+#define FEVCT1 1
6246+#define FEVCT2 2
6247+#define FEVCT3 3
6248+
6249+#define FEBT _SFR_MEM8(0x107)
6250+#define CTN20 0
6251+#define CTN21 1
6252+#define RTN20 2
6253+#define RTN21 3
6254+
6255+#define FEMS _SFR_MEM8(0x108)
6256+#define PLLS0 0
6257+#define PLLS1 1
6258+#define PLLS2 2
6259+#define PLLS3 3
6260+#define PLLM0 4
6261+#define PLLM1 5
6262+#define PLLM2 6
6263+#define PLLM3 7
6264+
6265+#define FETN4 _SFR_MEM8(0x109)
6266+#define CTN40 0
6267+#define CTN41 1
6268+#define CTN42 2
6269+#define CTN43 3
6270+#define RTN40 4
6271+#define RTN41 5
6272+#define RTN42 6
6273+#define RTN43 7
6274+
6275+#define FECR _SFR_MEM8(0x10A)
6276+#define LBNHB 0
6277+#define S4N3 1
6278+#define ANDP 2
6279+#define ADHS 3
6280+#define PLCKG 4
6281+#define ANPS 5
6282+
6283+#define FEVCO _SFR_MEM8(0x10B)
6284+#define CPCC0 0
6285+#define CPCC1 1
6286+#define CPCC2 2
6287+#define CPCC3 3
6288+#define VCOB0 4
6289+#define VCOB1 5
6290+#define VCOB2 6
6291+#define VCOB3 7
6292+
6293+#define FEALR _SFR_MEM8(0x10C)
6294+#define RNGE0 0
6295+#define RNGE1 1
6296+
6297+#define FEANT _SFR_MEM8(0x10D)
6298+#define LVLC0 0
6299+#define LVLC1 1
6300+#define LVLC2 2
6301+#define LVLC3 3
6302+
6303+#define FEBIA _SFR_MEM8(0x10E)
6304+#define IFAEN 7
6305+
6306+/* Reserved [0x10F..0x11F] */
6307+
6308+#define TMFSM _SFR_MEM8(0x120)
6309+#define TMSSM0 0
6310+#define TMSSM1 1
6311+#define TMSSM2 2
6312+#define TMSSM3 3
6313+#define TMMSM0 4
6314+#define TMMSM1 5
6315+#define TMMSM2 6
6316+
6317+/* Combine TMCRL and TMCRH */
6318+#define TMCR _SFR_MEM16(0x121)
6319+
6320+#define TMCRL _SFR_MEM8(0x121)
6321+#define TMCRH _SFR_MEM8(0x122)
6322+
6323+#define TMCSB _SFR_MEM8(0x123)
6324+
6325+/* Combine TMCIL and TMCIH */
6326+#define TMCI _SFR_MEM16(0x124)
6327+
6328+#define TMCIL _SFR_MEM8(0x124)
6329+#define TMCIH _SFR_MEM8(0x125)
6330+
6331+/* Combine TMCPL and TMCPH */
6332+#define TMCP _SFR_MEM16(0x126)
6333+
6334+#define TMCPL _SFR_MEM8(0x126)
6335+#define TMCPH _SFR_MEM8(0x127)
6336+
6337+#define TMSHR _SFR_MEM8(0x128)
6338+
6339+/* Combine TMTLL and TMTLH */
6340+#define TMTL _SFR_MEM16(0x129)
6341+
6342+#define TMTLL _SFR_MEM8(0x129)
6343+#define TMTLH _SFR_MEM8(0x12A)
6344+
6345+#define TMSSC _SFR_MEM8(0x12B)
6346+#define TMSSP0 0
6347+#define TMSSP1 1
6348+#define TMSSP2 2
6349+#define TMSSP3 3
6350+#define TMSSL0 4
6351+#define TMSSL1 5
6352+#define TMSSL2 6
6353+#define TMSSH 7
9fe267c2 6354+
69ed15f0
JR
6355+#define TMSR _SFR_MEM8(0x12C)
6356+#define TMTCF 0
9fe267c2 6357+
69ed15f0
JR
6358+#define TMCR2 _SFR_MEM8(0x12D)
6359+#define TMCRCE 0
6360+#define TMCRCL0 1
6361+#define TMCRCL1 2
6362+#define TMNRZE 3
6363+#define TMPOL 4
6364+#define TMSSE 5
6365+#define TMMSB 6
9fe267c2 6366+
69ed15f0
JR
6367+#define TMCR1 _SFR_MEM8(0x12E)
6368+#define TMPIS0 0
6369+#define TMPIS1 1
6370+#define TMPIS2 2
6371+#define TMSCS 3
6372+#define TMCIM 4
9fe267c2 6373+
69ed15f0
JR
6374+#define RXBC1 _SFR_MEM8(0x12F)
6375+#define RXCEA 0
6376+#define RXCBLA0 1
6377+#define RXCBLA1 2
6378+#define RXMSBA 3
6379+#define RXCEB 4
6380+#define RXCBLB0 5
6381+#define RXCBLB1 6
6382+#define RXMSBB 7
9fe267c2 6383+
69ed15f0
JR
6384+#define RXBC2 _SFR_MEM8(0x130)
6385+#define RXBPB 0
6386+#define RXBF 1
6387+#define RXBCLR 2
9fe267c2 6388+
69ed15f0 6389+#define RXTLLB _SFR_MEM8(0x131)
9fe267c2 6390+
69ed15f0
JR
6391+#define RXTLHB _SFR_MEM8(0x132)
6392+#define RXTLHB0 0
6393+#define RXTLHB1 1
6394+#define RXTLHB2 2
6395+#define RXTLHB3 3
9fe267c2 6396+
69ed15f0 6397+#define RXCRLB _SFR_MEM8(0x133)
9fe267c2 6398+
69ed15f0 6399+#define RXCRHB _SFR_MEM8(0x134)
9fe267c2 6400+
69ed15f0 6401+#define RXCSBB _SFR_MEM8(0x135)
9fe267c2 6402+
69ed15f0 6403+#define RXCILB _SFR_MEM8(0x136)
9fe267c2 6404+
69ed15f0 6405+#define RXCIHB _SFR_MEM8(0x137)
9fe267c2 6406+
69ed15f0
JR
6407+#define RXCPLB _SFR_MEM8(0x138)
6408+
6409+#define RXCPHB _SFR_MEM8(0x139)
6410+
6411+#define RXDSB _SFR_MEM8(0x13A)
6412+
6413+#define RXTLLA _SFR_MEM8(0x13B)
6414+
6415+#define RXTLHA _SFR_MEM8(0x13C)
6416+#define RXTLHA0 0
6417+#define RXTLHA1 1
6418+#define RXTLHA2 2
6419+#define RXTLHA3 3
6420+
6421+#define RXCRLA _SFR_MEM8(0x13D)
6422+
6423+#define RXCRHA _SFR_MEM8(0x13E)
6424+
6425+#define RXCSBA _SFR_MEM8(0x13F)
6426+
6427+#define RXCILA _SFR_MEM8(0x140)
6428+
6429+#define RXCIHA _SFR_MEM8(0x141)
6430+
6431+#define RXCPLA _SFR_MEM8(0x142)
6432+
6433+#define RXCPHA _SFR_MEM8(0x143)
6434+
6435+#define RXDSA _SFR_MEM8(0x144)
6436+
6437+#define CRCCR _SFR_MEM8(0x145)
6438+#define CRCRS 0
6439+#define REFLI 1
6440+#define REFLO 2
6441+
6442+#define CRCDOR _SFR_MEM8(0x146)
6443+
6444+#define IDB0 _SFR_MEM8(0x147)
6445+
6446+#define IDB1 _SFR_MEM8(0x148)
6447+
6448+#define IDB2 _SFR_MEM8(0x149)
6449+
6450+#define IDB3 _SFR_MEM8(0x14A)
6451+
6452+#define IDC _SFR_MEM8(0x14B)
6453+#define IDL0 0
6454+#define IDL1 1
6455+#define IDBO0 2
6456+#define IDBO1 3
6457+#define IDFIM 5
6458+#define IDCLR 6
6459+#define IDCE 7
6460+
6461+#define IDS _SFR_MEM8(0x14C)
6462+#define IDOK 0
6463+#define IDFULL 1
6464+
6465+#define RSSAV _SFR_MEM8(0x14D)
6466+
6467+#define RSSPK _SFR_MEM8(0x14E)
6468+
6469+#define RSSL _SFR_MEM8(0x14F)
6470+
6471+#define RSSH _SFR_MEM8(0x150)
6472+
6473+#define RSSC _SFR_MEM8(0x151)
6474+#define RSUP0 0
6475+#define RSUP1 1
6476+#define RSUP2 2
6477+#define RSUP3 3
6478+#define RSWLH 4
6479+#define RSHRX 5
6480+#define RSPKF 6
6481+
6482+#define DBCR _SFR_MEM8(0x152)
6483+#define DBMD 0
6484+#define DBCS 1
6485+#define DBTMS 2
6486+#define DBHA 3
6487+
6488+#define DBTC _SFR_MEM8(0x153)
6489+
6490+#define DBENB _SFR_MEM8(0x154)
6491+
6492+#define DBENC _SFR_MEM8(0x155)
6493+
6494+#define DBGSW _SFR_MEM8(0x156)
6495+#define DBGGS0 0
6496+#define DBGGS1 1
6497+#define DBGGS2 2
6498+#define DBGGS3 3
6499+#define CPBFOS0 4
6500+#define CPBFOS1 5
6501+#define CPBF 6
6502+#define DBGSE 7
6503+
6504+#define SFFR _SFR_MEM8(0x157)
6505+#define RFL0 0
6506+#define RFL1 1
6507+#define RFL2 2
6508+#define RFC 3
6509+#define TFL0 4
6510+#define TFL1 5
6511+#define TFL2 6
6512+#define TFC 7
6513+
6514+#define SFIR _SFR_MEM8(0x158)
6515+#define RIL0 0
6516+#define RIL1 1
6517+#define RIL2 2
6518+#define SRIE 3
6519+#define TIL0 4
6520+#define TIL1 5
6521+#define TIL2 6
6522+#define STIE 7
6523+
6524+#define EECR2 _SFR_MEM8(0x159)
6525+#define EEBRE 0
6526+
6527+#define PGMST _SFR_MEM8(0x15A)
6528+#define PGMSYN0 0
6529+#define PGMSYN1 1
6530+#define PGMSYN2 2
6531+#define PGMSYN3 3
6532+#define PGMSYN4 4
6533+
6534+#define EEST _SFR_MEM8(0x15B)
6535+#define EESYN0 0
6536+#define EESYN1 1
6537+#define EESYN2 2
6538+#define EESYN3 3
6539+
6540+#define RSIFG _SFR_MEM8(0x15C)
6541+
6542+#define RSLDV _SFR_MEM8(0x15D)
6543+
6544+#define RSHDV _SFR_MEM8(0x15E)
6545+
6546+#define RSCOM _SFR_MEM8(0x15F)
6547+#define RSDC 0
6548+#define RSIFC 1
6549+
6550+
6551+
6552+/* Interrupt vectors */
6553+/* Vector 0 is the reset vector */
6554+/* External Interrupt Request 0 */
6555+#define INT0_vect _VECTOR(1)
6556+#define INT0_vect_num 1
6557+
6558+/* External Interrupt Request 1 */
6559+#define INT1_vect _VECTOR(2)
6560+#define INT1_vect_num 2
6561+
6562+/* Pin Change Interrupt Request 0 */
6563+#define PCI0_vect _VECTOR(3)
6564+#define PCI0_vect_num 3
6565+
6566+/* Pin Change Interrupt Request 1 */
6567+#define PCI1_vect _VECTOR(4)
6568+#define PCI1_vect_num 4
6569+
6570+/* Voltage Monitoring Interrupt */
6571+#define VMON_vect _VECTOR(5)
6572+#define VMON_vect_num 5
6573+
6574+/* AVCC Reset Interrupt */
6575+#define AVCCR_vect _VECTOR(6)
6576+#define AVCCR_vect_num 6
6577+
6578+/* AVCC Low Interrupt */
6579+#define AVCCL_vect _VECTOR(7)
6580+#define AVCCL_vect_num 7
6581+
6582+/* Timer 0 Interval Interrupt */
6583+#define T0INT_vect _VECTOR(8)
6584+#define T0INT_vect_num 8
6585+
6586+/* Timer/Counter1 Compare Match Interrupt */
6587+#define T1COMP_vect _VECTOR(9)
6588+#define T1COMP_vect_num 9
6589+
6590+/* Timer/Counter1 Overflow Interrupt */
6591+#define T1OVF_vect _VECTOR(10)
6592+#define T1OVF_vect_num 10
6593+
6594+/* Timer/Counter2 Compare Match Interrupt */
6595+#define T2COMP_vect _VECTOR(11)
6596+#define T2COMP_vect_num 11
6597+
6598+/* Timer/Counter2 Overflow Interrupt */
6599+#define T2OVF_vect _VECTOR(12)
6600+#define T2OVF_vect_num 12
6601+
6602+/* Timer/Counter3 Capture Event Interrupt */
6603+#define T3CAP_vect _VECTOR(13)
6604+#define T3CAP_vect_num 13
6605+
6606+/* Timer/Counter3 Compare Match Interrupt */
6607+#define T3COMP_vect _VECTOR(14)
6608+#define T3COMP_vect_num 14
6609+
6610+/* Timer/Counter3 Overflow Interrupt */
6611+#define T3OVF_vect _VECTOR(15)
6612+#define T3OVF_vect_num 15
6613+
6614+/* Timer/Counter4 Capture Event Interrupt */
6615+#define T4CAP_vect _VECTOR(16)
6616+#define T4CAP_vect_num 16
6617+
6618+/* Timer/Counter4 Compare Match Interrupt */
6619+#define T4COMP_vect _VECTOR(17)
6620+#define T4COMP_vect_num 17
6621+
6622+/* Timer/Counter4 Overflow Interrupt */
6623+#define T4OVF_vect _VECTOR(18)
6624+#define T4OVF_vect_num 18
6625+
6626+/* Timer/Counter5 Compare Match Interrupt */
6627+#define T5COMP_vect _VECTOR(19)
6628+#define T5COMP_vect_num 19
6629+
6630+/* Timer/Counter5 Overflow Interrupt */
6631+#define T5OVF_vect _VECTOR(20)
6632+#define T5OVF_vect_num 20
6633+
6634+/* SPI Serial Transfer Complete Interrupt */
6635+#define SPI_vect _VECTOR(21)
6636+#define SPI_vect_num 21
6637+
6638+/* SPI Rx Buffer Interrupt */
6639+#define SRX_FIFO_vect _VECTOR(22)
6640+#define SRX_FIFO_vect_num 22
6641+
6642+/* SPI Tx Buffer Interrupt */
6643+#define STX_FIFO_vect _VECTOR(23)
6644+#define STX_FIFO_vect_num 23
6645+
6646+/* Sequencer State Machine Interrupt */
6647+#define SSM_vect _VECTOR(24)
6648+#define SSM_vect_num 24
6649+
6650+/* Data FIFO fill level reached Interrupt */
6651+#define DFFLR_vect _VECTOR(25)
6652+#define DFFLR_vect_num 25
6653+
6654+/* Data FIFO overflow or underflow error Interrupt */
6655+#define DFOUE_vect _VECTOR(26)
6656+#define DFOUE_vect_num 26
6657+
6658+/* RSSI/Preamble FIFO fill level reached Interrupt */
6659+#define SFFLR_vect _VECTOR(27)
6660+#define SFFLR_vect_num 27
6661+
6662+/* RSSI/Preamble FIFO overflow or underflow error Interrupt */
6663+#define SFOUE_vect _VECTOR(28)
6664+#define SFOUE_vect_num 28
6665+
6666+/* Tx Modulator Telegram Finish Interrupt */
6667+#define TMTCF_vect _VECTOR(29)
6668+#define TMTCF_vect_num 29
6669+
6670+/* UHF receiver wake up ok on Rx path B */
6671+#define UHF_WCOB_vect _VECTOR(30)
6672+#define UHF_WCOB_vect_num 30
6673+
6674+/* UHF receiver wake up ok on Rx path A */
6675+#define UHF_WCOA_vect _VECTOR(31)
6676+#define UHF_WCOA_vect_num 31
6677+
6678+/* UHF receiver start of telegram ok on Rx path B */
6679+#define UHF_SOTB_vect _VECTOR(32)
6680+#define UHF_SOTB_vect_num 32
6681+
6682+/* UHF receiver start of telegram ok on Rx path A */
6683+#define UHF_SOTA_vect _VECTOR(33)
6684+#define UHF_SOTA_vect_num 33
6685+
6686+/* UHF receiver end of telegram on Rx path B */
6687+#define UHF_EOTB_vect _VECTOR(34)
6688+#define UHF_EOTB_vect_num 34
6689+
6690+/* UHF receiver end of telegram on Rx path A */
6691+#define UHF_EOTA_vect _VECTOR(35)
6692+#define UHF_EOTA_vect_num 35
6693+
6694+/* UHF receiver new bit on Rx path B */
6695+#define UHF_NBITB_vect _VECTOR(36)
6696+#define UHF_NBITB_vect_num 36
6697+
6698+/* UHF receiver new bit on Rx path A */
6699+#define UHF_NBITA_vect _VECTOR(37)
6700+#define UHF_NBITA_vect_num 37
6701+
6702+/* External input Clock monitoring Interrupt */
6703+#define EXCM_vect _VECTOR(38)
6704+#define EXCM_vect_num 38
9fe267c2
PZ
6705+
6706+/* EEPROM Ready Interrupt */
69ed15f0
JR
6707+#define ERDY_vect _VECTOR(39)
6708+#define ERDY_vect_num 39
9fe267c2
PZ
6709+
6710+/* Store Program Memory Ready */
69ed15f0
JR
6711+#define SPMR_vect _VECTOR(40)
6712+#define SPMR_vect_num 40
9fe267c2 6713+
69ed15f0
JR
6714+/* IDSCAN Full Interrupt */
6715+#define IDFULL_vect _VECTOR(41)
6716+#define IDFULL_vect_num 41
6717+
6718+#define _VECTORS_SIZE 168
9fe267c2
PZ
6719+
6720+
6721+/* Constants */
6722+
6723+#define SPM_PAGESIZE 64
69ed15f0
JR
6724+#define FLASHSTART 0x8000
6725+#define FLASHEND 0xCFFF
6726+#define RAMSTART 0x0200
6727+#define RAMSIZE 1024
6728+#define RAMEND 0x05FF
9fe267c2 6729+#define E2START 0
69ed15f0
JR
6730+#define E2SIZE 1152
6731+#define E2PAGESIZE 16
6732+#define E2END 0x047F
9fe267c2
PZ
6733+#define XRAMEND RAMEND
6734+
6735+
6736+/* Fuses */
6737+
69ed15f0 6738+#define FUSE_MEMORY_SIZE 1
9fe267c2 6739+
69ed15f0
JR
6740+/* Fuse Byte */
6741+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
6742+#define FUSE_DWEN (unsigned char)~_BV(64)
6743+#define FUSE_SPIEN (unsigned char)~_BV(32)
6744+#define FUSE_WDTON (unsigned char)~_BV(16)
6745+#define FUSE_EESAVE (unsigned char)~_BV(8)
6746+#define FUSE_BOOTRST (unsigned char)~_BV(4)
6747+#define FUSE_RSTDISBL (unsigned char)~_BV(2)
6748+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
9fe267c2
PZ
6749+
6750+/* Lock Bits */
6751+#define __LOCK_BITS_EXIST
9fe267c2
PZ
6752+
6753+
6754+/* Signature */
6755+#define SIGNATURE_0 0x1E
69ed15f0
JR
6756+#define SIGNATURE_1 0x95
6757+#define SIGNATURE_2 0x61
9fe267c2
PZ
6758+
6759+
69ed15f0 6760+#endif /* #ifdef _AVR_ATA5831_H_INCLUDED */
9fe267c2 6761+
69ed15f0
JR
6762diff -urN avr-libc-1.8.0.orig/include/avr/ioa5832.h avr-libc-1.8.0/include/avr/ioa5832.h
6763--- avr-libc-1.8.0.orig/include/avr/ioa5832.h 1970-01-01 01:00:00.000000000 +0100
6764+++ avr-libc-1.8.0/include/avr/ioa5832.h 2013-06-12 12:21:34.000000000 +0200
6765@@ -0,0 +1,1891 @@
9fe267c2
PZ
6766+/*****************************************************************************
6767+ *
69ed15f0 6768+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
6769+ * All rights reserved.
6770+ *
6771+ * Redistribution and use in source and binary forms, with or without
6772+ * modification, are permitted provided that the following conditions are met:
6773+ *
6774+ * * Redistributions of source code must retain the above copyright
6775+ * notice, this list of conditions and the following disclaimer.
6776+ *
6777+ * * Redistributions in binary form must reproduce the above copyright
6778+ * notice, this list of conditions and the following disclaimer in
6779+ * the documentation and/or other materials provided with the
6780+ * distribution.
6781+ *
6782+ * * Neither the name of the copyright holders nor the names of
6783+ * contributors may be used to endorse or promote products derived
6784+ * from this software without specific prior written permission.
6785+ *
6786+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
6787+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6788+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
6789+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
6790+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
6791+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
6792+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
6793+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
6794+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
6795+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
6796+ * POSSIBILITY OF SUCH DAMAGE.
6797+ ****************************************************************************/
6798+
6799+
69ed15f0
JR
6800+#ifndef _AVR_ATA5832_H_INCLUDED
6801+#define _AVR_ATA5832_H_INCLUDED
9fe267c2
PZ
6802+
6803+
6804+#ifndef _AVR_IO_H_
6805+# error "Include <avr/io.h> instead of this file."
6806+#endif
6807+
6808+#ifndef _AVR_IOXXX_H_
69ed15f0 6809+# define _AVR_IOXXX_H_ "ioa5832.h"
9fe267c2
PZ
6810+#else
6811+# error "Attempt to include more than one <avr/ioXXX.h> file."
6812+#endif
6813+
6814+/* Registers and associated bit numbers */
6815+
69ed15f0
JR
6816+#define PRR0 _SFR_IO8(0x01)
6817+#define PRSPI 0
6818+#define PRRXDC 1
6819+#define PRTXDC 2
6820+#define PRCRC 3
6821+#define PRVM 4
6822+#define PRCO 5
6823+
6824+#define PRR1 _SFR_IO8(0x02)
6825+#define PRT1 0
6826+#define PRT2 1
6827+#define PRT3 2
6828+#define PRT4 3
6829+#define PRT5 4
6830+
6831+#define PRR2 _SFR_IO8(0x03)
6832+#define PRXB 0
6833+#define PRXA 1
6834+#define PRSF 2
6835+#define PRDF 3
6836+#define PRIDS 4
6837+#define PRRS 5
6838+#define PRTM 6
6839+#define PRSSM 7
6840+
6841+#define RDPR _SFR_IO8(0x04)
6842+#define PRPTB 0
6843+#define PRPTA 1
6844+#define PRFLT 2
6845+#define PRTMP 3
6846+#define APRPTB 4
6847+#define APRPTA 5
6848+#define ARDPRF 6
6849+#define RDPRF 7
6850+
6851+#define PINB _SFR_IO8(0x05)
9fe267c2
PZ
6852+#define PINB7 7
6853+#define PINB6 6
6854+#define PINB5 5
6855+#define PINB4 4
6856+#define PINB3 3
6857+#define PINB2 2
6858+#define PINB1 1
6859+#define PINB0 0
6860+
69ed15f0 6861+#define DDRB _SFR_IO8(0x06)
9fe267c2
PZ
6862+#define DDRB7 7
6863+#define DDRB6 6
6864+#define DDRB5 5
6865+#define DDRB4 4
6866+#define DDRB3 3
6867+#define DDRB2 2
6868+#define DDRB1 1
6869+#define DDRB0 0
6870+
69ed15f0 6871+#define PORTB _SFR_IO8(0x07)
9fe267c2
PZ
6872+#define PORTB7 7
6873+#define PORTB6 6
6874+#define PORTB5 5
6875+#define PORTB4 4
6876+#define PORTB3 3
6877+#define PORTB2 2
6878+#define PORTB1 1
6879+#define PORTB0 0
6880+
69ed15f0 6881+#define PINC _SFR_IO8(0x08)
9fe267c2
PZ
6882+#define PINC7 7
6883+#define PINC6 6
6884+#define PINC5 5
6885+#define PINC4 4
6886+#define PINC3 3
6887+#define PINC2 2
6888+#define PINC1 1
6889+#define PINC0 0
6890+
69ed15f0 6891+#define DDRC _SFR_IO8(0x09)
9fe267c2
PZ
6892+#define DDRC7 7
6893+#define DDRC6 6
6894+#define DDRC5 5
6895+#define DDRC4 4
6896+#define DDRC3 3
6897+#define DDRC2 2
6898+#define DDRC1 1
6899+#define DDRC0 0
6900+
69ed15f0 6901+#define PORTC _SFR_IO8(0x0A)
9fe267c2
PZ
6902+#define PORTC7 7
6903+#define PORTC6 6
6904+#define PORTC5 5
6905+#define PORTC4 4
6906+#define PORTC3 3
6907+#define PORTC2 2
6908+#define PORTC1 1
6909+#define PORTC0 0
6910+
69ed15f0
JR
6911+#define FSCR _SFR_IO8(0x0B)
6912+#define TXMOD 0
6913+#define SFM 1
6914+#define TXMS0 2
6915+#define TXMS1 3
6916+#define PAOER 4
6917+#define PAON 7
9fe267c2 6918+
69ed15f0 6919+/* Reserved [0x0C] */
9fe267c2 6920+
69ed15f0
JR
6921+#define RDSIFR _SFR_IO8(0x0D)
6922+#define NBITA 0
6923+#define NBITB 1
6924+#define EOTA 2
6925+#define EOTB 3
6926+#define SOTA 4
6927+#define SOTB 5
6928+#define WCOA 6
6929+#define WCOB 7
6930+
6931+#define MCUCR _SFR_IO8(0x0E)
6932+#define IVCE 0
6933+#define IVSEL 1
6934+#define SPIIO 2
6935+#define ENPS 3
6936+#define PUD 4
6937+#define PB4HS 5
6938+#define PB7LS 6
6939+#define PB7HS 7
9fe267c2 6940+
69ed15f0
JR
6941+#define PCIFR _SFR_IO8(0x0F)
6942+#define PCIF0 0
6943+#define PCIF1 1
9fe267c2 6944+
69ed15f0
JR
6945+#define T0CR _SFR_IO8(0x10)
6946+#define T0PS0 0
6947+#define T0PS1 1
6948+#define T0PS2 2
6949+#define T0IE 3
6950+#define T0PR 4
9fe267c2 6951+
69ed15f0
JR
6952+#define T1CR _SFR_IO8(0x11)
6953+#define T1OTM 0
6954+#define T1CTM 1
6955+#define T1CRM 2
6956+#define T1TOP 4
6957+#define T1RES 5
6958+#define T1TOS 6
6959+#define T1ENA 7
9fe267c2 6960+
69ed15f0
JR
6961+#define T2CR _SFR_IO8(0x12)
6962+#define T2OTM 0
6963+#define T2CTM 1
6964+#define T2CRM 2
6965+#define T2TOP 4
6966+#define T2RES 5
6967+#define T2TOS 6
6968+#define T2ENA 7
9fe267c2 6969+
69ed15f0
JR
6970+#define T3CR _SFR_IO8(0x13)
6971+#define T3OTM 0
6972+#define T3CTM 1
6973+#define T3CRM 2
6974+#define T3CPRM 3
6975+#define T3TOP 4
6976+#define T3RES 5
6977+#define T3TOS 6
6978+#define T3ENA 7
6979+
6980+#define T4CR _SFR_IO8(0x14)
6981+#define T4OTM 0
6982+#define T4CTM 1
6983+#define T4CRM 2
6984+#define T4CPRM 3
6985+#define T4TOP 4
6986+#define T4RES 5
6987+#define T4TOS 6
6988+#define T4ENA 7
6989+
6990+#define T1IFR _SFR_IO8(0x15)
6991+#define T1OFF 0
6992+#define T1COF 1
6993+
6994+#define T2IFR _SFR_IO8(0x16)
6995+#define T2OFF 0
6996+#define T2COF 1
9fe267c2 6997+
69ed15f0
JR
6998+#define T3IFR _SFR_IO8(0x17)
6999+#define T3OFF 0
7000+#define T3COF 1
7001+#define T3ICF 2
9fe267c2 7002+
69ed15f0
JR
7003+#define T4IFR _SFR_IO8(0x18)
7004+#define T4OFF 0
7005+#define T4COF 1
7006+#define T4ICF 2
9fe267c2 7007+
69ed15f0
JR
7008+#define T5IFR _SFR_IO8(0x19)
7009+#define T5OFF 0
7010+#define T5COF 1
9fe267c2 7011+
69ed15f0 7012+#define GPIOR0 _SFR_IO8(0x1A)
9fe267c2 7013+
69ed15f0
JR
7014+#define GPIOR3 _SFR_IO8(0x1B)
7015+
7016+#define GPIOR4 _SFR_IO8(0x1C)
7017+
7018+#define GPIOR5 _SFR_IO8(0x1D)
7019+
7020+#define GPIOR6 _SFR_IO8(0x1E)
9fe267c2
PZ
7021+
7022+#define EECR _SFR_IO8(0x1F)
7023+#define EERE 0
69ed15f0
JR
7024+#define EEWE 1
7025+#define EEMWE 2
9fe267c2
PZ
7026+#define EERIE 3
7027+#define EEPM0 4
7028+#define EEPM1 5
69ed15f0
JR
7029+#define EEPAGE 6
7030+#define NVMBSY 7
9fe267c2
PZ
7031+
7032+#define EEDR _SFR_IO8(0x20)
7033+
7034+/* Combine EEARL and EEARH */
7035+#define EEAR _SFR_IO16(0x21)
7036+
7037+#define EEARL _SFR_IO8(0x21)
7038+#define EEARH _SFR_IO8(0x22)
7039+
69ed15f0
JR
7040+#define EEPR _SFR_IO8(0x23)
7041+#define EEAP0 0
7042+#define EEAP1 1
7043+#define EEAP2 2
7044+#define EEAP3 3
9fe267c2 7045+
69ed15f0 7046+#define GPIOR1 _SFR_IO8(0x24)
9fe267c2 7047+
69ed15f0 7048+#define GPIOR2 _SFR_IO8(0x25)
9fe267c2 7049+
69ed15f0
JR
7050+#define PCICR _SFR_IO8(0x26)
7051+#define PCIE0 0
7052+#define PCIE1 1
9fe267c2 7053+
69ed15f0
JR
7054+#define EIMSK _SFR_IO8(0x27)
7055+#define INT0 0
7056+#define INT1 1
9fe267c2 7057+
69ed15f0
JR
7058+#define EIFR _SFR_IO8(0x28)
7059+#define INTF0 0
7060+#define INTF1 1
9fe267c2 7061+
69ed15f0 7062+#define CRCDIR _SFR_IO8(0x29)
9fe267c2 7063+
69ed15f0
JR
7064+#define VMCSR _SFR_IO8(0x2A)
7065+#define VMLS0 0
7066+#define VMLS1 1
7067+#define VMLS2 2
7068+#define VMLS3 3
7069+#define VMIM 4
7070+#define VMF 5
9fe267c2 7071+
69ed15f0
JR
7072+#define MCUSR _SFR_IO8(0x2B)
7073+#define PORF 0
7074+#define EXTRF 1
7075+#define WDRF 3
9fe267c2
PZ
7076+
7077+#define SPCR _SFR_IO8(0x2C)
7078+#define SPR0 0
7079+#define SPR1 1
7080+#define CPHA 2
7081+#define CPOL 3
7082+#define MSTR 4
7083+#define DORD 5
7084+#define SPE 6
7085+#define SPIE 7
7086+
7087+#define SPSR _SFR_IO8(0x2D)
7088+#define SPI2X 0
69ed15f0
JR
7089+#define RXIF 4
7090+#define TXIF 5
9fe267c2
PZ
7091+#define SPIF 7
7092+
7093+#define SPDR _SFR_IO8(0x2E)
7094+
69ed15f0
JR
7095+#define T0IFR _SFR_IO8(0x2F)
7096+#define T0F 0
9fe267c2 7097+
69ed15f0 7098+/* Reserved [0x30] */
9fe267c2 7099+
69ed15f0 7100+#define DWDR _SFR_IO8(0x31)
9fe267c2
PZ
7101+
7102+/* Reserved [0x32] */
7103+
69ed15f0
JR
7104+#define RDCR _SFR_IO8(0x33)
7105+#define RDPU 0
7106+#define ADIVEN 1
7107+#define RDEN 2
7108+
7109+#define EOTSA _SFR_IO8(0x34)
7110+#define CARFA 0
7111+#define AMPFA 1
7112+#define SYTFA 2
7113+#define MANFA 3
7114+#define TMOFA 4
7115+#define TELRA 5
7116+#define RRFA 6
7117+#define EOTBF 7
7118+
7119+#define EOTCA _SFR_IO8(0x35)
7120+#define CARFEA 0
7121+#define AMPFEA 1
7122+#define SYTFEA 2
7123+#define MANFEA 3
7124+#define TMOFEA 4
7125+#define TELREA 5
7126+#define RRFEA 6
7127+#define EOTBFE 7
7128+
7129+#define EOTSB _SFR_IO8(0x36)
7130+#define CARFB 0
7131+#define AMPFB 1
7132+#define SYTFB 2
7133+#define MANFB 3
7134+#define TMOFB 4
7135+#define TELRB 5
7136+#define RRFB 6
7137+#define EOTAF 7
7138+
7139+#define EOTCB _SFR_IO8(0x37)
7140+#define CARFEB 0
7141+#define AMPFEB 1
7142+#define SYTFEB 2
7143+#define MANFEB 3
7144+#define TMOFEB 4
7145+#define TELREB 5
7146+#define RRFEB 6
7147+#define EOTAFE 7
7148+
7149+#define SMCR _SFR_IO8(0x38)
9fe267c2
PZ
7150+#define SE 0
7151+#define SM0 1
7152+#define SM1 2
7153+#define SM2 3
7154+
69ed15f0
JR
7155+#define CMCR _SFR_IO8(0x39)
7156+#define CMM0 0
7157+#define CMM1 1
7158+#define CMM2 2
7159+#define CCS 3
7160+#define SRCD 4
7161+#define CMONEN 6
7162+#define CMCCE 7
9fe267c2 7163+
69ed15f0
JR
7164+#define CMIMR _SFR_IO8(0x3A)
7165+#define ECIE 0
9fe267c2 7166+
69ed15f0
JR
7167+#define CLPR _SFR_IO8(0x3B)
7168+#define CLKPS0 0
7169+#define CLKPS1 1
7170+#define CLKPS2 2
7171+#define CLTPS0 3
7172+#define CLTPS1 4
7173+#define CLTPS2 5
7174+#define CLPCE 7
9fe267c2 7175+
69ed15f0
JR
7176+#define SPMCSR _SFR_IO8(0x3C)
7177+#define SELFPRGEN 0
9fe267c2
PZ
7178+#define PGERS 1
7179+#define PGWRT 2
7180+#define BLBSET 3
9fe267c2
PZ
7181+#define SPMIE 7
7182+
69ed15f0 7183+/* SP [0x3D..0x3E] */
9fe267c2 7184+
69ed15f0 7185+/* SREG [0x3F] */
9fe267c2 7186+
69ed15f0
JR
7187+#define FSEN _SFR_MEM8(0x60)
7188+#define SDPU 0
7189+#define SDEN 1
7190+#define GAEN 2
7191+#define PEEN 3
7192+#define ASEN 4
7193+#define ANTT 5
9fe267c2 7194+
69ed15f0
JR
7195+#define FSFCR _SFR_MEM8(0x61)
7196+#define BTSEL0 0
7197+#define BTSEL1 1
7198+#define ASDIV0 4
7199+#define ASDIV1 5
7200+#define ASDIV2 6
7201+#define ASDIV3 7
9fe267c2 7202+
69ed15f0
JR
7203+/* Combine GACDIVL and GACDIVH */
7204+#define GACDIV _SFR_MEM16(0x62)
9fe267c2 7205+
69ed15f0
JR
7206+#define GACDIVL _SFR_MEM8(0x62)
7207+#define GACDIVH _SFR_MEM8(0x63)
9fe267c2 7208+
69ed15f0 7209+#define FFREQ1L _SFR_MEM8(0x64)
9fe267c2 7210+
69ed15f0 7211+#define FFREQ1M _SFR_MEM8(0x65)
9fe267c2 7212+
69ed15f0 7213+#define FFREQ1H _SFR_MEM8(0x66)
9fe267c2 7214+
69ed15f0 7215+#define FFREQ2L _SFR_MEM8(0x67)
9fe267c2 7216+
69ed15f0 7217+#define FFREQ2M _SFR_MEM8(0x68)
9fe267c2 7218+
69ed15f0 7219+#define FFREQ2H _SFR_MEM8(0x69)
9fe267c2 7220+
69ed15f0 7221+/* Reserved [0x6A] */
9fe267c2 7222+
69ed15f0 7223+#define EICRA _SFR_MEM8(0x6B)
9fe267c2
PZ
7224+#define ISC00 0
7225+#define ISC01 1
7226+#define ISC10 2
7227+#define ISC11 3
9fe267c2 7228+
69ed15f0 7229+#define PCMSK0 _SFR_MEM8(0x6C)
9fe267c2
PZ
7230+#define PCINT0 0
7231+#define PCINT1 1
7232+#define PCINT2 2
7233+#define PCINT3 3
7234+#define PCINT4 4
7235+#define PCINT5 5
7236+#define PCINT6 6
7237+#define PCINT7 7
7238+
69ed15f0 7239+#define PCMSK1 _SFR_MEM8(0x6D)
9fe267c2
PZ
7240+#define PCINT8 0
7241+#define PCINT9 1
7242+#define PCINT10 2
7243+#define PCINT11 3
7244+#define PCINT12 4
7245+#define PCINT13 5
9fe267c2 7246+
69ed15f0
JR
7247+#define WDTCR _SFR_MEM8(0x6E)
7248+#define WDPS0 0
7249+#define WDPS1 1
7250+#define WDPS2 2
7251+#define WDE 3
7252+#define WDCE 4
9fe267c2 7253+
69ed15f0 7254+#define T1CNT _SFR_MEM8(0x6F)
9fe267c2 7255+
69ed15f0 7256+#define T1COR _SFR_MEM8(0x70)
9fe267c2 7257+
69ed15f0
JR
7258+#define T1MR _SFR_MEM8(0x71)
7259+#define T1CS0 0
7260+#define T1CS1 1
7261+#define T1PS0 2
7262+#define T1PS1 3
7263+#define T1PS2 4
7264+#define T1PS3 5
7265+#define T1DC0 6
7266+#define T1DC1 7
9fe267c2 7267+
69ed15f0
JR
7268+#define T1IMR _SFR_MEM8(0x72)
7269+#define T1OIM 0
7270+#define T1CIM 1
9fe267c2 7271+
69ed15f0 7272+#define T2CNT _SFR_MEM8(0x73)
9fe267c2 7273+
69ed15f0 7274+#define T2COR _SFR_MEM8(0x74)
9fe267c2 7275+
69ed15f0
JR
7276+#define T2MR _SFR_MEM8(0x75)
7277+#define T2CS0 0
7278+#define T2CS1 1
7279+#define T2PS0 2
7280+#define T2PS1 3
7281+#define T2PS2 4
7282+#define T2PS3 5
7283+#define T2DC0 6
7284+#define T2DC1 7
7285+
7286+#define T2IMR _SFR_MEM8(0x76)
7287+#define T2OIM 0
7288+#define T2CIM 1
9fe267c2 7289+
69ed15f0
JR
7290+/* Combine T3CNTL and T3CNTH */
7291+#define T3CNT _SFR_MEM16(0x77)
9fe267c2 7292+
69ed15f0
JR
7293+#define T3CNTL _SFR_MEM8(0x77)
7294+#define T3CNTH _SFR_MEM8(0x78)
9fe267c2 7295+
69ed15f0
JR
7296+/* Combine T3CORL and T3CORH */
7297+#define T3COR _SFR_MEM16(0x79)
9fe267c2 7298+
69ed15f0
JR
7299+#define T3CORL _SFR_MEM8(0x79)
7300+#define T3CORH _SFR_MEM8(0x7A)
9fe267c2 7301+
69ed15f0
JR
7302+/* Combine T3ICRL and T3ICRH */
7303+#define T3ICR _SFR_MEM16(0x7B)
9fe267c2 7304+
69ed15f0
JR
7305+#define T3ICRL _SFR_MEM8(0x7B)
7306+#define T3ICRH _SFR_MEM8(0x7C)
9fe267c2 7307+
69ed15f0
JR
7308+#define T3MRA _SFR_MEM8(0x7D)
7309+#define T3CS0 0
7310+#define T3CS1 1
7311+#define T3PS0 2
7312+#define T3PS1 3
7313+#define T3PS2 4
9fe267c2 7314+
69ed15f0
JR
7315+#define T3MRB _SFR_MEM8(0x7E)
7316+#define T3SCE 1
7317+#define T3CNC 2
7318+#define T3CE0 3
7319+#define T3CE1 4
7320+#define T3ICS0 5
7321+#define T3ICS1 6
7322+#define T3ICS2 7
9fe267c2 7323+
69ed15f0
JR
7324+#define T3IMR _SFR_MEM8(0x7F)
7325+#define T3OIM 0
7326+#define T3CIM 1
7327+#define T3CPIM 2
9fe267c2 7328+
69ed15f0
JR
7329+/* Combine T4CNTL and T4CNTH */
7330+#define T4CNT _SFR_MEM16(0x80)
9fe267c2 7331+
69ed15f0
JR
7332+#define T4CNTL _SFR_MEM8(0x80)
7333+#define T4CNTH _SFR_MEM8(0x81)
9fe267c2 7334+
69ed15f0
JR
7335+/* Combine T4CORL and T4CORH */
7336+#define T4COR _SFR_MEM16(0x82)
9fe267c2 7337+
69ed15f0
JR
7338+#define T4CORL _SFR_MEM8(0x82)
7339+#define T4CORH _SFR_MEM8(0x83)
9fe267c2 7340+
69ed15f0
JR
7341+/* Combine T4ICRL and T4ICRH */
7342+#define T4ICR _SFR_MEM16(0x84)
9fe267c2 7343+
69ed15f0
JR
7344+#define T4ICRL _SFR_MEM8(0x84)
7345+#define T4ICRH _SFR_MEM8(0x85)
9fe267c2 7346+
69ed15f0
JR
7347+#define T4MRA _SFR_MEM8(0x86)
7348+#define T4CS0 0
7349+#define T4CS1 1
7350+#define T4PS0 2
7351+#define T4PS1 3
7352+#define T4PS2 4
9fe267c2 7353+
69ed15f0
JR
7354+#define T4MRB _SFR_MEM8(0x87)
7355+#define T4SCE 1
7356+#define T4CNC 2
7357+#define T4CE0 3
7358+#define T4CE1 4
7359+#define T4ICS0 5
7360+#define T4ICS1 6
7361+#define T4ICS2 7
9fe267c2 7362+
69ed15f0
JR
7363+#define T4IMR _SFR_MEM8(0x88)
7364+#define T4OIM 0
7365+#define T4CIM 1
7366+#define T4CPIM 2
9fe267c2 7367+
69ed15f0 7368+/* Reserved [0x89] */
9fe267c2 7369+
69ed15f0
JR
7370+/* Combine T5OCRL and T5OCRH */
7371+#define T5OCR _SFR_MEM16(0x8A)
9fe267c2 7372+
69ed15f0
JR
7373+#define T5OCRL _SFR_MEM8(0x8A)
7374+#define T5OCRH _SFR_MEM8(0x8B)
9fe267c2 7375+
69ed15f0
JR
7376+#define T5CCR _SFR_MEM8(0x8C)
7377+#define T5CS0 0
7378+#define T5CS1 1
7379+#define T5CS2 2
7380+#define T5CTC 3
9fe267c2 7381+
69ed15f0
JR
7382+/* Combine T5CNTL and T5CNTH */
7383+#define T5CNT _SFR_MEM16(0x8D)
9fe267c2 7384+
69ed15f0
JR
7385+#define T5CNTL _SFR_MEM8(0x8D)
7386+#define T5CNTH _SFR_MEM8(0x8E)
9fe267c2 7387+
69ed15f0
JR
7388+#define T5IMR _SFR_MEM8(0x8F)
7389+#define T5OIM 0
7390+#define T5CIM 1
9fe267c2 7391+
69ed15f0
JR
7392+#define GTCCR _SFR_MEM8(0x90)
7393+#define PSR10 0
7394+#define TSM 7
9fe267c2 7395+
69ed15f0
JR
7396+#define SOTSB _SFR_MEM8(0x91)
7397+#define CAROB 0
7398+#define AMPOB 1
7399+#define SYTOB 2
7400+#define MANOB 3
7401+#define WUPOB 4
7402+#define SFIDOB 5
7403+#define RROB 6
7404+#define WCOAO 7
7405+
7406+#define SOTSA _SFR_MEM8(0x92)
7407+#define CAROA 0
7408+#define AMPOA 1
7409+#define SYTOA 2
7410+#define MANOA 3
7411+#define WUPOA 4
7412+#define SFIDOA 5
7413+#define RROA 6
7414+#define WCOBO 7
7415+
7416+#define SOTCB _SFR_MEM8(0x93)
7417+#define CAROEB 0
7418+#define AMPOEB 1
7419+#define SYTOEB 2
7420+#define MANOEB 3
7421+#define WUPEB 4
7422+#define SFIDEB 5
7423+#define RROEB 6
7424+#define WCOAOE 7
7425+
7426+#define SOTCA _SFR_MEM8(0x94)
7427+#define CAROEA 0
7428+#define AMPOEA 1
7429+#define SYTOEA 2
7430+#define MANOEA 3
7431+#define WUPEA 4
7432+#define SFIDEA 5
7433+#define RROEA 6
7434+#define WCOBOE 7
7435+
7436+#define TESRB _SFR_MEM8(0x95)
7437+#define CRCOB 0
7438+#define EOTLB0 1
7439+#define EOTLB1 2
7440+
7441+#define TESRA _SFR_MEM8(0x96)
7442+#define CRCOA 0
7443+#define EOTLA0 1
7444+#define EOTLA1 2
7445+
7446+/* Reserved [0x97] */
7447+
7448+#define RDSIMR _SFR_MEM8(0x98)
7449+#define NBITAM 0
7450+#define NBITBM 1
7451+#define EOTAM 2
7452+#define EOTBM 3
7453+#define SOTAM 4
7454+#define SOTBM 5
7455+#define WCOAM 6
7456+#define WCOBM 7
7457+
7458+#define RDOCR _SFR_MEM8(0x99)
7459+#define TMDS0 1
7460+#define TMDS1 2
7461+#define ETRPA 3
7462+#define ETRPB 4
7463+#define RDSIDA 5
7464+#define RDSIDB 6
7465+
7466+/* Reserved [0x9A] */
7467+
7468+#define TEMPL _SFR_MEM8(0x9B)
7469+
7470+#define TEMPH _SFR_MEM8(0x9C)
7471+
7472+#define SYCB _SFR_MEM8(0x9D)
7473+#define SYCSB0 0
7474+#define SYCSB1 1
7475+#define SYCSB2 2
7476+#define SYCSB3 3
7477+#define SYTLB0 4
7478+#define SYTLB1 5
7479+#define SYTLB2 6
7480+#define SYTLB3 7
7481+
7482+#define SYCA _SFR_MEM8(0x9E)
7483+#define SYCSA0 0
7484+#define SYCSA1 1
7485+#define SYCSA2 2
7486+#define SYCSA3 3
7487+#define SYTLA0 4
7488+#define SYTLA1 5
7489+#define SYTLA2 6
7490+#define SYTLA3 7
7491+
7492+#define RXFOB _SFR_MEM8(0x9F)
7493+
7494+#define RXFOA _SFR_MEM8(0xA0)
7495+
7496+#define DMMB _SFR_MEM8(0xA1)
7497+#define DMATB0 0
7498+#define DMATB1 1
7499+#define DMATB2 2
7500+#define DMATB3 3
7501+#define DMATB4 4
7502+#define DMPB 5
7503+#define DMHB 6
7504+#define DMNEB 7
7505+
7506+#define DMMA _SFR_MEM8(0xA2)
7507+#define DMATA0 0
7508+#define DMATA1 1
7509+#define DMATA2 2
7510+#define DMATA3 3
7511+#define DMATA4 4
7512+#define DMPA 5
7513+#define DMHA 6
7514+#define DMNEA 7
7515+
7516+#define DMCDB _SFR_MEM8(0xA3)
7517+#define DMCLB0 0
7518+#define DMCLB1 1
7519+#define DMCLB2 2
7520+#define DMCLB3 3
7521+#define DMCLB4 4
7522+#define DMCTB0 5
7523+#define DMCTB1 6
7524+#define DMCTB2 7
7525+
7526+#define DMCDA _SFR_MEM8(0xA4)
7527+#define DMCLA0 0
7528+#define DMCLA1 1
7529+#define DMCLA2 2
7530+#define DMCLA3 3
7531+#define DMCLA4 4
7532+#define DMCTA0 5
7533+#define DMCTA1 6
7534+#define DMCTA2 7
7535+
7536+#define DMCRB _SFR_MEM8(0xA5)
7537+#define DMPGB0 0
7538+#define DMPGB1 1
7539+#define DMPGB2 2
7540+#define DMPGB3 3
7541+#define DMPGB4 4
7542+#define SASKB 5
7543+#define SY1TB 6
7544+#define DMARB 7
7545+
7546+#define DMCRA _SFR_MEM8(0xA6)
7547+#define DMPGA0 0
7548+#define DMPGA1 1
7549+#define DMPGA2 2
7550+#define DMPGA3 3
7551+#define DMPGA4 4
7552+#define SASKA 5
7553+#define SY1TA 6
7554+#define DMARA 7
7555+
7556+#define DMDRB _SFR_MEM8(0xA7)
7557+#define DMAB0 0
7558+#define DMAB1 1
7559+#define DMAB2 2
7560+#define DMAB3 3
7561+#define DMDNB0 4
7562+#define DMDNB1 5
7563+#define DMDNB2 6
7564+#define DMDNB3 7
7565+
7566+#define DMDRA _SFR_MEM8(0xA8)
7567+#define DMAA0 0
7568+#define DMAA1 1
7569+#define DMAA2 2
7570+#define DMAA3 3
7571+#define DMDNA0 4
7572+#define DMDNA1 5
7573+#define DMDNA2 6
7574+#define DMDNA3 7
7575+
7576+#define CHCR _SFR_MEM8(0xA9)
7577+#define BWM0 0
7578+#define BWM1 1
7579+#define BWM2 2
7580+#define BWM3 3
7581+
7582+#define CHDN _SFR_MEM8(0xAA)
7583+#define BBDN0 0
7584+#define BBDN1 1
7585+#define BBDN2 2
7586+#define BBDN3 3
7587+#define BBDN4 4
7588+#define ADCDN 5
7589+
7590+#define SFIDCB _SFR_MEM8(0xAB)
7591+#define SFIDTB0 0
7592+#define SFIDTB1 1
7593+#define SFIDTB2 2
7594+#define SFIDTB3 3
7595+#define SFIDTB4 4
7596+#define SEMEB 7
7597+
7598+#define SFIDLB _SFR_MEM8(0xAC)
7599+#define SFIDLB0 0
7600+#define SFIDLB1 1
7601+#define SFIDLB2 2
7602+#define SFIDLB3 3
7603+#define SFIDLB4 4
7604+#define SFIDLB5 5
7605+
7606+#define WUPTB _SFR_MEM8(0xAD)
7607+#define WUPTB0 0
7608+#define WUPTB1 1
7609+#define WUPTB2 2
7610+#define WUPTB3 3
7611+#define WUPTB4 4
7612+
7613+#define WUPLB _SFR_MEM8(0xAE)
7614+#define WUPLB0 0
7615+#define WUPLB1 1
7616+#define WUPLB2 2
7617+#define WUPLB3 3
7618+#define WUPLB4 4
7619+#define WUPLB5 5
7620+
7621+#define SFID1B _SFR_MEM8(0xAF)
7622+
7623+#define SFID2B _SFR_MEM8(0xB0)
7624+
7625+#define SFID3B _SFR_MEM8(0xB1)
7626+
7627+#define SFID4B _SFR_MEM8(0xB2)
7628+
7629+#define WUP1B _SFR_MEM8(0xB3)
7630+
7631+#define WUP2B _SFR_MEM8(0xB4)
7632+
7633+#define WUP3B _SFR_MEM8(0xB5)
7634+
7635+#define WUP4B _SFR_MEM8(0xB6)
7636+
7637+#define SFIDCA _SFR_MEM8(0xB7)
7638+#define SFIDTA0 0
7639+#define SFIDTA1 1
7640+#define SFIDTA2 2
7641+#define SFIDTA3 3
7642+#define SFIDTA4 4
7643+#define SEMEA 7
7644+
7645+#define SFIDLA _SFR_MEM8(0xB8)
7646+#define SFIDLA0 0
7647+#define SFIDLA1 1
7648+#define SFIDLA2 2
7649+#define SFIDLA3 3
7650+#define SFIDLA4 4
7651+#define SFIDLA5 5
7652+
7653+#define WUPTA _SFR_MEM8(0xB9)
7654+#define WUPTA0 0
7655+#define WUPTA1 1
7656+#define WUPTA2 2
7657+#define WUPTA3 3
7658+#define WUPTA4 4
7659+
7660+#define WUPLA _SFR_MEM8(0xBA)
7661+#define WUPLA0 0
7662+#define WUPLA1 1
7663+#define WUPLA2 2
7664+#define WUPLA3 3
7665+#define WUPLA4 4
7666+#define WUPLA5 5
7667+
7668+#define SFID1A _SFR_MEM8(0xBB)
7669+
7670+#define SFID2A _SFR_MEM8(0xBC)
7671+
7672+#define SFID3A _SFR_MEM8(0xBD)
7673+
7674+#define SFID4A _SFR_MEM8(0xBE)
7675+
7676+#define WUP1A _SFR_MEM8(0xBF)
7677+
7678+#define WUP2A _SFR_MEM8(0xC0)
7679+
7680+#define WUP3A _SFR_MEM8(0xC1)
7681+
7682+#define WUP4A _SFR_MEM8(0xC2)
7683+
7684+#define CLKOD _SFR_MEM8(0xC3)
7685+
7686+#define CLKOCR _SFR_MEM8(0xC4)
7687+#define CLKOS0 0
7688+#define CLKOS1 1
7689+#define CLKOEN 2
7690+
7691+#define XFUSE _SFR_MEM8(0xC5)
7692+
7693+#define SRCCAL _SFR_MEM8(0xC6)
7694+#define SRCCAL0 0
7695+#define SRCCAL1 1
7696+#define SRCCAL2 2
7697+#define SRCCAL3 3
7698+#define SRCCAL4 4
7699+#define SRCCAL5 5
7700+#define SRCTC0 6
7701+#define SRCTC1 7
9fe267c2 7702+
69ed15f0
JR
7703+#define FRCCAL _SFR_MEM8(0xC7)
7704+#define FRCCAL0 0
7705+#define FRCCAL1 1
7706+#define FRCCAL2 2
7707+#define FRCCAL3 3
7708+#define FRCCAL4 4
7709+#define FRCTC 5
9fe267c2 7710+
69ed15f0
JR
7711+#define CMSR _SFR_MEM8(0xC8)
7712+#define ECF 0
9fe267c2 7713+
69ed15f0
JR
7714+#define CMOCR _SFR_MEM8(0xC9)
7715+#define FRCAO 0
7716+#define SRCAO 1
7717+#define FRCACT 2
7718+#define SRCACT 3
7719+
7720+#define SUPFR _SFR_MEM8(0xCA)
7721+#define AVCCRF 0
7722+#define AVCCLF 1
7723+
7724+#define SUPCR _SFR_MEM8(0xCB)
7725+#define AVCCRM 0
7726+#define AVCCLM 1
7727+#define PVEN 2
7728+#define DVDIS 4
7729+#define AVEN 5
7730+#define AVDIC 6
7731+
7732+#define SUPCA1 _SFR_MEM8(0xCC)
7733+#define PV22 2
7734+#define PVDIC 3
7735+#define PVCAL0 4
7736+#define PVCAL1 5
7737+#define PVCAL2 6
7738+#define PVCAL3 7
7739+
7740+#define SUPCA2 _SFR_MEM8(0xCD)
7741+#define BGCAL0 0
7742+#define BGCAL1 1
7743+#define BGCAL2 2
7744+#define BGCAL3 3
7745+
7746+#define SUPCA3 _SFR_MEM8(0xCE)
7747+#define ACAL4 0
7748+#define ACAL5 1
7749+#define ACAL6 2
7750+#define ACAL7 3
7751+#define DCAL4 4
7752+#define DCAL5 5
7753+#define DCAL6 6
7754+
7755+#define SUPCA4 _SFR_MEM8(0xCF)
7756+#define ACAL0 0
7757+#define ACAL1 1
7758+#define ACAL2 2
7759+#define ACAL3 3
7760+#define DCAL0 4
7761+#define DCAL1 5
7762+#define DCAL2 6
7763+#define DCAL3 7
7764+
7765+#define CALRDY _SFR_MEM8(0xD0)
7766+
7767+#define VMCAL _SFR_MEM8(0xD1)
7768+#define VMCAL0 0
7769+#define VMCAL1 1
7770+#define VMCAL2 2
7771+
7772+#define DFS _SFR_MEM8(0xD2)
7773+#define DFFLRF 0
7774+#define DFUFL 1
7775+#define DFOFL 2
7776+
7777+/* Combine DFTLL and DFTLH */
7778+#define DFTL _SFR_MEM16(0xD3)
7779+
7780+#define DFTLL _SFR_MEM8(0xD3)
7781+#define DFTLH _SFR_MEM8(0xD4)
7782+
7783+#define DFL _SFR_MEM8(0xD5)
7784+#define DFFLS0 0
7785+#define DFFLS1 1
7786+#define DFFLS2 2
7787+#define DFFLS3 3
7788+#define DFFLS4 4
7789+#define DFFLS5 5
7790+#define DFCLR 7
7791+
7792+#define DFWP _SFR_MEM8(0xD6)
7793+#define DFWP0 0
7794+#define DFWP1 1
7795+#define DFWP2 2
7796+#define DFWP3 3
7797+#define DFWP4 4
7798+#define DFWP5 5
7799+
7800+#define DFRP _SFR_MEM8(0xD7)
7801+#define DFRP0 0
7802+#define DFRP1 1
7803+#define DFRP2 2
7804+#define DFRP3 3
7805+#define DFRP4 4
7806+#define DFRP5 5
7807+
7808+#define DFD _SFR_MEM8(0xD8)
7809+
7810+#define DFI _SFR_MEM8(0xD9)
7811+#define DFFLIM 0
7812+#define DFERIM 1
7813+
7814+#define DFC _SFR_MEM8(0xDA)
7815+#define DFFLC0 0
7816+#define DFFLC1 1
7817+#define DFFLC2 2
7818+#define DFFLC3 3
7819+#define DFFLC4 4
7820+#define DFFLC5 5
7821+#define DFDRA 7
7822+
7823+#define SFS _SFR_MEM8(0xDB)
7824+#define SFFLRF 0
7825+#define SFUFL 1
7826+#define SFOFL 2
7827+
7828+#define SFL _SFR_MEM8(0xDC)
7829+#define SFFLS0 0
7830+#define SFFLS1 1
7831+#define SFFLS2 2
7832+#define SFFLS3 3
7833+#define SFFLS4 4
7834+#define SFCLR 7
7835+
7836+#define SFWP _SFR_MEM8(0xDD)
7837+#define SFWP0 0
7838+#define SFWP1 1
7839+#define SFWP2 2
7840+#define SFWP3 3
7841+#define SFWP4 4
7842+
7843+#define SFRP _SFR_MEM8(0xDE)
7844+#define SFRP0 0
7845+#define SFRP1 1
7846+#define SFRP2 2
7847+#define SFRP3 3
7848+#define SFRP4 4
7849+
7850+#define SFD _SFR_MEM8(0xDF)
7851+
7852+#define SFI _SFR_MEM8(0xE0)
7853+#define SFFLIM 0
7854+#define SFERIM 1
7855+
7856+#define SFC _SFR_MEM8(0xE1)
7857+#define SFFLC0 0
7858+#define SFFLC1 1
7859+#define SFFLC2 2
7860+#define SFFLC3 3
7861+#define SFFLC4 4
7862+#define SFDRA 7
7863+
7864+#define SSMCR _SFR_MEM8(0xE2)
7865+#define SSMTX 0
7866+#define SSMTM 1
7867+#define SSMTGE 2
7868+#define SSMTPE 3
7869+#define SSMPVE 4
7870+#define SSMTAE 5
7871+#define SETRPA 6
7872+#define SETRPB 7
7873+
7874+#define SSMRCR _SFR_MEM8(0xE3)
7875+#define SSMPA 0
7876+#define SSMPB 1
7877+#define SSMADA 2
7878+#define SSMADB 3
7879+#define SSMPVS 4
7880+#define SSMIFA 5
7881+#define SSMIDSE 6
7882+#define SSMTMOE 7
7883+
7884+#define SSMFBR _SFR_MEM8(0xE4)
7885+#define SSMFID0 0
7886+#define SSMFID1 1
7887+#define SSMFID2 2
7888+#define SSMDFDT 3
7889+#define SSMHADT 4
7890+#define SSMPLDT 5
7891+
7892+#define SSMRR _SFR_MEM8(0xE5)
7893+#define SSMR 0
7894+#define SSMST 1
7895+
7896+#define SSMSR _SFR_MEM8(0xE6)
7897+#define SSMESM0 0
7898+#define SSMESM1 1
7899+#define SSMESM2 2
7900+#define SSMESM3 3
7901+#define SSMERR 7
7902+
7903+#define SSMIFR _SFR_MEM8(0xE7)
7904+#define SSMIF 0
7905+
7906+#define SSMIMR _SFR_MEM8(0xE8)
7907+#define SSMIM 0
7908+
7909+#define MSMSTR _SFR_MEM8(0xE9)
7910+#define SSMMST0 0
7911+#define SSMMST1 1
7912+#define SSMMST2 2
7913+#define SSMMST3 3
7914+#define SSMMST4 4
7915+
7916+#define SSMSTR _SFR_MEM8(0xEA)
7917+#define SSMSTA0 0
7918+#define SSMSTA1 1
7919+#define SSMSTA2 2
7920+#define SSMSTA3 3
7921+#define SSMSTA4 4
7922+#define SSMSTA5 5
7923+
7924+#define SSMXSR _SFR_MEM8(0xEB)
7925+#define SSMSTB0 0
7926+#define SSMSTB1 1
7927+#define SSMSTB2 2
7928+#define SSMSTB3 3
7929+#define SSMSTB4 4
7930+#define SSMSTB5 5
7931+
7932+#define MSMCR1 _SFR_MEM8(0xEC)
7933+#define MSMSM00 0
7934+#define MSMSM01 1
7935+#define MSMSM02 2
7936+#define MSMSM03 3
7937+#define MSMSM10 4
7938+#define MSMSM11 5
7939+#define MSMSM12 6
7940+#define MSMSM13 7
7941+
7942+#define MSMCR2 _SFR_MEM8(0xED)
7943+#define MSMSM20 0
7944+#define MSMSM21 1
7945+#define MSMSM22 2
7946+#define MSMSM23 3
7947+#define MSMSM30 4
7948+#define MSMSM31 5
7949+#define MSMSM32 6
7950+#define MSMSM33 7
7951+
7952+#define MSMCR3 _SFR_MEM8(0xEE)
7953+#define MSMSM40 0
7954+#define MSMSM41 1
7955+#define MSMSM42 2
7956+#define MSMSM43 3
7957+#define MSMSM50 4
7958+#define MSMSM51 5
7959+#define MSMSM52 6
7960+#define MSMSM53 7
7961+
7962+#define MSMCR4 _SFR_MEM8(0xEF)
7963+#define MSMSM60 0
7964+#define MSMSM61 1
7965+#define MSMSM62 2
7966+#define MSMSM63 3
7967+#define MSMSM70 4
7968+#define MSMSM71 5
7969+#define MSMSM72 6
7970+#define MSMSM73 7
7971+
7972+#define GTCR _SFR_MEM8(0xF0)
7973+#define RXTEHA 0
7974+#define GAPMA 1
7975+#define DARA 2
7976+#define IWUPA 3
7977+#define RXTEHB 4
7978+#define GAPMB 5
7979+#define DARB 6
7980+#define IWUPB 7
7981+
7982+#define SOTC1A _SFR_MEM8(0xF1)
7983+#define CAROEA1 0
7984+#define AMPOEA1 1
7985+#define SYTOEA1 2
7986+#define MANOEA1 3
7987+#define WUPEA1 4
7988+#define SFIDEA1 5
7989+#define RROEA1 6
7990+#define WCOBOE1 7
7991+
7992+#define SOTC2A _SFR_MEM8(0xF2)
7993+#define CAROEA2 0
7994+#define AMPOEA2 1
7995+#define SYTOEA2 2
7996+#define MANOEA2 3
7997+#define WUPEA2 4
7998+#define SFIDEA2 5
7999+#define RROEA2 6
8000+#define WCOBOE2 7
8001+
8002+#define SOTC1B _SFR_MEM8(0xF3)
8003+#define CAROEB1 0
8004+#define AMPOEB1 1
8005+#define SYTOEB1 2
8006+#define MANOEB1 3
8007+#define WUPEB1 4
8008+#define SFIDEB1 5
8009+#define RROEB1 6
8010+#define WCOAOE1 7
8011+
8012+#define SOTC2B _SFR_MEM8(0xF4)
8013+#define CAROEB2 0
8014+#define AMPOEB2 1
8015+#define SYTOEB2 2
8016+#define MANOEB2 3
8017+#define WUPEB2 4
8018+#define SFIDEB2 5
8019+#define RROEB2 6
8020+#define WCOAOE2 7
8021+
8022+#define EOTC1A _SFR_MEM8(0xF5)
8023+#define CARFEA1 0
8024+#define AMPFEA1 1
8025+#define SYTFEA1 2
8026+#define MANFEA1 3
8027+#define TMOFEA1 4
8028+#define TELREA1 5
8029+#define RRFEA1 6
8030+#define EOTBFE1 7
8031+
8032+#define EOTC2A _SFR_MEM8(0xF6)
8033+#define CARFEA2 0
8034+#define AMPFEA2 1
8035+#define SYTFEA2 2
8036+#define MANFEA2 3
8037+#define TMOFEA2 4
8038+#define TELREA2 5
8039+#define RRFEA2 6
8040+#define EOTBFE2 7
8041+
8042+#define EOTC3A _SFR_MEM8(0xF7)
8043+#define CARFEA3 0
8044+#define AMPFEA3 1
8045+#define SYTFEA3 2
8046+#define MANFEA3 3
8047+#define TMOFEA3 4
8048+#define TELREA3 5
8049+#define RRFEA3 6
8050+#define EOTBFE3 7
8051+
8052+#define EOTC1B _SFR_MEM8(0xF8)
8053+#define CARFEB1 0
8054+#define AMPFEB1 1
8055+#define SYTFEB1 2
8056+#define MANFEB1 3
8057+#define TMOFEB1 4
8058+#define TELREB1 5
8059+#define RRFEB1 6
8060+#define EOTAFE1 7
8061+
8062+#define EOTC2B _SFR_MEM8(0xF9)
8063+#define CARFEB2 0
8064+#define AMPFEB2 1
8065+#define SYTFEB2 2
8066+#define MANFEB2 3
8067+#define TMOFEB2 4
8068+#define TELREB2 5
8069+#define RRFEB2 6
8070+#define EOTAFE2 7
8071+
8072+#define EOTC3B _SFR_MEM8(0xFA)
8073+#define CARFEB3 0
8074+#define AMPFEB3 1
8075+#define SYTFEB3 2
8076+#define MANFEB3 3
8077+#define TMOFEB3 4
8078+#define TELREB3 5
8079+#define RRFEB3 6
8080+#define EOTAFE3 7
8081+
8082+#define WCOTOA _SFR_MEM8(0xFB)
8083+
8084+#define WCOTOB _SFR_MEM8(0xFC)
8085+
8086+#define SOTTOA _SFR_MEM8(0xFD)
8087+
8088+#define SOTTOB _SFR_MEM8(0xFE)
8089+
8090+#define SSMFCR _SFR_MEM8(0xFF)
8091+#define SSMIDSO 0
8092+#define SSMIDSF 1
8093+
8094+#define FESR _SFR_MEM8(0x100)
8095+#define LBSAT 0
8096+#define HBSAT 1
8097+#define XRDY 2
8098+#define PLCK 3
8099+#define ANTS 4
8100+
8101+#define FEEN1 _SFR_MEM8(0x101)
8102+#define PLEN 0
8103+#define PLCAL 1
8104+#define XTOEN 2
8105+#define LNAEN 3
8106+#define ADEN 4
8107+#define ADCLK 5
8108+#define PLSP1 6
8109+#define ATEN 7
8110+
8111+#define FEEN2 _SFR_MEM8(0x102)
8112+#define SDRX 0
8113+#define SDTX 1
8114+#define PAEN 2
8115+#define TMPM 3
8116+#define PLPEN 4
8117+#define XTPEN 5
8118+#define CPBIA 6
8119+
8120+#define FELNA _SFR_MEM8(0x103)
8121+#define LBH0 0
8122+#define LBH1 1
8123+#define LBH2 2
8124+#define LBH3 3
8125+#define LBL0 4
8126+#define LBL1 5
8127+#define LBL2 6
8128+#define LBL3 7
8129+
8130+#define FEAT _SFR_MEM8(0x104)
8131+#define ANTN0 0
8132+#define ANTN1 1
8133+#define ANTN2 2
8134+#define ANTN3 3
8135+
8136+#define FEPAC _SFR_MEM8(0x105)
8137+
8138+#define FEVCT _SFR_MEM8(0x106)
8139+#define FEVCT0 0
8140+#define FEVCT1 1
8141+#define FEVCT2 2
8142+#define FEVCT3 3
8143+
8144+#define FEBT _SFR_MEM8(0x107)
8145+#define CTN20 0
8146+#define CTN21 1
8147+#define RTN20 2
8148+#define RTN21 3
8149+
8150+#define FEMS _SFR_MEM8(0x108)
8151+#define PLLS0 0
8152+#define PLLS1 1
8153+#define PLLS2 2
8154+#define PLLS3 3
8155+#define PLLM0 4
8156+#define PLLM1 5
8157+#define PLLM2 6
8158+#define PLLM3 7
8159+
8160+#define FETN4 _SFR_MEM8(0x109)
8161+#define CTN40 0
8162+#define CTN41 1
8163+#define CTN42 2
8164+#define CTN43 3
8165+#define RTN40 4
8166+#define RTN41 5
8167+#define RTN42 6
8168+#define RTN43 7
8169+
8170+#define FECR _SFR_MEM8(0x10A)
8171+#define LBNHB 0
8172+#define S4N3 1
8173+#define ANDP 2
8174+#define ADHS 3
8175+#define PLCKG 4
8176+#define ANPS 5
8177+
8178+#define FEVCO _SFR_MEM8(0x10B)
8179+#define CPCC0 0
8180+#define CPCC1 1
8181+#define CPCC2 2
8182+#define CPCC3 3
8183+#define VCOB0 4
8184+#define VCOB1 5
8185+#define VCOB2 6
8186+#define VCOB3 7
8187+
8188+#define FEALR _SFR_MEM8(0x10C)
8189+#define RNGE0 0
8190+#define RNGE1 1
8191+
8192+#define FEANT _SFR_MEM8(0x10D)
8193+#define LVLC0 0
8194+#define LVLC1 1
8195+#define LVLC2 2
8196+#define LVLC3 3
8197+
8198+#define FEBIA _SFR_MEM8(0x10E)
8199+#define IFAEN 7
8200+
8201+/* Reserved [0x10F..0x11F] */
8202+
8203+#define TMFSM _SFR_MEM8(0x120)
8204+#define TMSSM0 0
8205+#define TMSSM1 1
8206+#define TMSSM2 2
8207+#define TMSSM3 3
8208+#define TMMSM0 4
8209+#define TMMSM1 5
8210+#define TMMSM2 6
8211+
8212+/* Combine TMCRL and TMCRH */
8213+#define TMCR _SFR_MEM16(0x121)
8214+
8215+#define TMCRL _SFR_MEM8(0x121)
8216+#define TMCRH _SFR_MEM8(0x122)
8217+
8218+#define TMCSB _SFR_MEM8(0x123)
8219+
8220+/* Combine TMCIL and TMCIH */
8221+#define TMCI _SFR_MEM16(0x124)
8222+
8223+#define TMCIL _SFR_MEM8(0x124)
8224+#define TMCIH _SFR_MEM8(0x125)
8225+
8226+/* Combine TMCPL and TMCPH */
8227+#define TMCP _SFR_MEM16(0x126)
8228+
8229+#define TMCPL _SFR_MEM8(0x126)
8230+#define TMCPH _SFR_MEM8(0x127)
8231+
8232+#define TMSHR _SFR_MEM8(0x128)
8233+
8234+/* Combine TMTLL and TMTLH */
8235+#define TMTL _SFR_MEM16(0x129)
8236+
8237+#define TMTLL _SFR_MEM8(0x129)
8238+#define TMTLH _SFR_MEM8(0x12A)
8239+
8240+#define TMSSC _SFR_MEM8(0x12B)
8241+#define TMSSP0 0
8242+#define TMSSP1 1
8243+#define TMSSP2 2
8244+#define TMSSP3 3
8245+#define TMSSL0 4
8246+#define TMSSL1 5
8247+#define TMSSL2 6
8248+#define TMSSH 7
9fe267c2 8249+
69ed15f0
JR
8250+#define TMSR _SFR_MEM8(0x12C)
8251+#define TMTCF 0
9fe267c2 8252+
69ed15f0
JR
8253+#define TMCR2 _SFR_MEM8(0x12D)
8254+#define TMCRCE 0
8255+#define TMCRCL0 1
8256+#define TMCRCL1 2
8257+#define TMNRZE 3
8258+#define TMPOL 4
8259+#define TMSSE 5
8260+#define TMMSB 6
9fe267c2 8261+
69ed15f0
JR
8262+#define TMCR1 _SFR_MEM8(0x12E)
8263+#define TMPIS0 0
8264+#define TMPIS1 1
8265+#define TMPIS2 2
8266+#define TMSCS 3
8267+#define TMCIM 4
9fe267c2 8268+
69ed15f0
JR
8269+#define RXBC1 _SFR_MEM8(0x12F)
8270+#define RXCEA 0
8271+#define RXCBLA0 1
8272+#define RXCBLA1 2
8273+#define RXMSBA 3
8274+#define RXCEB 4
8275+#define RXCBLB0 5
8276+#define RXCBLB1 6
8277+#define RXMSBB 7
9fe267c2 8278+
69ed15f0
JR
8279+#define RXBC2 _SFR_MEM8(0x130)
8280+#define RXBPB 0
8281+#define RXBF 1
8282+#define RXBCLR 2
9fe267c2 8283+
69ed15f0 8284+#define RXTLLB _SFR_MEM8(0x131)
9fe267c2 8285+
69ed15f0
JR
8286+#define RXTLHB _SFR_MEM8(0x132)
8287+#define RXTLHB0 0
8288+#define RXTLHB1 1
8289+#define RXTLHB2 2
8290+#define RXTLHB3 3
9fe267c2 8291+
69ed15f0 8292+#define RXCRLB _SFR_MEM8(0x133)
9fe267c2 8293+
69ed15f0 8294+#define RXCRHB _SFR_MEM8(0x134)
9fe267c2 8295+
69ed15f0 8296+#define RXCSBB _SFR_MEM8(0x135)
9fe267c2 8297+
69ed15f0 8298+#define RXCILB _SFR_MEM8(0x136)
9fe267c2 8299+
69ed15f0 8300+#define RXCIHB _SFR_MEM8(0x137)
9fe267c2 8301+
69ed15f0 8302+#define RXCPLB _SFR_MEM8(0x138)
9fe267c2 8303+
69ed15f0 8304+#define RXCPHB _SFR_MEM8(0x139)
9fe267c2 8305+
69ed15f0 8306+#define RXDSB _SFR_MEM8(0x13A)
9fe267c2 8307+
69ed15f0 8308+#define RXTLLA _SFR_MEM8(0x13B)
9fe267c2 8309+
69ed15f0
JR
8310+#define RXTLHA _SFR_MEM8(0x13C)
8311+#define RXTLHA0 0
8312+#define RXTLHA1 1
8313+#define RXTLHA2 2
8314+#define RXTLHA3 3
9fe267c2 8315+
69ed15f0 8316+#define RXCRLA _SFR_MEM8(0x13D)
9fe267c2 8317+
69ed15f0 8318+#define RXCRHA _SFR_MEM8(0x13E)
9fe267c2 8319+
69ed15f0 8320+#define RXCSBA _SFR_MEM8(0x13F)
9fe267c2 8321+
69ed15f0 8322+#define RXCILA _SFR_MEM8(0x140)
9fe267c2 8323+
69ed15f0 8324+#define RXCIHA _SFR_MEM8(0x141)
9fe267c2 8325+
69ed15f0 8326+#define RXCPLA _SFR_MEM8(0x142)
9fe267c2 8327+
69ed15f0 8328+#define RXCPHA _SFR_MEM8(0x143)
9fe267c2 8329+
69ed15f0 8330+#define RXDSA _SFR_MEM8(0x144)
9fe267c2 8331+
69ed15f0
JR
8332+#define CRCCR _SFR_MEM8(0x145)
8333+#define CRCRS 0
8334+#define REFLI 1
8335+#define REFLO 2
9fe267c2 8336+
69ed15f0 8337+#define CRCDOR _SFR_MEM8(0x146)
9fe267c2 8338+
69ed15f0 8339+#define IDB0 _SFR_MEM8(0x147)
9fe267c2 8340+
69ed15f0 8341+#define IDB1 _SFR_MEM8(0x148)
9fe267c2 8342+
69ed15f0 8343+#define IDB2 _SFR_MEM8(0x149)
9fe267c2 8344+
69ed15f0 8345+#define IDB3 _SFR_MEM8(0x14A)
9fe267c2 8346+
69ed15f0
JR
8347+#define IDC _SFR_MEM8(0x14B)
8348+#define IDL0 0
8349+#define IDL1 1
8350+#define IDBO0 2
8351+#define IDBO1 3
8352+#define IDFIM 5
8353+#define IDCLR 6
8354+#define IDCE 7
9fe267c2 8355+
69ed15f0
JR
8356+#define IDS _SFR_MEM8(0x14C)
8357+#define IDOK 0
8358+#define IDFULL 1
9fe267c2 8359+
69ed15f0
JR
8360+#define RSSAV _SFR_MEM8(0x14D)
8361+
8362+#define RSSPK _SFR_MEM8(0x14E)
8363+
8364+#define RSSL _SFR_MEM8(0x14F)
8365+
8366+#define RSSH _SFR_MEM8(0x150)
8367+
8368+#define RSSC _SFR_MEM8(0x151)
8369+#define RSUP0 0
8370+#define RSUP1 1
8371+#define RSUP2 2
8372+#define RSUP3 3
8373+#define RSWLH 4
8374+#define RSHRX 5
8375+#define RSPKF 6
8376+
8377+#define DBCR _SFR_MEM8(0x152)
8378+#define DBMD 0
8379+#define DBCS 1
8380+#define DBTMS 2
8381+#define DBHA 3
8382+
8383+#define DBTC _SFR_MEM8(0x153)
8384+
8385+#define DBENB _SFR_MEM8(0x154)
8386+
8387+#define DBENC _SFR_MEM8(0x155)
8388+
8389+#define DBGSW _SFR_MEM8(0x156)
8390+#define DBGGS0 0
8391+#define DBGGS1 1
8392+#define DBGGS2 2
8393+#define DBGGS3 3
8394+#define CPBFOS0 4
8395+#define CPBFOS1 5
8396+#define CPBF 6
8397+#define DBGSE 7
8398+
8399+#define SFFR _SFR_MEM8(0x157)
8400+#define RFL0 0
8401+#define RFL1 1
8402+#define RFL2 2
8403+#define RFC 3
8404+#define TFL0 4
8405+#define TFL1 5
8406+#define TFL2 6
8407+#define TFC 7
8408+
8409+#define SFIR _SFR_MEM8(0x158)
8410+#define RIL0 0
8411+#define RIL1 1
8412+#define RIL2 2
8413+#define SRIE 3
8414+#define TIL0 4
8415+#define TIL1 5
8416+#define TIL2 6
8417+#define STIE 7
8418+
8419+#define EECR2 _SFR_MEM8(0x159)
8420+#define EEBRE 0
8421+
8422+#define PGMST _SFR_MEM8(0x15A)
8423+#define PGMSYN0 0
8424+#define PGMSYN1 1
8425+#define PGMSYN2 2
8426+#define PGMSYN3 3
8427+#define PGMSYN4 4
8428+
8429+#define EEST _SFR_MEM8(0x15B)
8430+#define EESYN0 0
8431+#define EESYN1 1
8432+#define EESYN2 2
8433+#define EESYN3 3
8434+
8435+#define RSIFG _SFR_MEM8(0x15C)
8436+
8437+#define RSLDV _SFR_MEM8(0x15D)
8438+
8439+#define RSHDV _SFR_MEM8(0x15E)
8440+
8441+#define RSCOM _SFR_MEM8(0x15F)
8442+#define RSDC 0
8443+#define RSIFC 1
9fe267c2
PZ
8444+
8445+
8446+
8447+/* Interrupt vectors */
8448+/* Vector 0 is the reset vector */
8449+/* External Interrupt Request 0 */
8450+#define INT0_vect _VECTOR(1)
8451+#define INT0_vect_num 1
8452+
8453+/* External Interrupt Request 1 */
8454+#define INT1_vect _VECTOR(2)
8455+#define INT1_vect_num 2
8456+
9fe267c2 8457+/* Pin Change Interrupt Request 0 */
69ed15f0
JR
8458+#define PCI0_vect _VECTOR(3)
8459+#define PCI0_vect_num 3
9fe267c2
PZ
8460+
8461+/* Pin Change Interrupt Request 1 */
69ed15f0
JR
8462+#define PCI1_vect _VECTOR(4)
8463+#define PCI1_vect_num 4
9fe267c2 8464+
69ed15f0
JR
8465+/* Voltage Monitoring Interrupt */
8466+#define VMON_vect _VECTOR(5)
8467+#define VMON_vect_num 5
9fe267c2 8468+
69ed15f0
JR
8469+/* AVCC Reset Interrupt */
8470+#define AVCCR_vect _VECTOR(6)
8471+#define AVCCR_vect_num 6
9fe267c2 8472+
69ed15f0
JR
8473+/* AVCC Low Interrupt */
8474+#define AVCCL_vect _VECTOR(7)
8475+#define AVCCL_vect_num 7
9fe267c2 8476+
69ed15f0
JR
8477+/* Timer 0 Interval Interrupt */
8478+#define T0INT_vect _VECTOR(8)
8479+#define T0INT_vect_num 8
9fe267c2 8480+
69ed15f0
JR
8481+/* Timer/Counter1 Compare Match Interrupt */
8482+#define T1COMP_vect _VECTOR(9)
8483+#define T1COMP_vect_num 9
9fe267c2 8484+
69ed15f0
JR
8485+/* Timer/Counter1 Overflow Interrupt */
8486+#define T1OVF_vect _VECTOR(10)
8487+#define T1OVF_vect_num 10
9fe267c2 8488+
69ed15f0
JR
8489+/* Timer/Counter2 Compare Match Interrupt */
8490+#define T2COMP_vect _VECTOR(11)
8491+#define T2COMP_vect_num 11
9fe267c2 8492+
69ed15f0
JR
8493+/* Timer/Counter2 Overflow Interrupt */
8494+#define T2OVF_vect _VECTOR(12)
8495+#define T2OVF_vect_num 12
9fe267c2 8496+
69ed15f0
JR
8497+/* Timer/Counter3 Capture Event Interrupt */
8498+#define T3CAP_vect _VECTOR(13)
8499+#define T3CAP_vect_num 13
9fe267c2 8500+
69ed15f0
JR
8501+/* Timer/Counter3 Compare Match Interrupt */
8502+#define T3COMP_vect _VECTOR(14)
8503+#define T3COMP_vect_num 14
9fe267c2 8504+
69ed15f0
JR
8505+/* Timer/Counter3 Overflow Interrupt */
8506+#define T3OVF_vect _VECTOR(15)
8507+#define T3OVF_vect_num 15
9fe267c2 8508+
69ed15f0
JR
8509+/* Timer/Counter4 Capture Event Interrupt */
8510+#define T4CAP_vect _VECTOR(16)
8511+#define T4CAP_vect_num 16
9fe267c2 8512+
69ed15f0
JR
8513+/* Timer/Counter4 Compare Match Interrupt */
8514+#define T4COMP_vect _VECTOR(17)
8515+#define T4COMP_vect_num 17
9fe267c2 8516+
69ed15f0
JR
8517+/* Timer/Counter4 Overflow Interrupt */
8518+#define T4OVF_vect _VECTOR(18)
8519+#define T4OVF_vect_num 18
9fe267c2 8520+
69ed15f0
JR
8521+/* Timer/Counter5 Compare Match Interrupt */
8522+#define T5COMP_vect _VECTOR(19)
8523+#define T5COMP_vect_num 19
9fe267c2 8524+
69ed15f0
JR
8525+/* Timer/Counter5 Overflow Interrupt */
8526+#define T5OVF_vect _VECTOR(20)
8527+#define T5OVF_vect_num 20
9fe267c2 8528+
69ed15f0
JR
8529+/* SPI Serial Transfer Complete Interrupt */
8530+#define SPI_vect _VECTOR(21)
8531+#define SPI_vect_num 21
9fe267c2 8532+
69ed15f0
JR
8533+/* SPI Rx Buffer Interrupt */
8534+#define SRX_FIFO_vect _VECTOR(22)
8535+#define SRX_FIFO_vect_num 22
9fe267c2 8536+
69ed15f0
JR
8537+/* SPI Tx Buffer Interrupt */
8538+#define STX_FIFO_vect _VECTOR(23)
8539+#define STX_FIFO_vect_num 23
9fe267c2 8540+
69ed15f0
JR
8541+/* Sequencer State Machine Interrupt */
8542+#define SSM_vect _VECTOR(24)
8543+#define SSM_vect_num 24
9fe267c2 8544+
69ed15f0
JR
8545+/* Data FIFO fill level reached Interrupt */
8546+#define DFFLR_vect _VECTOR(25)
8547+#define DFFLR_vect_num 25
9fe267c2 8548+
69ed15f0
JR
8549+/* Data FIFO overflow or underflow error Interrupt */
8550+#define DFOUE_vect _VECTOR(26)
8551+#define DFOUE_vect_num 26
9fe267c2 8552+
69ed15f0
JR
8553+/* RSSI/Preamble FIFO fill level reached Interrupt */
8554+#define SFFLR_vect _VECTOR(27)
8555+#define SFFLR_vect_num 27
9fe267c2 8556+
69ed15f0
JR
8557+/* RSSI/Preamble FIFO overflow or underflow error Interrupt */
8558+#define SFOUE_vect _VECTOR(28)
8559+#define SFOUE_vect_num 28
9fe267c2 8560+
69ed15f0
JR
8561+/* Tx Modulator Telegram Finish Interrupt */
8562+#define TMTCF_vect _VECTOR(29)
8563+#define TMTCF_vect_num 29
9fe267c2 8564+
69ed15f0
JR
8565+/* UHF receiver wake up ok on Rx path B */
8566+#define UHF_WCOB_vect _VECTOR(30)
8567+#define UHF_WCOB_vect_num 30
9fe267c2 8568+
69ed15f0
JR
8569+/* UHF receiver wake up ok on Rx path A */
8570+#define UHF_WCOA_vect _VECTOR(31)
8571+#define UHF_WCOA_vect_num 31
9fe267c2 8572+
69ed15f0
JR
8573+/* UHF receiver start of telegram ok on Rx path B */
8574+#define UHF_SOTB_vect _VECTOR(32)
8575+#define UHF_SOTB_vect_num 32
9fe267c2 8576+
69ed15f0
JR
8577+/* UHF receiver start of telegram ok on Rx path A */
8578+#define UHF_SOTA_vect _VECTOR(33)
8579+#define UHF_SOTA_vect_num 33
9fe267c2 8580+
69ed15f0
JR
8581+/* UHF receiver end of telegram on Rx path B */
8582+#define UHF_EOTB_vect _VECTOR(34)
8583+#define UHF_EOTB_vect_num 34
8584+
8585+/* UHF receiver end of telegram on Rx path A */
8586+#define UHF_EOTA_vect _VECTOR(35)
8587+#define UHF_EOTA_vect_num 35
8588+
8589+/* UHF receiver new bit on Rx path B */
8590+#define UHF_NBITB_vect _VECTOR(36)
8591+#define UHF_NBITB_vect_num 36
8592+
8593+/* UHF receiver new bit on Rx path A */
8594+#define UHF_NBITA_vect _VECTOR(37)
8595+#define UHF_NBITA_vect_num 37
8596+
8597+/* External input Clock monitoring Interrupt */
8598+#define EXCM_vect _VECTOR(38)
8599+#define EXCM_vect_num 38
8600+
8601+/* EEPROM Ready Interrupt */
8602+#define ERDY_vect _VECTOR(39)
8603+#define ERDY_vect_num 39
8604+
8605+/* Store Program Memory Ready */
8606+#define SPMR_vect _VECTOR(40)
8607+#define SPMR_vect_num 40
8608+
8609+/* IDSCAN Full Interrupt */
8610+#define IDFULL_vect _VECTOR(41)
8611+#define IDFULL_vect_num 41
8612+
8613+#define _VECTORS_SIZE 168
9fe267c2
PZ
8614+
8615+
8616+/* Constants */
8617+
69ed15f0
JR
8618+#define SPM_PAGESIZE 64
8619+#define FLASHSTART 0x8000
8620+#define FLASHEND 0xCFFF
8621+#define RAMSTART 0x0200
8622+#define RAMSIZE 1024
8623+#define RAMEND 0x05FF
9fe267c2 8624+#define E2START 0
69ed15f0
JR
8625+#define E2SIZE 1152
8626+#define E2PAGESIZE 16
8627+#define E2END 0x047F
9fe267c2
PZ
8628+#define XRAMEND RAMEND
8629+
8630+
8631+/* Fuses */
8632+
69ed15f0 8633+#define FUSE_MEMORY_SIZE 1
9fe267c2 8634+
69ed15f0
JR
8635+/* Fuse Byte */
8636+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
8637+#define FUSE_DWEN (unsigned char)~_BV(64)
8638+#define FUSE_SPIEN (unsigned char)~_BV(32)
8639+#define FUSE_WDTON (unsigned char)~_BV(16)
8640+#define FUSE_EESAVE (unsigned char)~_BV(8)
8641+#define FUSE_BOOTRST (unsigned char)~_BV(4)
8642+#define FUSE_RSTDISBL (unsigned char)~_BV(2)
8643+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
9fe267c2
PZ
8644+
8645+/* Lock Bits */
8646+#define __LOCK_BITS_EXIST
9fe267c2
PZ
8647+
8648+
8649+/* Signature */
8650+#define SIGNATURE_0 0x1E
69ed15f0
JR
8651+#define SIGNATURE_1 0x95
8652+#define SIGNATURE_2 0x62
9fe267c2
PZ
8653+
8654+
69ed15f0 8655+#endif /* #ifdef _AVR_ATA5832_H_INCLUDED */
9fe267c2 8656+
69ed15f0
JR
8657diff -urN avr-libc-1.8.0.orig/include/avr/ioa5833.h avr-libc-1.8.0/include/avr/ioa5833.h
8658--- avr-libc-1.8.0.orig/include/avr/ioa5833.h 1970-01-01 01:00:00.000000000 +0100
8659+++ avr-libc-1.8.0/include/avr/ioa5833.h 2013-06-12 12:21:34.000000000 +0200
8660@@ -0,0 +1,1891 @@
9fe267c2
PZ
8661+/*****************************************************************************
8662+ *
69ed15f0 8663+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
8664+ * All rights reserved.
8665+ *
8666+ * Redistribution and use in source and binary forms, with or without
8667+ * modification, are permitted provided that the following conditions are met:
8668+ *
8669+ * * Redistributions of source code must retain the above copyright
8670+ * notice, this list of conditions and the following disclaimer.
8671+ *
8672+ * * Redistributions in binary form must reproduce the above copyright
8673+ * notice, this list of conditions and the following disclaimer in
8674+ * the documentation and/or other materials provided with the
8675+ * distribution.
8676+ *
8677+ * * Neither the name of the copyright holders nor the names of
8678+ * contributors may be used to endorse or promote products derived
8679+ * from this software without specific prior written permission.
8680+ *
8681+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
8682+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
8683+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
8684+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
8685+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
8686+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
8687+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
8688+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
8689+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
8690+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
8691+ * POSSIBILITY OF SUCH DAMAGE.
8692+ ****************************************************************************/
8693+
8694+
69ed15f0
JR
8695+#ifndef _AVR_ATA5833_H_INCLUDED
8696+#define _AVR_ATA5833_H_INCLUDED
9fe267c2
PZ
8697+
8698+
8699+#ifndef _AVR_IO_H_
8700+# error "Include <avr/io.h> instead of this file."
8701+#endif
8702+
8703+#ifndef _AVR_IOXXX_H_
69ed15f0 8704+# define _AVR_IOXXX_H_ "ioa5833.h"
9fe267c2
PZ
8705+#else
8706+# error "Attempt to include more than one <avr/ioXXX.h> file."
8707+#endif
8708+
8709+/* Registers and associated bit numbers */
8710+
69ed15f0
JR
8711+#define PRR0 _SFR_IO8(0x01)
8712+#define PRSPI 0
8713+#define PRRXDC 1
8714+#define PRTXDC 2
8715+#define PRCRC 3
8716+#define PRVM 4
8717+#define PRCO 5
8718+
8719+#define PRR1 _SFR_IO8(0x02)
8720+#define PRT1 0
8721+#define PRT2 1
8722+#define PRT3 2
8723+#define PRT4 3
8724+#define PRT5 4
8725+
8726+#define PRR2 _SFR_IO8(0x03)
8727+#define PRXB 0
8728+#define PRXA 1
8729+#define PRSF 2
8730+#define PRDF 3
8731+#define PRIDS 4
8732+#define PRRS 5
8733+#define PRTM 6
8734+#define PRSSM 7
8735+
8736+#define RDPR _SFR_IO8(0x04)
8737+#define PRPTB 0
8738+#define PRPTA 1
8739+#define PRFLT 2
8740+#define PRTMP 3
8741+#define APRPTB 4
8742+#define APRPTA 5
8743+#define ARDPRF 6
8744+#define RDPRF 7
8745+
8746+#define PINB _SFR_IO8(0x05)
8747+#define PINB7 7
8748+#define PINB6 6
8749+#define PINB5 5
8750+#define PINB4 4
8751+#define PINB3 3
8752+#define PINB2 2
8753+#define PINB1 1
8754+#define PINB0 0
9fe267c2 8755+
69ed15f0
JR
8756+#define DDRB _SFR_IO8(0x06)
8757+#define DDRB7 7
8758+#define DDRB6 6
8759+#define DDRB5 5
8760+#define DDRB4 4
8761+#define DDRB3 3
8762+#define DDRB2 2
8763+#define DDRB1 1
8764+#define DDRB0 0
9fe267c2 8765+
69ed15f0
JR
8766+#define PORTB _SFR_IO8(0x07)
8767+#define PORTB7 7
8768+#define PORTB6 6
8769+#define PORTB5 5
8770+#define PORTB4 4
8771+#define PORTB3 3
8772+#define PORTB2 2
8773+#define PORTB1 1
8774+#define PORTB0 0
9fe267c2 8775+
69ed15f0 8776+#define PINC _SFR_IO8(0x08)
9fe267c2
PZ
8777+#define PINC7 7
8778+#define PINC6 6
8779+#define PINC5 5
8780+#define PINC4 4
8781+#define PINC3 3
8782+#define PINC2 2
8783+#define PINC1 1
8784+#define PINC0 0
8785+
69ed15f0 8786+#define DDRC _SFR_IO8(0x09)
9fe267c2
PZ
8787+#define DDRC7 7
8788+#define DDRC6 6
8789+#define DDRC5 5
8790+#define DDRC4 4
8791+#define DDRC3 3
8792+#define DDRC2 2
8793+#define DDRC1 1
8794+#define DDRC0 0
8795+
69ed15f0 8796+#define PORTC _SFR_IO8(0x0A)
9fe267c2
PZ
8797+#define PORTC7 7
8798+#define PORTC6 6
8799+#define PORTC5 5
8800+#define PORTC4 4
8801+#define PORTC3 3
8802+#define PORTC2 2
8803+#define PORTC1 1
8804+#define PORTC0 0
8805+
69ed15f0
JR
8806+#define FSCR _SFR_IO8(0x0B)
8807+#define TXMOD 0
8808+#define SFM 1
8809+#define TXMS0 2
8810+#define TXMS1 3
8811+#define PAOER 4
8812+#define PAON 7
9fe267c2 8813+
69ed15f0 8814+/* Reserved [0x0C] */
9fe267c2 8815+
69ed15f0
JR
8816+#define RDSIFR _SFR_IO8(0x0D)
8817+#define NBITA 0
8818+#define NBITB 1
8819+#define EOTA 2
8820+#define EOTB 3
8821+#define SOTA 4
8822+#define SOTB 5
8823+#define WCOA 6
8824+#define WCOB 7
8825+
8826+#define MCUCR _SFR_IO8(0x0E)
8827+#define IVCE 0
8828+#define IVSEL 1
8829+#define SPIIO 2
8830+#define ENPS 3
8831+#define PUD 4
8832+#define PB4HS 5
8833+#define PB7LS 6
8834+#define PB7HS 7
9fe267c2 8835+
69ed15f0
JR
8836+#define PCIFR _SFR_IO8(0x0F)
8837+#define PCIF0 0
8838+#define PCIF1 1
9fe267c2 8839+
69ed15f0
JR
8840+#define T0CR _SFR_IO8(0x10)
8841+#define T0PS0 0
8842+#define T0PS1 1
8843+#define T0PS2 2
8844+#define T0IE 3
8845+#define T0PR 4
9fe267c2 8846+
69ed15f0
JR
8847+#define T1CR _SFR_IO8(0x11)
8848+#define T1OTM 0
8849+#define T1CTM 1
8850+#define T1CRM 2
8851+#define T1TOP 4
8852+#define T1RES 5
8853+#define T1TOS 6
8854+#define T1ENA 7
9fe267c2 8855+
69ed15f0
JR
8856+#define T2CR _SFR_IO8(0x12)
8857+#define T2OTM 0
8858+#define T2CTM 1
8859+#define T2CRM 2
8860+#define T2TOP 4
8861+#define T2RES 5
8862+#define T2TOS 6
8863+#define T2ENA 7
9fe267c2 8864+
69ed15f0
JR
8865+#define T3CR _SFR_IO8(0x13)
8866+#define T3OTM 0
8867+#define T3CTM 1
8868+#define T3CRM 2
8869+#define T3CPRM 3
8870+#define T3TOP 4
8871+#define T3RES 5
8872+#define T3TOS 6
8873+#define T3ENA 7
8874+
8875+#define T4CR _SFR_IO8(0x14)
8876+#define T4OTM 0
8877+#define T4CTM 1
8878+#define T4CRM 2
8879+#define T4CPRM 3
8880+#define T4TOP 4
8881+#define T4RES 5
8882+#define T4TOS 6
8883+#define T4ENA 7
8884+
8885+#define T1IFR _SFR_IO8(0x15)
8886+#define T1OFF 0
8887+#define T1COF 1
8888+
8889+#define T2IFR _SFR_IO8(0x16)
8890+#define T2OFF 0
8891+#define T2COF 1
9fe267c2 8892+
69ed15f0
JR
8893+#define T3IFR _SFR_IO8(0x17)
8894+#define T3OFF 0
8895+#define T3COF 1
8896+#define T3ICF 2
9fe267c2 8897+
69ed15f0
JR
8898+#define T4IFR _SFR_IO8(0x18)
8899+#define T4OFF 0
8900+#define T4COF 1
8901+#define T4ICF 2
9fe267c2 8902+
69ed15f0
JR
8903+#define T5IFR _SFR_IO8(0x19)
8904+#define T5OFF 0
8905+#define T5COF 1
9fe267c2 8906+
69ed15f0 8907+#define GPIOR0 _SFR_IO8(0x1A)
9fe267c2 8908+
69ed15f0 8909+#define GPIOR3 _SFR_IO8(0x1B)
9fe267c2 8910+
69ed15f0 8911+#define GPIOR4 _SFR_IO8(0x1C)
9fe267c2 8912+
69ed15f0 8913+#define GPIOR5 _SFR_IO8(0x1D)
9fe267c2 8914+
69ed15f0 8915+#define GPIOR6 _SFR_IO8(0x1E)
9fe267c2 8916+
69ed15f0
JR
8917+#define EECR _SFR_IO8(0x1F)
8918+#define EERE 0
8919+#define EEWE 1
8920+#define EEMWE 2
8921+#define EERIE 3
8922+#define EEPM0 4
8923+#define EEPM1 5
8924+#define EEPAGE 6
8925+#define NVMBSY 7
9fe267c2 8926+
69ed15f0 8927+#define EEDR _SFR_IO8(0x20)
9fe267c2 8928+
69ed15f0
JR
8929+/* Combine EEARL and EEARH */
8930+#define EEAR _SFR_IO16(0x21)
9fe267c2 8931+
69ed15f0
JR
8932+#define EEARL _SFR_IO8(0x21)
8933+#define EEARH _SFR_IO8(0x22)
9fe267c2 8934+
69ed15f0
JR
8935+#define EEPR _SFR_IO8(0x23)
8936+#define EEAP0 0
8937+#define EEAP1 1
8938+#define EEAP2 2
8939+#define EEAP3 3
9fe267c2 8940+
69ed15f0 8941+#define GPIOR1 _SFR_IO8(0x24)
9fe267c2 8942+
69ed15f0 8943+#define GPIOR2 _SFR_IO8(0x25)
9fe267c2 8944+
69ed15f0
JR
8945+#define PCICR _SFR_IO8(0x26)
8946+#define PCIE0 0
8947+#define PCIE1 1
9fe267c2 8948+
69ed15f0
JR
8949+#define EIMSK _SFR_IO8(0x27)
8950+#define INT0 0
8951+#define INT1 1
9fe267c2 8952+
69ed15f0
JR
8953+#define EIFR _SFR_IO8(0x28)
8954+#define INTF0 0
8955+#define INTF1 1
9fe267c2 8956+
69ed15f0 8957+#define CRCDIR _SFR_IO8(0x29)
9fe267c2 8958+
69ed15f0
JR
8959+#define VMCSR _SFR_IO8(0x2A)
8960+#define VMLS0 0
8961+#define VMLS1 1
8962+#define VMLS2 2
8963+#define VMLS3 3
8964+#define VMIM 4
8965+#define VMF 5
9fe267c2 8966+
69ed15f0 8967+#define MCUSR _SFR_IO8(0x2B)
9fe267c2
PZ
8968+#define PORF 0
8969+#define EXTRF 1
9fe267c2 8970+#define WDRF 3
9fe267c2 8971+
69ed15f0
JR
8972+#define SPCR _SFR_IO8(0x2C)
8973+#define SPR0 0
8974+#define SPR1 1
8975+#define CPHA 2
8976+#define CPOL 3
8977+#define MSTR 4
8978+#define DORD 5
8979+#define SPE 6
8980+#define SPIE 7
9fe267c2 8981+
69ed15f0
JR
8982+#define SPSR _SFR_IO8(0x2D)
8983+#define SPI2X 0
8984+#define RXIF 4
8985+#define TXIF 5
8986+#define SPIF 7
9fe267c2 8987+
69ed15f0 8988+#define SPDR _SFR_IO8(0x2E)
9fe267c2 8989+
69ed15f0
JR
8990+#define T0IFR _SFR_IO8(0x2F)
8991+#define T0F 0
9fe267c2 8992+
69ed15f0 8993+/* Reserved [0x30] */
9fe267c2 8994+
69ed15f0 8995+#define DWDR _SFR_IO8(0x31)
9fe267c2 8996+
69ed15f0 8997+/* Reserved [0x32] */
9fe267c2 8998+
69ed15f0
JR
8999+#define RDCR _SFR_IO8(0x33)
9000+#define RDPU 0
9001+#define ADIVEN 1
9002+#define RDEN 2
9003+
9004+#define EOTSA _SFR_IO8(0x34)
9005+#define CARFA 0
9006+#define AMPFA 1
9007+#define SYTFA 2
9008+#define MANFA 3
9009+#define TMOFA 4
9010+#define TELRA 5
9011+#define RRFA 6
9012+#define EOTBF 7
9013+
9014+#define EOTCA _SFR_IO8(0x35)
9015+#define CARFEA 0
9016+#define AMPFEA 1
9017+#define SYTFEA 2
9018+#define MANFEA 3
9019+#define TMOFEA 4
9020+#define TELREA 5
9021+#define RRFEA 6
9022+#define EOTBFE 7
9023+
9024+#define EOTSB _SFR_IO8(0x36)
9025+#define CARFB 0
9026+#define AMPFB 1
9027+#define SYTFB 2
9028+#define MANFB 3
9029+#define TMOFB 4
9030+#define TELRB 5
9031+#define RRFB 6
9032+#define EOTAF 7
9033+
9034+#define EOTCB _SFR_IO8(0x37)
9035+#define CARFEB 0
9036+#define AMPFEB 1
9037+#define SYTFEB 2
9038+#define MANFEB 3
9039+#define TMOFEB 4
9040+#define TELREB 5
9041+#define RRFEB 6
9042+#define EOTAFE 7
9043+
9044+#define SMCR _SFR_IO8(0x38)
9045+#define SE 0
9046+#define SM0 1
9047+#define SM1 2
9048+#define SM2 3
9049+
9050+#define CMCR _SFR_IO8(0x39)
9051+#define CMM0 0
9052+#define CMM1 1
9053+#define CMM2 2
9054+#define CCS 3
9055+#define SRCD 4
9056+#define CMONEN 6
9057+#define CMCCE 7
9058+
9059+#define CMIMR _SFR_IO8(0x3A)
9060+#define ECIE 0
9061+
9062+#define CLPR _SFR_IO8(0x3B)
9063+#define CLKPS0 0
9064+#define CLKPS1 1
9065+#define CLKPS2 2
9066+#define CLTPS0 3
9067+#define CLTPS1 4
9068+#define CLTPS2 5
9069+#define CLPCE 7
9070+
9071+#define SPMCSR _SFR_IO8(0x3C)
9072+#define SELFPRGEN 0
9073+#define PGERS 1
9074+#define PGWRT 2
9075+#define BLBSET 3
9076+#define SPMIE 7
9fe267c2
PZ
9077+
9078+/* SP [0x3D..0x3E] */
9079+
9080+/* SREG [0x3F] */
9081+
69ed15f0
JR
9082+#define FSEN _SFR_MEM8(0x60)
9083+#define SDPU 0
9084+#define SDEN 1
9085+#define GAEN 2
9086+#define PEEN 3
9087+#define ASEN 4
9088+#define ANTT 5
9fe267c2 9089+
69ed15f0
JR
9090+#define FSFCR _SFR_MEM8(0x61)
9091+#define BTSEL0 0
9092+#define BTSEL1 1
9093+#define ASDIV0 4
9094+#define ASDIV1 5
9095+#define ASDIV2 6
9096+#define ASDIV3 7
9fe267c2 9097+
69ed15f0
JR
9098+/* Combine GACDIVL and GACDIVH */
9099+#define GACDIV _SFR_MEM16(0x62)
9fe267c2 9100+
69ed15f0
JR
9101+#define GACDIVL _SFR_MEM8(0x62)
9102+#define GACDIVH _SFR_MEM8(0x63)
9fe267c2 9103+
69ed15f0 9104+#define FFREQ1L _SFR_MEM8(0x64)
9fe267c2 9105+
69ed15f0 9106+#define FFREQ1M _SFR_MEM8(0x65)
9fe267c2 9107+
69ed15f0 9108+#define FFREQ1H _SFR_MEM8(0x66)
9fe267c2 9109+
69ed15f0 9110+#define FFREQ2L _SFR_MEM8(0x67)
9fe267c2 9111+
69ed15f0 9112+#define FFREQ2M _SFR_MEM8(0x68)
9fe267c2 9113+
69ed15f0
JR
9114+#define FFREQ2H _SFR_MEM8(0x69)
9115+
9116+/* Reserved [0x6A] */
9117+
9118+#define EICRA _SFR_MEM8(0x6B)
9fe267c2
PZ
9119+#define ISC00 0
9120+#define ISC01 1
9121+#define ISC10 2
9122+#define ISC11 3
9fe267c2 9123+
69ed15f0
JR
9124+#define PCMSK0 _SFR_MEM8(0x6C)
9125+#define PCINT0 0
9126+#define PCINT1 1
9127+#define PCINT2 2
9128+#define PCINT3 3
9129+#define PCINT4 4
9130+#define PCINT5 5
9131+#define PCINT6 6
9132+#define PCINT7 7
9fe267c2 9133+
69ed15f0
JR
9134+#define PCMSK1 _SFR_MEM8(0x6D)
9135+#define PCINT8 0
9136+#define PCINT9 1
9137+#define PCINT10 2
9138+#define PCINT11 3
9139+#define PCINT12 4
9140+#define PCINT13 5
9fe267c2 9141+
69ed15f0
JR
9142+#define WDTCR _SFR_MEM8(0x6E)
9143+#define WDPS0 0
9144+#define WDPS1 1
9145+#define WDPS2 2
9146+#define WDE 3
9147+#define WDCE 4
9fe267c2 9148+
69ed15f0 9149+#define T1CNT _SFR_MEM8(0x6F)
9fe267c2 9150+
69ed15f0 9151+#define T1COR _SFR_MEM8(0x70)
9fe267c2 9152+
69ed15f0
JR
9153+#define T1MR _SFR_MEM8(0x71)
9154+#define T1CS0 0
9155+#define T1CS1 1
9156+#define T1PS0 2
9157+#define T1PS1 3
9158+#define T1PS2 4
9159+#define T1PS3 5
9160+#define T1DC0 6
9161+#define T1DC1 7
9fe267c2 9162+
69ed15f0
JR
9163+#define T1IMR _SFR_MEM8(0x72)
9164+#define T1OIM 0
9165+#define T1CIM 1
9fe267c2 9166+
69ed15f0 9167+#define T2CNT _SFR_MEM8(0x73)
9fe267c2 9168+
69ed15f0 9169+#define T2COR _SFR_MEM8(0x74)
9fe267c2 9170+
69ed15f0
JR
9171+#define T2MR _SFR_MEM8(0x75)
9172+#define T2CS0 0
9173+#define T2CS1 1
9174+#define T2PS0 2
9175+#define T2PS1 3
9176+#define T2PS2 4
9177+#define T2PS3 5
9178+#define T2DC0 6
9179+#define T2DC1 7
9180+
9181+#define T2IMR _SFR_MEM8(0x76)
9182+#define T2OIM 0
9183+#define T2CIM 1
9fe267c2 9184+
69ed15f0
JR
9185+/* Combine T3CNTL and T3CNTH */
9186+#define T3CNT _SFR_MEM16(0x77)
9fe267c2 9187+
69ed15f0
JR
9188+#define T3CNTL _SFR_MEM8(0x77)
9189+#define T3CNTH _SFR_MEM8(0x78)
9fe267c2 9190+
69ed15f0
JR
9191+/* Combine T3CORL and T3CORH */
9192+#define T3COR _SFR_MEM16(0x79)
9fe267c2 9193+
69ed15f0
JR
9194+#define T3CORL _SFR_MEM8(0x79)
9195+#define T3CORH _SFR_MEM8(0x7A)
9fe267c2 9196+
69ed15f0
JR
9197+/* Combine T3ICRL and T3ICRH */
9198+#define T3ICR _SFR_MEM16(0x7B)
9fe267c2 9199+
69ed15f0
JR
9200+#define T3ICRL _SFR_MEM8(0x7B)
9201+#define T3ICRH _SFR_MEM8(0x7C)
9fe267c2 9202+
69ed15f0
JR
9203+#define T3MRA _SFR_MEM8(0x7D)
9204+#define T3CS0 0
9205+#define T3CS1 1
9206+#define T3PS0 2
9207+#define T3PS1 3
9208+#define T3PS2 4
9fe267c2 9209+
69ed15f0
JR
9210+#define T3MRB _SFR_MEM8(0x7E)
9211+#define T3SCE 1
9212+#define T3CNC 2
9213+#define T3CE0 3
9214+#define T3CE1 4
9215+#define T3ICS0 5
9216+#define T3ICS1 6
9217+#define T3ICS2 7
9fe267c2 9218+
69ed15f0
JR
9219+#define T3IMR _SFR_MEM8(0x7F)
9220+#define T3OIM 0
9221+#define T3CIM 1
9222+#define T3CPIM 2
9fe267c2 9223+
69ed15f0
JR
9224+/* Combine T4CNTL and T4CNTH */
9225+#define T4CNT _SFR_MEM16(0x80)
9fe267c2 9226+
69ed15f0
JR
9227+#define T4CNTL _SFR_MEM8(0x80)
9228+#define T4CNTH _SFR_MEM8(0x81)
9fe267c2 9229+
69ed15f0
JR
9230+/* Combine T4CORL and T4CORH */
9231+#define T4COR _SFR_MEM16(0x82)
9fe267c2 9232+
69ed15f0
JR
9233+#define T4CORL _SFR_MEM8(0x82)
9234+#define T4CORH _SFR_MEM8(0x83)
9fe267c2 9235+
69ed15f0
JR
9236+/* Combine T4ICRL and T4ICRH */
9237+#define T4ICR _SFR_MEM16(0x84)
9fe267c2 9238+
69ed15f0
JR
9239+#define T4ICRL _SFR_MEM8(0x84)
9240+#define T4ICRH _SFR_MEM8(0x85)
9fe267c2 9241+
69ed15f0
JR
9242+#define T4MRA _SFR_MEM8(0x86)
9243+#define T4CS0 0
9244+#define T4CS1 1
9245+#define T4PS0 2
9246+#define T4PS1 3
9247+#define T4PS2 4
9fe267c2 9248+
69ed15f0
JR
9249+#define T4MRB _SFR_MEM8(0x87)
9250+#define T4SCE 1
9251+#define T4CNC 2
9252+#define T4CE0 3
9253+#define T4CE1 4
9254+#define T4ICS0 5
9255+#define T4ICS1 6
9256+#define T4ICS2 7
9fe267c2 9257+
69ed15f0
JR
9258+#define T4IMR _SFR_MEM8(0x88)
9259+#define T4OIM 0
9260+#define T4CIM 1
9261+#define T4CPIM 2
9fe267c2 9262+
69ed15f0 9263+/* Reserved [0x89] */
9fe267c2 9264+
69ed15f0
JR
9265+/* Combine T5OCRL and T5OCRH */
9266+#define T5OCR _SFR_MEM16(0x8A)
9fe267c2 9267+
69ed15f0
JR
9268+#define T5OCRL _SFR_MEM8(0x8A)
9269+#define T5OCRH _SFR_MEM8(0x8B)
9fe267c2 9270+
69ed15f0
JR
9271+#define T5CCR _SFR_MEM8(0x8C)
9272+#define T5CS0 0
9273+#define T5CS1 1
9274+#define T5CS2 2
9275+#define T5CTC 3
9fe267c2 9276+
69ed15f0
JR
9277+/* Combine T5CNTL and T5CNTH */
9278+#define T5CNT _SFR_MEM16(0x8D)
9fe267c2 9279+
69ed15f0
JR
9280+#define T5CNTL _SFR_MEM8(0x8D)
9281+#define T5CNTH _SFR_MEM8(0x8E)
9fe267c2 9282+
69ed15f0
JR
9283+#define T5IMR _SFR_MEM8(0x8F)
9284+#define T5OIM 0
9285+#define T5CIM 1
9fe267c2 9286+
69ed15f0
JR
9287+#define GTCCR _SFR_MEM8(0x90)
9288+#define PSR10 0
9289+#define TSM 7
9fe267c2 9290+
69ed15f0
JR
9291+#define SOTSB _SFR_MEM8(0x91)
9292+#define CAROB 0
9293+#define AMPOB 1
9294+#define SYTOB 2
9295+#define MANOB 3
9296+#define WUPOB 4
9297+#define SFIDOB 5
9298+#define RROB 6
9299+#define WCOAO 7
9300+
9301+#define SOTSA _SFR_MEM8(0x92)
9302+#define CAROA 0
9303+#define AMPOA 1
9304+#define SYTOA 2
9305+#define MANOA 3
9306+#define WUPOA 4
9307+#define SFIDOA 5
9308+#define RROA 6
9309+#define WCOBO 7
9310+
9311+#define SOTCB _SFR_MEM8(0x93)
9312+#define CAROEB 0
9313+#define AMPOEB 1
9314+#define SYTOEB 2
9315+#define MANOEB 3
9316+#define WUPEB 4
9317+#define SFIDEB 5
9318+#define RROEB 6
9319+#define WCOAOE 7
9320+
9321+#define SOTCA _SFR_MEM8(0x94)
9322+#define CAROEA 0
9323+#define AMPOEA 1
9324+#define SYTOEA 2
9325+#define MANOEA 3
9326+#define WUPEA 4
9327+#define SFIDEA 5
9328+#define RROEA 6
9329+#define WCOBOE 7
9330+
9331+#define TESRB _SFR_MEM8(0x95)
9332+#define CRCOB 0
9333+#define EOTLB0 1
9334+#define EOTLB1 2
9335+
9336+#define TESRA _SFR_MEM8(0x96)
9337+#define CRCOA 0
9338+#define EOTLA0 1
9339+#define EOTLA1 2
9340+
9341+/* Reserved [0x97] */
9342+
9343+#define RDSIMR _SFR_MEM8(0x98)
9344+#define NBITAM 0
9345+#define NBITBM 1
9346+#define EOTAM 2
9347+#define EOTBM 3
9348+#define SOTAM 4
9349+#define SOTBM 5
9350+#define WCOAM 6
9351+#define WCOBM 7
9352+
9353+#define RDOCR _SFR_MEM8(0x99)
9354+#define TMDS0 1
9355+#define TMDS1 2
9356+#define ETRPA 3
9357+#define ETRPB 4
9358+#define RDSIDA 5
9359+#define RDSIDB 6
9360+
9361+/* Reserved [0x9A] */
9362+
9363+#define TEMPL _SFR_MEM8(0x9B)
9364+
9365+#define TEMPH _SFR_MEM8(0x9C)
9366+
9367+#define SYCB _SFR_MEM8(0x9D)
9368+#define SYCSB0 0
9369+#define SYCSB1 1
9370+#define SYCSB2 2
9371+#define SYCSB3 3
9372+#define SYTLB0 4
9373+#define SYTLB1 5
9374+#define SYTLB2 6
9375+#define SYTLB3 7
9376+
9377+#define SYCA _SFR_MEM8(0x9E)
9378+#define SYCSA0 0
9379+#define SYCSA1 1
9380+#define SYCSA2 2
9381+#define SYCSA3 3
9382+#define SYTLA0 4
9383+#define SYTLA1 5
9384+#define SYTLA2 6
9385+#define SYTLA3 7
9386+
9387+#define RXFOB _SFR_MEM8(0x9F)
9388+
9389+#define RXFOA _SFR_MEM8(0xA0)
9390+
9391+#define DMMB _SFR_MEM8(0xA1)
9392+#define DMATB0 0
9393+#define DMATB1 1
9394+#define DMATB2 2
9395+#define DMATB3 3
9396+#define DMATB4 4
9397+#define DMPB 5
9398+#define DMHB 6
9399+#define DMNEB 7
9400+
9401+#define DMMA _SFR_MEM8(0xA2)
9402+#define DMATA0 0
9403+#define DMATA1 1
9404+#define DMATA2 2
9405+#define DMATA3 3
9406+#define DMATA4 4
9407+#define DMPA 5
9408+#define DMHA 6
9409+#define DMNEA 7
9410+
9411+#define DMCDB _SFR_MEM8(0xA3)
9412+#define DMCLB0 0
9413+#define DMCLB1 1
9414+#define DMCLB2 2
9415+#define DMCLB3 3
9416+#define DMCLB4 4
9417+#define DMCTB0 5
9418+#define DMCTB1 6
9419+#define DMCTB2 7
9420+
9421+#define DMCDA _SFR_MEM8(0xA4)
9422+#define DMCLA0 0
9423+#define DMCLA1 1
9424+#define DMCLA2 2
9425+#define DMCLA3 3
9426+#define DMCLA4 4
9427+#define DMCTA0 5
9428+#define DMCTA1 6
9429+#define DMCTA2 7
9430+
9431+#define DMCRB _SFR_MEM8(0xA5)
9432+#define DMPGB0 0
9433+#define DMPGB1 1
9434+#define DMPGB2 2
9435+#define DMPGB3 3
9436+#define DMPGB4 4
9437+#define SASKB 5
9438+#define SY1TB 6
9439+#define DMARB 7
9440+
9441+#define DMCRA _SFR_MEM8(0xA6)
9442+#define DMPGA0 0
9443+#define DMPGA1 1
9444+#define DMPGA2 2
9445+#define DMPGA3 3
9446+#define DMPGA4 4
9447+#define SASKA 5
9448+#define SY1TA 6
9449+#define DMARA 7
9450+
9451+#define DMDRB _SFR_MEM8(0xA7)
9452+#define DMAB0 0
9453+#define DMAB1 1
9454+#define DMAB2 2
9455+#define DMAB3 3
9456+#define DMDNB0 4
9457+#define DMDNB1 5
9458+#define DMDNB2 6
9459+#define DMDNB3 7
9460+
9461+#define DMDRA _SFR_MEM8(0xA8)
9462+#define DMAA0 0
9463+#define DMAA1 1
9464+#define DMAA2 2
9465+#define DMAA3 3
9466+#define DMDNA0 4
9467+#define DMDNA1 5
9468+#define DMDNA2 6
9469+#define DMDNA3 7
9470+
9471+#define CHCR _SFR_MEM8(0xA9)
9472+#define BWM0 0
9473+#define BWM1 1
9474+#define BWM2 2
9475+#define BWM3 3
9476+
9477+#define CHDN _SFR_MEM8(0xAA)
9478+#define BBDN0 0
9479+#define BBDN1 1
9480+#define BBDN2 2
9481+#define BBDN3 3
9482+#define BBDN4 4
9483+#define ADCDN 5
9484+
9485+#define SFIDCB _SFR_MEM8(0xAB)
9486+#define SFIDTB0 0
9487+#define SFIDTB1 1
9488+#define SFIDTB2 2
9489+#define SFIDTB3 3
9490+#define SFIDTB4 4
9491+#define SEMEB 7
9492+
9493+#define SFIDLB _SFR_MEM8(0xAC)
9494+#define SFIDLB0 0
9495+#define SFIDLB1 1
9496+#define SFIDLB2 2
9497+#define SFIDLB3 3
9498+#define SFIDLB4 4
9499+#define SFIDLB5 5
9500+
9501+#define WUPTB _SFR_MEM8(0xAD)
9502+#define WUPTB0 0
9503+#define WUPTB1 1
9504+#define WUPTB2 2
9505+#define WUPTB3 3
9506+#define WUPTB4 4
9507+
9508+#define WUPLB _SFR_MEM8(0xAE)
9509+#define WUPLB0 0
9510+#define WUPLB1 1
9511+#define WUPLB2 2
9512+#define WUPLB3 3
9513+#define WUPLB4 4
9514+#define WUPLB5 5
9515+
9516+#define SFID1B _SFR_MEM8(0xAF)
9517+
9518+#define SFID2B _SFR_MEM8(0xB0)
9519+
9520+#define SFID3B _SFR_MEM8(0xB1)
9521+
9522+#define SFID4B _SFR_MEM8(0xB2)
9523+
9524+#define WUP1B _SFR_MEM8(0xB3)
9525+
9526+#define WUP2B _SFR_MEM8(0xB4)
9527+
9528+#define WUP3B _SFR_MEM8(0xB5)
9529+
9530+#define WUP4B _SFR_MEM8(0xB6)
9531+
9532+#define SFIDCA _SFR_MEM8(0xB7)
9533+#define SFIDTA0 0
9534+#define SFIDTA1 1
9535+#define SFIDTA2 2
9536+#define SFIDTA3 3
9537+#define SFIDTA4 4
9538+#define SEMEA 7
9539+
9540+#define SFIDLA _SFR_MEM8(0xB8)
9541+#define SFIDLA0 0
9542+#define SFIDLA1 1
9543+#define SFIDLA2 2
9544+#define SFIDLA3 3
9545+#define SFIDLA4 4
9546+#define SFIDLA5 5
9547+
9548+#define WUPTA _SFR_MEM8(0xB9)
9549+#define WUPTA0 0
9550+#define WUPTA1 1
9551+#define WUPTA2 2
9552+#define WUPTA3 3
9553+#define WUPTA4 4
9554+
9555+#define WUPLA _SFR_MEM8(0xBA)
9556+#define WUPLA0 0
9557+#define WUPLA1 1
9558+#define WUPLA2 2
9559+#define WUPLA3 3
9560+#define WUPLA4 4
9561+#define WUPLA5 5
9562+
9563+#define SFID1A _SFR_MEM8(0xBB)
9564+
9565+#define SFID2A _SFR_MEM8(0xBC)
9566+
9567+#define SFID3A _SFR_MEM8(0xBD)
9568+
9569+#define SFID4A _SFR_MEM8(0xBE)
9570+
9571+#define WUP1A _SFR_MEM8(0xBF)
9572+
9573+#define WUP2A _SFR_MEM8(0xC0)
9574+
9575+#define WUP3A _SFR_MEM8(0xC1)
9576+
9577+#define WUP4A _SFR_MEM8(0xC2)
9578+
9579+#define CLKOD _SFR_MEM8(0xC3)
9580+
9581+#define CLKOCR _SFR_MEM8(0xC4)
9582+#define CLKOS0 0
9583+#define CLKOS1 1
9584+#define CLKOEN 2
9585+
9586+#define XFUSE _SFR_MEM8(0xC5)
9587+
9588+#define SRCCAL _SFR_MEM8(0xC6)
9589+#define SRCCAL0 0
9590+#define SRCCAL1 1
9591+#define SRCCAL2 2
9592+#define SRCCAL3 3
9593+#define SRCCAL4 4
9594+#define SRCCAL5 5
9595+#define SRCTC0 6
9596+#define SRCTC1 7
9fe267c2 9597+
69ed15f0
JR
9598+#define FRCCAL _SFR_MEM8(0xC7)
9599+#define FRCCAL0 0
9600+#define FRCCAL1 1
9601+#define FRCCAL2 2
9602+#define FRCCAL3 3
9603+#define FRCCAL4 4
9604+#define FRCTC 5
9fe267c2 9605+
69ed15f0
JR
9606+#define CMSR _SFR_MEM8(0xC8)
9607+#define ECF 0
9fe267c2 9608+
69ed15f0
JR
9609+#define CMOCR _SFR_MEM8(0xC9)
9610+#define FRCAO 0
9611+#define SRCAO 1
9612+#define FRCACT 2
9613+#define SRCACT 3
9614+
9615+#define SUPFR _SFR_MEM8(0xCA)
9616+#define AVCCRF 0
9617+#define AVCCLF 1
9618+
9619+#define SUPCR _SFR_MEM8(0xCB)
9620+#define AVCCRM 0
9621+#define AVCCLM 1
9622+#define PVEN 2
9623+#define DVDIS 4
9624+#define AVEN 5
9625+#define AVDIC 6
9626+
9627+#define SUPCA1 _SFR_MEM8(0xCC)
9628+#define PV22 2
9629+#define PVDIC 3
9630+#define PVCAL0 4
9631+#define PVCAL1 5
9632+#define PVCAL2 6
9633+#define PVCAL3 7
9634+
9635+#define SUPCA2 _SFR_MEM8(0xCD)
9636+#define BGCAL0 0
9637+#define BGCAL1 1
9638+#define BGCAL2 2
9639+#define BGCAL3 3
9640+
9641+#define SUPCA3 _SFR_MEM8(0xCE)
9642+#define ACAL4 0
9643+#define ACAL5 1
9644+#define ACAL6 2
9645+#define ACAL7 3
9646+#define DCAL4 4
9647+#define DCAL5 5
9648+#define DCAL6 6
9649+
9650+#define SUPCA4 _SFR_MEM8(0xCF)
9651+#define ACAL0 0
9652+#define ACAL1 1
9653+#define ACAL2 2
9654+#define ACAL3 3
9655+#define DCAL0 4
9656+#define DCAL1 5
9657+#define DCAL2 6
9658+#define DCAL3 7
9659+
9660+#define CALRDY _SFR_MEM8(0xD0)
9661+
9662+#define VMCAL _SFR_MEM8(0xD1)
9663+#define VMCAL0 0
9664+#define VMCAL1 1
9665+#define VMCAL2 2
9666+
9667+#define DFS _SFR_MEM8(0xD2)
9668+#define DFFLRF 0
9669+#define DFUFL 1
9670+#define DFOFL 2
9671+
9672+/* Combine DFTLL and DFTLH */
9673+#define DFTL _SFR_MEM16(0xD3)
9674+
9675+#define DFTLL _SFR_MEM8(0xD3)
9676+#define DFTLH _SFR_MEM8(0xD4)
9677+
9678+#define DFL _SFR_MEM8(0xD5)
9679+#define DFFLS0 0
9680+#define DFFLS1 1
9681+#define DFFLS2 2
9682+#define DFFLS3 3
9683+#define DFFLS4 4
9684+#define DFFLS5 5
9685+#define DFCLR 7
9686+
9687+#define DFWP _SFR_MEM8(0xD6)
9688+#define DFWP0 0
9689+#define DFWP1 1
9690+#define DFWP2 2
9691+#define DFWP3 3
9692+#define DFWP4 4
9693+#define DFWP5 5
9694+
9695+#define DFRP _SFR_MEM8(0xD7)
9696+#define DFRP0 0
9697+#define DFRP1 1
9698+#define DFRP2 2
9699+#define DFRP3 3
9700+#define DFRP4 4
9701+#define DFRP5 5
9702+
9703+#define DFD _SFR_MEM8(0xD8)
9704+
9705+#define DFI _SFR_MEM8(0xD9)
9706+#define DFFLIM 0
9707+#define DFERIM 1
9708+
9709+#define DFC _SFR_MEM8(0xDA)
9710+#define DFFLC0 0
9711+#define DFFLC1 1
9712+#define DFFLC2 2
9713+#define DFFLC3 3
9714+#define DFFLC4 4
9715+#define DFFLC5 5
9716+#define DFDRA 7
9717+
9718+#define SFS _SFR_MEM8(0xDB)
9719+#define SFFLRF 0
9720+#define SFUFL 1
9721+#define SFOFL 2
9722+
9723+#define SFL _SFR_MEM8(0xDC)
9724+#define SFFLS0 0
9725+#define SFFLS1 1
9726+#define SFFLS2 2
9727+#define SFFLS3 3
9728+#define SFFLS4 4
9729+#define SFCLR 7
9730+
9731+#define SFWP _SFR_MEM8(0xDD)
9732+#define SFWP0 0
9733+#define SFWP1 1
9734+#define SFWP2 2
9735+#define SFWP3 3
9736+#define SFWP4 4
9737+
9738+#define SFRP _SFR_MEM8(0xDE)
9739+#define SFRP0 0
9740+#define SFRP1 1
9741+#define SFRP2 2
9742+#define SFRP3 3
9743+#define SFRP4 4
9744+
9745+#define SFD _SFR_MEM8(0xDF)
9746+
9747+#define SFI _SFR_MEM8(0xE0)
9748+#define SFFLIM 0
9749+#define SFERIM 1
9750+
9751+#define SFC _SFR_MEM8(0xE1)
9752+#define SFFLC0 0
9753+#define SFFLC1 1
9754+#define SFFLC2 2
9755+#define SFFLC3 3
9756+#define SFFLC4 4
9757+#define SFDRA 7
9758+
9759+#define SSMCR _SFR_MEM8(0xE2)
9760+#define SSMTX 0
9761+#define SSMTM 1
9762+#define SSMTGE 2
9763+#define SSMTPE 3
9764+#define SSMPVE 4
9765+#define SSMTAE 5
9766+#define SETRPA 6
9767+#define SETRPB 7
9768+
9769+#define SSMRCR _SFR_MEM8(0xE3)
9770+#define SSMPA 0
9771+#define SSMPB 1
9772+#define SSMADA 2
9773+#define SSMADB 3
9774+#define SSMPVS 4
9775+#define SSMIFA 5
9776+#define SSMIDSE 6
9777+#define SSMTMOE 7
9778+
9779+#define SSMFBR _SFR_MEM8(0xE4)
9780+#define SSMFID0 0
9781+#define SSMFID1 1
9782+#define SSMFID2 2
9783+#define SSMDFDT 3
9784+#define SSMHADT 4
9785+#define SSMPLDT 5
9786+
9787+#define SSMRR _SFR_MEM8(0xE5)
9788+#define SSMR 0
9789+#define SSMST 1
9790+
9791+#define SSMSR _SFR_MEM8(0xE6)
9792+#define SSMESM0 0
9793+#define SSMESM1 1
9794+#define SSMESM2 2
9795+#define SSMESM3 3
9796+#define SSMERR 7
9797+
9798+#define SSMIFR _SFR_MEM8(0xE7)
9799+#define SSMIF 0
9800+
9801+#define SSMIMR _SFR_MEM8(0xE8)
9802+#define SSMIM 0
9803+
9804+#define MSMSTR _SFR_MEM8(0xE9)
9805+#define SSMMST0 0
9806+#define SSMMST1 1
9807+#define SSMMST2 2
9808+#define SSMMST3 3
9809+#define SSMMST4 4
9810+
9811+#define SSMSTR _SFR_MEM8(0xEA)
9812+#define SSMSTA0 0
9813+#define SSMSTA1 1
9814+#define SSMSTA2 2
9815+#define SSMSTA3 3
9816+#define SSMSTA4 4
9817+#define SSMSTA5 5
9818+
9819+#define SSMXSR _SFR_MEM8(0xEB)
9820+#define SSMSTB0 0
9821+#define SSMSTB1 1
9822+#define SSMSTB2 2
9823+#define SSMSTB3 3
9824+#define SSMSTB4 4
9825+#define SSMSTB5 5
9826+
9827+#define MSMCR1 _SFR_MEM8(0xEC)
9828+#define MSMSM00 0
9829+#define MSMSM01 1
9830+#define MSMSM02 2
9831+#define MSMSM03 3
9832+#define MSMSM10 4
9833+#define MSMSM11 5
9834+#define MSMSM12 6
9835+#define MSMSM13 7
9836+
9837+#define MSMCR2 _SFR_MEM8(0xED)
9838+#define MSMSM20 0
9839+#define MSMSM21 1
9840+#define MSMSM22 2
9841+#define MSMSM23 3
9842+#define MSMSM30 4
9843+#define MSMSM31 5
9844+#define MSMSM32 6
9845+#define MSMSM33 7
9846+
9847+#define MSMCR3 _SFR_MEM8(0xEE)
9848+#define MSMSM40 0
9849+#define MSMSM41 1
9850+#define MSMSM42 2
9851+#define MSMSM43 3
9852+#define MSMSM50 4
9853+#define MSMSM51 5
9854+#define MSMSM52 6
9855+#define MSMSM53 7
9856+
9857+#define MSMCR4 _SFR_MEM8(0xEF)
9858+#define MSMSM60 0
9859+#define MSMSM61 1
9860+#define MSMSM62 2
9861+#define MSMSM63 3
9862+#define MSMSM70 4
9863+#define MSMSM71 5
9864+#define MSMSM72 6
9865+#define MSMSM73 7
9866+
9867+#define GTCR _SFR_MEM8(0xF0)
9868+#define RXTEHA 0
9869+#define GAPMA 1
9870+#define DARA 2
9871+#define IWUPA 3
9872+#define RXTEHB 4
9873+#define GAPMB 5
9874+#define DARB 6
9875+#define IWUPB 7
9876+
9877+#define SOTC1A _SFR_MEM8(0xF1)
9878+#define CAROEA1 0
9879+#define AMPOEA1 1
9880+#define SYTOEA1 2
9881+#define MANOEA1 3
9882+#define WUPEA1 4
9883+#define SFIDEA1 5
9884+#define RROEA1 6
9885+#define WCOBOE1 7
9886+
9887+#define SOTC2A _SFR_MEM8(0xF2)
9888+#define CAROEA2 0
9889+#define AMPOEA2 1
9890+#define SYTOEA2 2
9891+#define MANOEA2 3
9892+#define WUPEA2 4
9893+#define SFIDEA2 5
9894+#define RROEA2 6
9895+#define WCOBOE2 7
9896+
9897+#define SOTC1B _SFR_MEM8(0xF3)
9898+#define CAROEB1 0
9899+#define AMPOEB1 1
9900+#define SYTOEB1 2
9901+#define MANOEB1 3
9902+#define WUPEB1 4
9903+#define SFIDEB1 5
9904+#define RROEB1 6
9905+#define WCOAOE1 7
9906+
9907+#define SOTC2B _SFR_MEM8(0xF4)
9908+#define CAROEB2 0
9909+#define AMPOEB2 1
9910+#define SYTOEB2 2
9911+#define MANOEB2 3
9912+#define WUPEB2 4
9913+#define SFIDEB2 5
9914+#define RROEB2 6
9915+#define WCOAOE2 7
9916+
9917+#define EOTC1A _SFR_MEM8(0xF5)
9918+#define CARFEA1 0
9919+#define AMPFEA1 1
9920+#define SYTFEA1 2
9921+#define MANFEA1 3
9922+#define TMOFEA1 4
9923+#define TELREA1 5
9924+#define RRFEA1 6
9925+#define EOTBFE1 7
9926+
9927+#define EOTC2A _SFR_MEM8(0xF6)
9928+#define CARFEA2 0
9929+#define AMPFEA2 1
9930+#define SYTFEA2 2
9931+#define MANFEA2 3
9932+#define TMOFEA2 4
9933+#define TELREA2 5
9934+#define RRFEA2 6
9935+#define EOTBFE2 7
9936+
9937+#define EOTC3A _SFR_MEM8(0xF7)
9938+#define CARFEA3 0
9939+#define AMPFEA3 1
9940+#define SYTFEA3 2
9941+#define MANFEA3 3
9942+#define TMOFEA3 4
9943+#define TELREA3 5
9944+#define RRFEA3 6
9945+#define EOTBFE3 7
9946+
9947+#define EOTC1B _SFR_MEM8(0xF8)
9948+#define CARFEB1 0
9949+#define AMPFEB1 1
9950+#define SYTFEB1 2
9951+#define MANFEB1 3
9952+#define TMOFEB1 4
9953+#define TELREB1 5
9954+#define RRFEB1 6
9955+#define EOTAFE1 7
9956+
9957+#define EOTC2B _SFR_MEM8(0xF9)
9958+#define CARFEB2 0
9959+#define AMPFEB2 1
9960+#define SYTFEB2 2
9961+#define MANFEB2 3
9962+#define TMOFEB2 4
9963+#define TELREB2 5
9964+#define RRFEB2 6
9965+#define EOTAFE2 7
9966+
9967+#define EOTC3B _SFR_MEM8(0xFA)
9968+#define CARFEB3 0
9969+#define AMPFEB3 1
9970+#define SYTFEB3 2
9971+#define MANFEB3 3
9972+#define TMOFEB3 4
9973+#define TELREB3 5
9974+#define RRFEB3 6
9975+#define EOTAFE3 7
9976+
9977+#define WCOTOA _SFR_MEM8(0xFB)
9978+
9979+#define WCOTOB _SFR_MEM8(0xFC)
9980+
9981+#define SOTTOA _SFR_MEM8(0xFD)
9982+
9983+#define SOTTOB _SFR_MEM8(0xFE)
9984+
9985+#define SSMFCR _SFR_MEM8(0xFF)
9986+#define SSMIDSO 0
9987+#define SSMIDSF 1
9988+
9989+#define FESR _SFR_MEM8(0x100)
9990+#define LBSAT 0
9991+#define HBSAT 1
9992+#define XRDY 2
9993+#define PLCK 3
9994+#define ANTS 4
9995+
9996+#define FEEN1 _SFR_MEM8(0x101)
9997+#define PLEN 0
9998+#define PLCAL 1
9999+#define XTOEN 2
10000+#define LNAEN 3
10001+#define ADEN 4
10002+#define ADCLK 5
10003+#define PLSP1 6
10004+#define ATEN 7
10005+
10006+#define FEEN2 _SFR_MEM8(0x102)
10007+#define SDRX 0
10008+#define SDTX 1
10009+#define PAEN 2
10010+#define TMPM 3
10011+#define PLPEN 4
10012+#define XTPEN 5
10013+#define CPBIA 6
10014+
10015+#define FELNA _SFR_MEM8(0x103)
10016+#define LBH0 0
10017+#define LBH1 1
10018+#define LBH2 2
10019+#define LBH3 3
10020+#define LBL0 4
10021+#define LBL1 5
10022+#define LBL2 6
10023+#define LBL3 7
10024+
10025+#define FEAT _SFR_MEM8(0x104)
10026+#define ANTN0 0
10027+#define ANTN1 1
10028+#define ANTN2 2
10029+#define ANTN3 3
10030+
10031+#define FEPAC _SFR_MEM8(0x105)
10032+
10033+#define FEVCT _SFR_MEM8(0x106)
10034+#define FEVCT0 0
10035+#define FEVCT1 1
10036+#define FEVCT2 2
10037+#define FEVCT3 3
10038+
10039+#define FEBT _SFR_MEM8(0x107)
10040+#define CTN20 0
10041+#define CTN21 1
10042+#define RTN20 2
10043+#define RTN21 3
10044+
10045+#define FEMS _SFR_MEM8(0x108)
10046+#define PLLS0 0
10047+#define PLLS1 1
10048+#define PLLS2 2
10049+#define PLLS3 3
10050+#define PLLM0 4
10051+#define PLLM1 5
10052+#define PLLM2 6
10053+#define PLLM3 7
10054+
10055+#define FETN4 _SFR_MEM8(0x109)
10056+#define CTN40 0
10057+#define CTN41 1
10058+#define CTN42 2
10059+#define CTN43 3
10060+#define RTN40 4
10061+#define RTN41 5
10062+#define RTN42 6
10063+#define RTN43 7
10064+
10065+#define FECR _SFR_MEM8(0x10A)
10066+#define LBNHB 0
10067+#define S4N3 1
10068+#define ANDP 2
10069+#define ADHS 3
10070+#define PLCKG 4
10071+#define ANPS 5
10072+
10073+#define FEVCO _SFR_MEM8(0x10B)
10074+#define CPCC0 0
10075+#define CPCC1 1
10076+#define CPCC2 2
10077+#define CPCC3 3
10078+#define VCOB0 4
10079+#define VCOB1 5
10080+#define VCOB2 6
10081+#define VCOB3 7
10082+
10083+#define FEALR _SFR_MEM8(0x10C)
10084+#define RNGE0 0
10085+#define RNGE1 1
10086+
10087+#define FEANT _SFR_MEM8(0x10D)
10088+#define LVLC0 0
10089+#define LVLC1 1
10090+#define LVLC2 2
10091+#define LVLC3 3
10092+
10093+#define FEBIA _SFR_MEM8(0x10E)
10094+#define IFAEN 7
10095+
10096+/* Reserved [0x10F..0x11F] */
10097+
10098+#define TMFSM _SFR_MEM8(0x120)
10099+#define TMSSM0 0
10100+#define TMSSM1 1
10101+#define TMSSM2 2
10102+#define TMSSM3 3
10103+#define TMMSM0 4
10104+#define TMMSM1 5
10105+#define TMMSM2 6
10106+
10107+/* Combine TMCRL and TMCRH */
10108+#define TMCR _SFR_MEM16(0x121)
10109+
10110+#define TMCRL _SFR_MEM8(0x121)
10111+#define TMCRH _SFR_MEM8(0x122)
10112+
10113+#define TMCSB _SFR_MEM8(0x123)
10114+
10115+/* Combine TMCIL and TMCIH */
10116+#define TMCI _SFR_MEM16(0x124)
10117+
10118+#define TMCIL _SFR_MEM8(0x124)
10119+#define TMCIH _SFR_MEM8(0x125)
10120+
10121+/* Combine TMCPL and TMCPH */
10122+#define TMCP _SFR_MEM16(0x126)
10123+
10124+#define TMCPL _SFR_MEM8(0x126)
10125+#define TMCPH _SFR_MEM8(0x127)
10126+
10127+#define TMSHR _SFR_MEM8(0x128)
10128+
10129+/* Combine TMTLL and TMTLH */
10130+#define TMTL _SFR_MEM16(0x129)
10131+
10132+#define TMTLL _SFR_MEM8(0x129)
10133+#define TMTLH _SFR_MEM8(0x12A)
10134+
10135+#define TMSSC _SFR_MEM8(0x12B)
10136+#define TMSSP0 0
10137+#define TMSSP1 1
10138+#define TMSSP2 2
10139+#define TMSSP3 3
10140+#define TMSSL0 4
10141+#define TMSSL1 5
10142+#define TMSSL2 6
10143+#define TMSSH 7
9fe267c2 10144+
69ed15f0
JR
10145+#define TMSR _SFR_MEM8(0x12C)
10146+#define TMTCF 0
9fe267c2 10147+
69ed15f0
JR
10148+#define TMCR2 _SFR_MEM8(0x12D)
10149+#define TMCRCE 0
10150+#define TMCRCL0 1
10151+#define TMCRCL1 2
10152+#define TMNRZE 3
10153+#define TMPOL 4
10154+#define TMSSE 5
10155+#define TMMSB 6
10156+
10157+#define TMCR1 _SFR_MEM8(0x12E)
10158+#define TMPIS0 0
10159+#define TMPIS1 1
10160+#define TMPIS2 2
10161+#define TMSCS 3
10162+#define TMCIM 4
10163+
10164+#define RXBC1 _SFR_MEM8(0x12F)
10165+#define RXCEA 0
10166+#define RXCBLA0 1
10167+#define RXCBLA1 2
10168+#define RXMSBA 3
10169+#define RXCEB 4
10170+#define RXCBLB0 5
10171+#define RXCBLB1 6
10172+#define RXMSBB 7
10173+
10174+#define RXBC2 _SFR_MEM8(0x130)
10175+#define RXBPB 0
10176+#define RXBF 1
10177+#define RXBCLR 2
10178+
10179+#define RXTLLB _SFR_MEM8(0x131)
10180+
10181+#define RXTLHB _SFR_MEM8(0x132)
10182+#define RXTLHB0 0
10183+#define RXTLHB1 1
10184+#define RXTLHB2 2
10185+#define RXTLHB3 3
10186+
10187+#define RXCRLB _SFR_MEM8(0x133)
10188+
10189+#define RXCRHB _SFR_MEM8(0x134)
10190+
10191+#define RXCSBB _SFR_MEM8(0x135)
10192+
10193+#define RXCILB _SFR_MEM8(0x136)
10194+
10195+#define RXCIHB _SFR_MEM8(0x137)
10196+
10197+#define RXCPLB _SFR_MEM8(0x138)
10198+
10199+#define RXCPHB _SFR_MEM8(0x139)
10200+
10201+#define RXDSB _SFR_MEM8(0x13A)
10202+
10203+#define RXTLLA _SFR_MEM8(0x13B)
10204+
10205+#define RXTLHA _SFR_MEM8(0x13C)
10206+#define RXTLHA0 0
10207+#define RXTLHA1 1
10208+#define RXTLHA2 2
10209+#define RXTLHA3 3
10210+
10211+#define RXCRLA _SFR_MEM8(0x13D)
10212+
10213+#define RXCRHA _SFR_MEM8(0x13E)
10214+
10215+#define RXCSBA _SFR_MEM8(0x13F)
10216+
10217+#define RXCILA _SFR_MEM8(0x140)
10218+
10219+#define RXCIHA _SFR_MEM8(0x141)
10220+
10221+#define RXCPLA _SFR_MEM8(0x142)
10222+
10223+#define RXCPHA _SFR_MEM8(0x143)
10224+
10225+#define RXDSA _SFR_MEM8(0x144)
10226+
10227+#define CRCCR _SFR_MEM8(0x145)
10228+#define CRCRS 0
10229+#define REFLI 1
10230+#define REFLO 2
10231+
10232+#define CRCDOR _SFR_MEM8(0x146)
10233+
10234+#define IDB0 _SFR_MEM8(0x147)
10235+
10236+#define IDB1 _SFR_MEM8(0x148)
10237+
10238+#define IDB2 _SFR_MEM8(0x149)
10239+
10240+#define IDB3 _SFR_MEM8(0x14A)
10241+
10242+#define IDC _SFR_MEM8(0x14B)
10243+#define IDL0 0
10244+#define IDL1 1
10245+#define IDBO0 2
10246+#define IDBO1 3
10247+#define IDFIM 5
10248+#define IDCLR 6
10249+#define IDCE 7
10250+
10251+#define IDS _SFR_MEM8(0x14C)
10252+#define IDOK 0
10253+#define IDFULL 1
10254+
10255+#define RSSAV _SFR_MEM8(0x14D)
10256+
10257+#define RSSPK _SFR_MEM8(0x14E)
10258+
10259+#define RSSL _SFR_MEM8(0x14F)
10260+
10261+#define RSSH _SFR_MEM8(0x150)
10262+
10263+#define RSSC _SFR_MEM8(0x151)
10264+#define RSUP0 0
10265+#define RSUP1 1
10266+#define RSUP2 2
10267+#define RSUP3 3
10268+#define RSWLH 4
10269+#define RSHRX 5
10270+#define RSPKF 6
10271+
10272+#define DBCR _SFR_MEM8(0x152)
10273+#define DBMD 0
10274+#define DBCS 1
10275+#define DBTMS 2
10276+#define DBHA 3
10277+
10278+#define DBTC _SFR_MEM8(0x153)
10279+
10280+#define DBENB _SFR_MEM8(0x154)
10281+
10282+#define DBENC _SFR_MEM8(0x155)
10283+
10284+#define DBGSW _SFR_MEM8(0x156)
10285+#define DBGGS0 0
10286+#define DBGGS1 1
10287+#define DBGGS2 2
10288+#define DBGGS3 3
10289+#define CPBFOS0 4
10290+#define CPBFOS1 5
10291+#define CPBF 6
10292+#define DBGSE 7
10293+
10294+#define SFFR _SFR_MEM8(0x157)
10295+#define RFL0 0
10296+#define RFL1 1
10297+#define RFL2 2
10298+#define RFC 3
10299+#define TFL0 4
10300+#define TFL1 5
10301+#define TFL2 6
10302+#define TFC 7
10303+
10304+#define SFIR _SFR_MEM8(0x158)
10305+#define RIL0 0
10306+#define RIL1 1
10307+#define RIL2 2
10308+#define SRIE 3
10309+#define TIL0 4
10310+#define TIL1 5
10311+#define TIL2 6
10312+#define STIE 7
10313+
10314+#define EECR2 _SFR_MEM8(0x159)
10315+#define EEBRE 0
10316+
10317+#define PGMST _SFR_MEM8(0x15A)
10318+#define PGMSYN0 0
10319+#define PGMSYN1 1
10320+#define PGMSYN2 2
10321+#define PGMSYN3 3
10322+#define PGMSYN4 4
10323+
10324+#define EEST _SFR_MEM8(0x15B)
10325+#define EESYN0 0
10326+#define EESYN1 1
10327+#define EESYN2 2
10328+#define EESYN3 3
10329+
10330+#define RSIFG _SFR_MEM8(0x15C)
10331+
10332+#define RSLDV _SFR_MEM8(0x15D)
10333+
10334+#define RSHDV _SFR_MEM8(0x15E)
10335+
10336+#define RSCOM _SFR_MEM8(0x15F)
10337+#define RSDC 0
10338+#define RSIFC 1
9fe267c2
PZ
10339+
10340+
10341+
10342+/* Interrupt vectors */
10343+/* Vector 0 is the reset vector */
10344+/* External Interrupt Request 0 */
10345+#define INT0_vect _VECTOR(1)
10346+#define INT0_vect_num 1
10347+
10348+/* External Interrupt Request 1 */
10349+#define INT1_vect _VECTOR(2)
10350+#define INT1_vect_num 2
10351+
69ed15f0
JR
10352+/* Pin Change Interrupt Request 0 */
10353+#define PCI0_vect _VECTOR(3)
10354+#define PCI0_vect_num 3
9fe267c2 10355+
69ed15f0
JR
10356+/* Pin Change Interrupt Request 1 */
10357+#define PCI1_vect _VECTOR(4)
10358+#define PCI1_vect_num 4
9fe267c2 10359+
69ed15f0
JR
10360+/* Voltage Monitoring Interrupt */
10361+#define VMON_vect _VECTOR(5)
10362+#define VMON_vect_num 5
9fe267c2 10363+
69ed15f0
JR
10364+/* AVCC Reset Interrupt */
10365+#define AVCCR_vect _VECTOR(6)
10366+#define AVCCR_vect_num 6
9fe267c2 10367+
69ed15f0
JR
10368+/* AVCC Low Interrupt */
10369+#define AVCCL_vect _VECTOR(7)
10370+#define AVCCL_vect_num 7
9fe267c2 10371+
69ed15f0
JR
10372+/* Timer 0 Interval Interrupt */
10373+#define T0INT_vect _VECTOR(8)
10374+#define T0INT_vect_num 8
9fe267c2 10375+
69ed15f0
JR
10376+/* Timer/Counter1 Compare Match Interrupt */
10377+#define T1COMP_vect _VECTOR(9)
10378+#define T1COMP_vect_num 9
9fe267c2 10379+
69ed15f0
JR
10380+/* Timer/Counter1 Overflow Interrupt */
10381+#define T1OVF_vect _VECTOR(10)
10382+#define T1OVF_vect_num 10
9fe267c2 10383+
69ed15f0
JR
10384+/* Timer/Counter2 Compare Match Interrupt */
10385+#define T2COMP_vect _VECTOR(11)
10386+#define T2COMP_vect_num 11
9fe267c2 10387+
69ed15f0
JR
10388+/* Timer/Counter2 Overflow Interrupt */
10389+#define T2OVF_vect _VECTOR(12)
10390+#define T2OVF_vect_num 12
9fe267c2 10391+
69ed15f0
JR
10392+/* Timer/Counter3 Capture Event Interrupt */
10393+#define T3CAP_vect _VECTOR(13)
10394+#define T3CAP_vect_num 13
9fe267c2 10395+
69ed15f0
JR
10396+/* Timer/Counter3 Compare Match Interrupt */
10397+#define T3COMP_vect _VECTOR(14)
10398+#define T3COMP_vect_num 14
9fe267c2 10399+
69ed15f0
JR
10400+/* Timer/Counter3 Overflow Interrupt */
10401+#define T3OVF_vect _VECTOR(15)
10402+#define T3OVF_vect_num 15
9fe267c2 10403+
69ed15f0
JR
10404+/* Timer/Counter4 Capture Event Interrupt */
10405+#define T4CAP_vect _VECTOR(16)
10406+#define T4CAP_vect_num 16
9fe267c2 10407+
69ed15f0
JR
10408+/* Timer/Counter4 Compare Match Interrupt */
10409+#define T4COMP_vect _VECTOR(17)
10410+#define T4COMP_vect_num 17
9fe267c2 10411+
69ed15f0
JR
10412+/* Timer/Counter4 Overflow Interrupt */
10413+#define T4OVF_vect _VECTOR(18)
10414+#define T4OVF_vect_num 18
9fe267c2 10415+
69ed15f0
JR
10416+/* Timer/Counter5 Compare Match Interrupt */
10417+#define T5COMP_vect _VECTOR(19)
10418+#define T5COMP_vect_num 19
9fe267c2 10419+
69ed15f0
JR
10420+/* Timer/Counter5 Overflow Interrupt */
10421+#define T5OVF_vect _VECTOR(20)
10422+#define T5OVF_vect_num 20
9fe267c2 10423+
69ed15f0
JR
10424+/* SPI Serial Transfer Complete Interrupt */
10425+#define SPI_vect _VECTOR(21)
10426+#define SPI_vect_num 21
9fe267c2 10427+
69ed15f0
JR
10428+/* SPI Rx Buffer Interrupt */
10429+#define SRX_FIFO_vect _VECTOR(22)
10430+#define SRX_FIFO_vect_num 22
9fe267c2 10431+
69ed15f0
JR
10432+/* SPI Tx Buffer Interrupt */
10433+#define STX_FIFO_vect _VECTOR(23)
10434+#define STX_FIFO_vect_num 23
9fe267c2 10435+
69ed15f0
JR
10436+/* Sequencer State Machine Interrupt */
10437+#define SSM_vect _VECTOR(24)
10438+#define SSM_vect_num 24
9fe267c2 10439+
69ed15f0
JR
10440+/* Data FIFO fill level reached Interrupt */
10441+#define DFFLR_vect _VECTOR(25)
10442+#define DFFLR_vect_num 25
9fe267c2 10443+
69ed15f0
JR
10444+/* Data FIFO overflow or underflow error Interrupt */
10445+#define DFOUE_vect _VECTOR(26)
10446+#define DFOUE_vect_num 26
9fe267c2 10447+
69ed15f0
JR
10448+/* RSSI/Preamble FIFO fill level reached Interrupt */
10449+#define SFFLR_vect _VECTOR(27)
10450+#define SFFLR_vect_num 27
9fe267c2 10451+
69ed15f0
JR
10452+/* RSSI/Preamble FIFO overflow or underflow error Interrupt */
10453+#define SFOUE_vect _VECTOR(28)
10454+#define SFOUE_vect_num 28
9fe267c2 10455+
69ed15f0
JR
10456+/* Tx Modulator Telegram Finish Interrupt */
10457+#define TMTCF_vect _VECTOR(29)
10458+#define TMTCF_vect_num 29
9fe267c2 10459+
69ed15f0
JR
10460+/* UHF receiver wake up ok on Rx path B */
10461+#define UHF_WCOB_vect _VECTOR(30)
10462+#define UHF_WCOB_vect_num 30
9fe267c2 10463+
69ed15f0
JR
10464+/* UHF receiver wake up ok on Rx path A */
10465+#define UHF_WCOA_vect _VECTOR(31)
10466+#define UHF_WCOA_vect_num 31
9fe267c2 10467+
69ed15f0
JR
10468+/* UHF receiver start of telegram ok on Rx path B */
10469+#define UHF_SOTB_vect _VECTOR(32)
10470+#define UHF_SOTB_vect_num 32
9fe267c2 10471+
69ed15f0
JR
10472+/* UHF receiver start of telegram ok on Rx path A */
10473+#define UHF_SOTA_vect _VECTOR(33)
10474+#define UHF_SOTA_vect_num 33
9fe267c2 10475+
69ed15f0
JR
10476+/* UHF receiver end of telegram on Rx path B */
10477+#define UHF_EOTB_vect _VECTOR(34)
10478+#define UHF_EOTB_vect_num 34
9fe267c2 10479+
69ed15f0
JR
10480+/* UHF receiver end of telegram on Rx path A */
10481+#define UHF_EOTA_vect _VECTOR(35)
10482+#define UHF_EOTA_vect_num 35
10483+
10484+/* UHF receiver new bit on Rx path B */
10485+#define UHF_NBITB_vect _VECTOR(36)
10486+#define UHF_NBITB_vect_num 36
10487+
10488+/* UHF receiver new bit on Rx path A */
10489+#define UHF_NBITA_vect _VECTOR(37)
10490+#define UHF_NBITA_vect_num 37
10491+
10492+/* External input Clock monitoring Interrupt */
10493+#define EXCM_vect _VECTOR(38)
10494+#define EXCM_vect_num 38
10495+
10496+/* EEPROM Ready Interrupt */
10497+#define ERDY_vect _VECTOR(39)
10498+#define ERDY_vect_num 39
10499+
10500+/* Store Program Memory Ready */
10501+#define SPMR_vect _VECTOR(40)
10502+#define SPMR_vect_num 40
10503+
10504+/* IDSCAN Full Interrupt */
10505+#define IDFULL_vect _VECTOR(41)
10506+#define IDFULL_vect_num 41
10507+
10508+#define _VECTORS_SIZE 168
9fe267c2
PZ
10509+
10510+
10511+/* Constants */
10512+
69ed15f0
JR
10513+#define SPM_PAGESIZE 64
10514+#define FLASHSTART 0x8000
10515+#define FLASHEND 0xCFFF
10516+#define RAMSTART 0x0200
10517+#define RAMSIZE 1024
10518+#define RAMEND 0x05FF
9fe267c2 10519+#define E2START 0
69ed15f0
JR
10520+#define E2SIZE 1152
10521+#define E2PAGESIZE 16
10522+#define E2END 0x047F
9fe267c2
PZ
10523+#define XRAMEND RAMEND
10524+
10525+
10526+/* Fuses */
10527+
69ed15f0 10528+#define FUSE_MEMORY_SIZE 1
9fe267c2 10529+
69ed15f0
JR
10530+/* Fuse Byte */
10531+#define FUSE_CKDIV8 (unsigned char)~_BV(128)
10532+#define FUSE_DWEN (unsigned char)~_BV(64)
10533+#define FUSE_SPIEN (unsigned char)~_BV(32)
10534+#define FUSE_WDTON (unsigned char)~_BV(16)
10535+#define FUSE_EESAVE (unsigned char)~_BV(8)
10536+#define FUSE_BOOTRST (unsigned char)~_BV(4)
10537+#define FUSE_RSTDISBL (unsigned char)~_BV(2)
10538+#define FUSE_EXTCLKEN (unsigned char)~_BV(1)
9fe267c2
PZ
10539+
10540+/* Lock Bits */
10541+#define __LOCK_BITS_EXIST
9fe267c2
PZ
10542+
10543+
10544+/* Signature */
10545+#define SIGNATURE_0 0x1E
69ed15f0
JR
10546+#define SIGNATURE_1 0x95
10547+#define SIGNATURE_2 0x63
9fe267c2 10548+
9fe267c2 10549+
69ed15f0 10550+#endif /* #ifdef _AVR_ATA5833_H_INCLUDED */
9fe267c2 10551+
69ed15f0
JR
10552diff -urN avr-libc-1.8.0.orig/include/avr/ioa6285.h avr-libc-1.8.0/include/avr/ioa6285.h
10553--- avr-libc-1.8.0.orig/include/avr/ioa6285.h 1970-01-01 01:00:00.000000000 +0100
10554+++ avr-libc-1.8.0/include/avr/ioa6285.h 2013-06-12 12:21:34.000000000 +0200
10555@@ -0,0 +1,706 @@
9fe267c2
PZ
10556+/*****************************************************************************
10557+ *
69ed15f0 10558+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
10559+ * All rights reserved.
10560+ *
10561+ * Redistribution and use in source and binary forms, with or without
10562+ * modification, are permitted provided that the following conditions are met:
10563+ *
10564+ * * Redistributions of source code must retain the above copyright
10565+ * notice, this list of conditions and the following disclaimer.
10566+ *
10567+ * * Redistributions in binary form must reproduce the above copyright
10568+ * notice, this list of conditions and the following disclaimer in
10569+ * the documentation and/or other materials provided with the
10570+ * distribution.
10571+ *
10572+ * * Neither the name of the copyright holders nor the names of
10573+ * contributors may be used to endorse or promote products derived
10574+ * from this software without specific prior written permission.
10575+ *
10576+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
10577+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
10578+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
10579+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
10580+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
10581+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
10582+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
10583+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
10584+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
10585+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
10586+ * POSSIBILITY OF SUCH DAMAGE.
10587+ ****************************************************************************/
10588+
10589+
69ed15f0
JR
10590+#ifndef _AVR_ATA6285_H_INCLUDED
10591+#define _AVR_ATA6285_H_INCLUDED
9fe267c2
PZ
10592+
10593+
10594+#ifndef _AVR_IO_H_
10595+# error "Include <avr/io.h> instead of this file."
10596+#endif
10597+
10598+#ifndef _AVR_IOXXX_H_
69ed15f0 10599+# define _AVR_IOXXX_H_ "ioa6285.h"
9fe267c2
PZ
10600+#else
10601+# error "Attempt to include more than one <avr/ioXXX.h> file."
10602+#endif
10603+
10604+/* Registers and associated bit numbers */
10605+
69ed15f0
JR
10606+#define PINB _SFR_IO8(0x03)
10607+#define PINB7 7
10608+#define PINB6 6
10609+#define PINB5 5
10610+#define PINB4 4
10611+#define PINB3 3
10612+#define PINB2 2
10613+#define PINB1 1
10614+#define PINB0 0
9fe267c2
PZ
10615+
10616+#define DDRB _SFR_IO8(0x04)
10617+#define DDRB7 7
10618+#define DDRB6 6
10619+#define DDRB5 5
10620+#define DDRB4 4
10621+#define DDRB3 3
10622+#define DDRB2 2
10623+#define DDRB1 1
10624+#define DDRB0 0
10625+
10626+#define PORTB _SFR_IO8(0x05)
10627+#define PORTB7 7
10628+#define PORTB6 6
10629+#define PORTB5 5
10630+#define PORTB4 4
10631+#define PORTB3 3
10632+#define PORTB2 2
10633+#define PORTB1 1
10634+#define PORTB0 0
10635+
10636+#define PINC _SFR_IO8(0x06)
10637+#define PINC7 7
10638+#define PINC6 6
10639+#define PINC5 5
10640+#define PINC4 4
10641+#define PINC3 3
10642+#define PINC2 2
10643+#define PINC1 1
10644+#define PINC0 0
10645+
10646+#define DDRC _SFR_IO8(0x07)
10647+#define DDRC7 7
10648+#define DDRC6 6
10649+#define DDRC5 5
10650+#define DDRC4 4
10651+#define DDRC3 3
10652+#define DDRC2 2
10653+#define DDRC1 1
10654+#define DDRC0 0
10655+
10656+#define PORTC _SFR_IO8(0x08)
10657+#define PORTC7 7
10658+#define PORTC6 6
10659+#define PORTC5 5
10660+#define PORTC4 4
10661+#define PORTC3 3
10662+#define PORTC2 2
10663+#define PORTC1 1
10664+#define PORTC0 0
10665+
10666+#define PIND _SFR_IO8(0x09)
10667+#define PIND7 7
10668+#define PIND6 6
10669+#define PIND5 5
10670+#define PIND4 4
10671+#define PIND3 3
10672+#define PIND2 2
10673+#define PIND1 1
10674+#define PIND0 0
10675+
10676+#define DDRD _SFR_IO8(0x0A)
10677+#define DDRD7 7
10678+#define DDRD6 6
10679+#define DDRD5 5
10680+#define DDRD4 4
10681+#define DDRD3 3
10682+#define DDRD2 2
10683+#define DDRD1 1
10684+#define DDRD0 0
10685+
10686+#define PORTD _SFR_IO8(0x0B)
10687+#define PORTD7 7
10688+#define PORTD6 6
10689+#define PORTD5 5
10690+#define PORTD4 4
10691+#define PORTD3 3
10692+#define PORTD2 2
10693+#define PORTD1 1
10694+#define PORTD0 0
10695+
69ed15f0 10696+/* Reserved [0x0C..0x0E] */
9fe267c2 10697+
69ed15f0
JR
10698+#define CMCR _SFR_IO8(0x0F)
10699+#define CMM0 0
10700+#define CMM1 1
10701+#define SRCD 2
10702+#define CMONEN 3
10703+#define CCS 4
10704+#define ECINS 5
10705+#define CMCCE 7
9fe267c2 10706+
69ed15f0
JR
10707+#define CMSR _SFR_IO8(0x10)
10708+#define ECF 0
9fe267c2 10709+
69ed15f0
JR
10710+#define T2CRA _SFR_IO8(0x11)
10711+#define T2OTM 0
10712+#define T2CTM 1
10713+#define T2CR 2
10714+#define T2CRM 3
10715+#define T2ICS 5
10716+#define T2TS 6
10717+#define T2E 7
9fe267c2 10718+
69ed15f0
JR
10719+#define T2CRB _SFR_IO8(0x12)
10720+#define T2SCE 0
9fe267c2 10721+
69ed15f0
JR
10722+/* Reserved [0x13] */
10723+
10724+#define T3CRA _SFR_IO8(0x14)
10725+#define T3AC 0
10726+#define T3SCE 1
10727+#define T3CR 2
10728+#define T3TS 6
10729+#define T3E 7
10730+
10731+/* Reserved [0x15] */
10732+
10733+#define VMCSR _SFR_IO8(0x16)
10734+#define VMEN 0
10735+#define VMLS0 1
10736+#define VMLS1 2
10737+#define VMLS2 3
10738+#define VMIM 4
10739+#define VMF 5
10740+#define BODPD 6
10741+#define BODLS 7
10742+
10743+#define PCIFR _SFR_IO8(0x17)
9fe267c2
PZ
10744+#define PCIF0 0
10745+#define PCIF1 1
10746+#define PCIF2 2
9fe267c2 10747+
69ed15f0
JR
10748+#define LFFR _SFR_IO8(0x18)
10749+#define LFWPF 0
10750+#define LFBF 1
10751+#define LFEDF 2
10752+#define LFRF 3
10753+
10754+#define SSFR _SFR_IO8(0x19)
10755+#define MSENF 0
10756+#define MSENO 1
10757+
10758+#define T10IFR _SFR_IO8(0x1A)
10759+#define T0F 0
10760+#define T1F 1
10761+
10762+#define T2IFR _SFR_IO8(0x1B)
10763+#define T2OFF 0
10764+#define T2COF 1
10765+#define T2ICF 2
10766+#define T2RXF 3
10767+#define T2TXF 4
10768+#define T2TCF 5
10769+
10770+#define T3IFR _SFR_IO8(0x1C)
10771+#define T3OFF 0
10772+#define T3COAF 1
10773+#define T3COBF 2
10774+#define T3ICF 3
10775+
10776+#define EIFR _SFR_IO8(0x1D)
9fe267c2
PZ
10777+#define INTF0 0
10778+#define INTF1 1
9fe267c2
PZ
10779+
10780+#define GPIOR0 _SFR_IO8(0x1E)
9fe267c2
PZ
10781+
10782+#define EECR _SFR_IO8(0x1F)
10783+#define EERE 0
69ed15f0
JR
10784+#define EEWE 1
10785+#define EEMWE 2
9fe267c2
PZ
10786+#define EERIE 3
10787+#define EEPM0 4
10788+#define EEPM1 5
10789+
10790+#define EEDR _SFR_IO8(0x20)
10791+
10792+/* Combine EEARL and EEARH */
10793+#define EEAR _SFR_IO16(0x21)
10794+
10795+#define EEARL _SFR_IO8(0x21)
10796+#define EEARH _SFR_IO8(0x22)
10797+
69ed15f0
JR
10798+#define PCICR _SFR_IO8(0x23)
10799+#define PCIE0 0
10800+#define PCIE1 1
10801+#define PCIE2 2
9fe267c2 10802+
69ed15f0
JR
10803+#define EIMSK _SFR_IO8(0x24)
10804+#define INT0 0
10805+#define INT1 1
9fe267c2 10806+
69ed15f0 10807+/* Reserved [0x25..0x26] */
9fe267c2 10808+
69ed15f0 10809+#define SVCR _SFR_IO8(0x27)
9fe267c2 10810+
69ed15f0
JR
10811+#define SCR _SFR_IO8(0x28)
10812+#define SMS 0
10813+#define SEN0 1
10814+#define SEN1 2
10815+#define SMEN 3
9fe267c2 10816+
69ed15f0
JR
10817+#define SCCR _SFR_IO8(0x29)
10818+#define SRCC0 0
10819+#define SRCC1 1
10820+#define SCCS0 2
10821+#define SCCS1 3
10822+#define SCCS2 4
9fe267c2
PZ
10823+
10824+#define GPIOR1 _SFR_IO8(0x2A)
9fe267c2
PZ
10825+
10826+#define GPIOR2 _SFR_IO8(0x2B)
9fe267c2 10827+
69ed15f0
JR
10828+#define SPCR _SFR_IO8(0x2C)
10829+#define SPR0 0
10830+#define SPR1 1
10831+#define CPHA 2
10832+#define CPOL 3
10833+#define MSTR 4
10834+#define DORD 5
10835+#define SPE 6
10836+#define SPIE 7
9fe267c2 10837+
69ed15f0
JR
10838+#define SPSR _SFR_IO8(0x2D)
10839+#define SPI2X 0
10840+#define WCOL 6
10841+#define SPIF 7
9fe267c2 10842+
69ed15f0 10843+#define SPDR _SFR_IO8(0x2E)
9fe267c2 10844+
69ed15f0 10845+#define T2MDR _SFR_IO8(0x2F)
9fe267c2 10846+
69ed15f0 10847+#define LFRR _SFR_IO8(0x30)
9fe267c2 10848+
69ed15f0 10849+/* Reserved [0x31] */
9fe267c2 10850+
69ed15f0
JR
10851+#define LFCDR _SFR_IO8(0x32)
10852+#define LFDO 0
10853+#define LFRST 6
10854+#define LFSCE 7
9fe267c2
PZ
10855+
10856+#define SMCR _SFR_IO8(0x33)
10857+#define SE 0
10858+#define SM0 1
10859+#define SM1 2
10860+#define SM2 3
10861+
10862+#define MCUSR _SFR_IO8(0x34)
9fe267c2
PZ
10863+#define PORF 0
10864+#define EXTRF 1
10865+#define BORF 2
10866+#define WDRF 3
69ed15f0 10867+#define TSRF 5
9fe267c2
PZ
10868+
10869+#define MCUCR _SFR_IO8(0x35)
9fe267c2
PZ
10870+#define IVCE 0
10871+#define IVSEL 1
10872+#define PUD 4
9fe267c2 10873+
69ed15f0 10874+#define LFRB _SFR_IO8(0x36)
9fe267c2
PZ
10875+
10876+#define SPMCSR _SFR_IO8(0x37)
69ed15f0 10877+#define SELFPRGEN 0
9fe267c2
PZ
10878+#define PGERS 1
10879+#define PGWRT 2
10880+#define BLBSET 3
10881+#define RWWSRE 4
9fe267c2
PZ
10882+#define RWWSB 6
10883+#define SPMIE 7
10884+
69ed15f0
JR
10885+#define T1CR _SFR_IO8(0x38)
10886+#define T1PS0 0
10887+#define T1PS1 1
10888+#define T1PS2 2
10889+#define T1CS0 3
10890+#define T1CS1 4
10891+#define T1CS2 5
10892+#define T1IE 7
10893+
10894+#define T0CR _SFR_IO8(0x39)
10895+#define T0PAS0 0
10896+#define T0PAS1 1
10897+#define T0PAS2 2
10898+#define T0IE 3
10899+#define T0PR 4
10900+#define T0PBS0 5
10901+#define T0PBS1 6
10902+#define T0PBS2 7
10903+
10904+/* Reserved [0x3A] */
10905+
10906+#define CMIMR _SFR_IO8(0x3B)
10907+#define ECIE 0
10908+
10909+#define CLKPR _SFR_IO8(0x3C)
10910+#define CLKPS0 0
10911+#define CLKPS1 1
10912+#define CLKPS2 2
10913+#define CLTPS0 3
10914+#define CLTPS1 4
10915+#define CLTPS2 5
10916+#define CLPCE 7
9fe267c2
PZ
10917+
10918+/* SP [0x3D..0x3E] */
10919+
10920+/* SREG [0x3F] */
10921+
69ed15f0
JR
10922+#define WDTCR _SFR_MEM8(0x60)
10923+#define WDPS0 0
10924+#define WDPS1 1
10925+#define WDPS2 2
9fe267c2
PZ
10926+#define WDE 3
10927+#define WDCE 4
9fe267c2 10928+
69ed15f0
JR
10929+#define SIMSK _SFR_MEM8(0x61)
10930+#define MSIE 0
9fe267c2
PZ
10931+
10932+/* Reserved [0x62..0x63] */
10933+
69ed15f0
JR
10934+#define TSCR _SFR_MEM8(0x64)
10935+#define TSSD 0
9fe267c2 10936+
69ed15f0 10937+#define SRCCAL _SFR_MEM8(0x65)
9fe267c2 10938+
69ed15f0 10939+#define FRCCAL _SFR_MEM8(0x66)
9fe267c2 10940+
69ed15f0 10941+#define MSVCAL _SFR_MEM8(0x67)
9fe267c2 10942+
69ed15f0 10943+/* Reserved [0x68] */
9fe267c2
PZ
10944+
10945+#define EICRA _SFR_MEM8(0x69)
10946+#define ISC00 0
10947+#define ISC01 1
10948+#define ISC10 2
10949+#define ISC11 3
9fe267c2 10950+
69ed15f0 10951+#define PCMSK0 _SFR_MEM8(0x6A)
9fe267c2
PZ
10952+#define PCINT0 0
10953+#define PCINT1 1
10954+#define PCINT2 2
10955+#define PCINT3 3
10956+#define PCINT4 4
10957+#define PCINT5 5
10958+#define PCINT6 6
10959+#define PCINT7 7
10960+
69ed15f0 10961+#define PCMSK1 _SFR_MEM8(0x6B)
9fe267c2
PZ
10962+#define PCINT8 0
10963+#define PCINT9 1
10964+#define PCINT10 2
9fe267c2 10965+
69ed15f0 10966+#define PCMSK2 _SFR_MEM8(0x6C)
9fe267c2
PZ
10967+#define PCINT16 0
10968+#define PCINT17 1
10969+#define PCINT18 2
10970+#define PCINT19 3
10971+#define PCINT20 4
10972+#define PCINT21 5
10973+#define PCINT22 6
10974+#define PCINT23 7
10975+
69ed15f0 10976+/* Reserved [0x6D] */
9fe267c2 10977+
69ed15f0 10978+#define T2ICRL _SFR_MEM8(0x6E)
9fe267c2 10979+
69ed15f0 10980+#define T2ICR _SFR_MEM8(0x6F)
9fe267c2 10981+
69ed15f0
JR
10982+/* Combine T2CORL and T2CORH */
10983+#define T2COR _SFR_MEM16(0x70)
9fe267c2 10984+
69ed15f0
JR
10985+#define T2CORL _SFR_MEM8(0x70)
10986+#define T2CORH _SFR_MEM8(0x71)
9fe267c2 10987+
69ed15f0
JR
10988+#define T2MRA _SFR_MEM8(0x72)
10989+#define T2CS0 0
10990+#define T2CS1 1
10991+#define T2CS2 2
10992+#define T2CE0 3
10993+#define T2CE1 4
10994+#define T2CNC 5
10995+#define T2TP0 6
10996+#define T2TP1 7
9fe267c2 10997+
69ed15f0
JR
10998+#define T2MRB _SFR_MEM8(0x73)
10999+#define T2M0 0
11000+#define T2M1 1
11001+#define T2M2 2
11002+#define T2M3 3
11003+#define T2TOP 4
11004+#define T2CPOL 6
11005+#define T2SSIE 7
9fe267c2 11006+
69ed15f0
JR
11007+#define T2IMR _SFR_MEM8(0x74)
11008+#define T2OIM 0
11009+#define T2CIM 1
11010+#define T2CPIM 2
11011+#define T2RXIM 3
11012+#define T2TXIM 4
11013+#define T2TCIM 5
9fe267c2 11014+
69ed15f0 11015+/* Reserved [0x75] */
9fe267c2 11016+
69ed15f0
JR
11017+/* Combine T3ICRL and T3ICRH */
11018+#define T3ICR _SFR_MEM16(0x76)
9fe267c2 11019+
69ed15f0
JR
11020+#define T3ICRL _SFR_MEM8(0x76)
11021+#define T3ICRH _SFR_MEM8(0x77)
9fe267c2 11022+
69ed15f0
JR
11023+/* Combine T3CORAL and T3CORAH */
11024+#define T3CORA _SFR_MEM16(0x78)
9fe267c2 11025+
69ed15f0
JR
11026+#define T3CORAL _SFR_MEM8(0x78)
11027+#define T3CORAH _SFR_MEM8(0x79)
9fe267c2 11028+
69ed15f0
JR
11029+/* Combine T3CORBL and T3CORBH */
11030+#define T3CORB _SFR_MEM16(0x7A)
9fe267c2 11031+
69ed15f0
JR
11032+#define T3CORBL _SFR_MEM8(0x7A)
11033+#define T3CORBH _SFR_MEM8(0x7B)
9fe267c2 11034+
69ed15f0
JR
11035+#define T3MRA _SFR_MEM8(0x7C)
11036+#define T3CS0 0
11037+#define T3CS1 1
11038+#define T3CS2 2
11039+#define T3CE0 3
11040+#define T3CE1 4
11041+#define T3CNC 5
11042+#define T3ICS0 6
11043+#define T3ICS1 7
9fe267c2 11044+
69ed15f0
JR
11045+#define T3MRB _SFR_MEM8(0x7D)
11046+#define T3M0 0
11047+#define T3M1 1
11048+#define T3M2 2
11049+#define T3TOP 4
9fe267c2 11050+
69ed15f0
JR
11051+#define T3CRB _SFR_MEM8(0x7E)
11052+#define T3CTMA 0
11053+#define T3SAMA 1
11054+#define T3CRMA 2
11055+#define T3CTMB 3
11056+#define T3SAMB 4
11057+#define T3CRMB 5
11058+#define T3CPRM 6
9fe267c2 11059+
69ed15f0
JR
11060+#define T3IMR _SFR_MEM8(0x7F)
11061+#define T3OIM 0
11062+#define T3CAIM 1
11063+#define T3CBIM 2
11064+#define T3CPIM 3
9fe267c2 11065+
69ed15f0 11066+/* Reserved [0x80] */
9fe267c2 11067+
69ed15f0
JR
11068+#define LFIMR _SFR_MEM8(0x81)
11069+#define LFWIM 0
11070+#define LFBIM 1
11071+#define LFEIM 2
9fe267c2 11072+
69ed15f0
JR
11073+#define LFRCR _SFR_MEM8(0x82)
11074+#define LFEN 0
11075+#define LFBM 1
11076+#define LFWM0 2
11077+#define LFWM1 3
11078+#define LFRSS 4
11079+#define LFCS0 5
11080+#define LFCS1 6
11081+#define LFCS2 7
9fe267c2 11082+
69ed15f0 11083+#define LFHCR _SFR_MEM8(0x83)
9fe267c2 11084+
69ed15f0
JR
11085+/* Combine LFIDCL and LFIDCH */
11086+#define LFIDC _SFR_MEM16(0x84)
9fe267c2 11087+
69ed15f0
JR
11088+#define LFIDCL _SFR_MEM8(0x84)
11089+#define LFIDCH _SFR_MEM8(0x85)
9fe267c2 11090+
69ed15f0
JR
11091+/* Combine LFCALL and LFCALH */
11092+#define LFCAL _SFR_MEM16(0x86)
9fe267c2 11093+
69ed15f0
JR
11094+#define LFCALL _SFR_MEM8(0x86)
11095+#define LFCALH _SFR_MEM8(0x87)
9fe267c2
PZ
11096+
11097+
11098+
11099+/* Interrupt vectors */
11100+/* Vector 0 is the reset vector */
11101+/* External Interrupt Request 0 */
11102+#define INT0_vect _VECTOR(1)
11103+#define INT0_vect_num 1
11104+
11105+/* External Interrupt Request 1 */
11106+#define INT1_vect _VECTOR(2)
11107+#define INT1_vect_num 2
11108+
9fe267c2 11109+/* Pin Change Interrupt Request 0 */
69ed15f0
JR
11110+#define PCINT0_vect _VECTOR(3)
11111+#define PCINT0_vect_num 3
9fe267c2
PZ
11112+
11113+/* Pin Change Interrupt Request 1 */
69ed15f0
JR
11114+#define PCINT1_vect _VECTOR(4)
11115+#define PCINT1_vect_num 4
9fe267c2
PZ
11116+
11117+/* Pin Change Interrupt Request 2 */
69ed15f0
JR
11118+#define PCINT2_vect _VECTOR(5)
11119+#define PCINT2_vect_num 5
9fe267c2 11120+
69ed15f0
JR
11121+/* Voltage Monitor Interrupt */
11122+#define INTVM_vect _VECTOR(6)
11123+#define INTVM_vect_num 6
9fe267c2 11124+
69ed15f0
JR
11125+/* Sensor Interface Interrupt */
11126+#define SENINT_vect _VECTOR(7)
11127+#define SENINT_vect_num 7
9fe267c2 11128+
69ed15f0
JR
11129+/* Timer0 Interval Interrupt */
11130+#define INTT0_vect _VECTOR(8)
11131+#define INTT0_vect_num 8
9fe267c2 11132+
69ed15f0
JR
11133+/* LF-Receiver Wake-up Interrupt */
11134+#define LFWP_vect _VECTOR(9)
11135+#define LFWP_vect_num 9
9fe267c2 11136+
69ed15f0
JR
11137+/* Timer/Counter3 Capture Event */
11138+#define T3CAP_vect _VECTOR(10)
11139+#define T3CAP_vect_num 10
9fe267c2 11140+
69ed15f0
JR
11141+/* Timer/Counter3 Compare Match A */
11142+#define T3COMA_vect _VECTOR(11)
11143+#define T3COMA_vect_num 11
9fe267c2 11144+
69ed15f0
JR
11145+/* Timer/Counter3 Compare Match B */
11146+#define T3COMB_vect _VECTOR(12)
11147+#define T3COMB_vect_num 12
9fe267c2 11148+
69ed15f0
JR
11149+/* Timer/Counter3 Overflow */
11150+#define T3OVF_vect _VECTOR(13)
11151+#define T3OVF_vect_num 13
9fe267c2 11152+
69ed15f0
JR
11153+/* Timer/Counter2 Capture Event */
11154+#define T2CAP_vect _VECTOR(14)
11155+#define T2CAP_vect_num 14
9fe267c2 11156+
69ed15f0
JR
11157+/* Timer/Counter2 Compare Match */
11158+#define T2COM_vect _VECTOR(15)
11159+#define T2COM_vect_num 15
9fe267c2 11160+
69ed15f0
JR
11161+/* Timer/Counter2 Overflow */
11162+#define T2OVF_vect _VECTOR(16)
11163+#define T2OVF_vect_num 16
9fe267c2
PZ
11164+
11165+/* SPI Serial Transfer Complete */
69ed15f0
JR
11166+#define SPISTC_vect _VECTOR(17)
11167+#define SPISTC_vect_num 17
9fe267c2 11168+
69ed15f0
JR
11169+/* LF Receive Buffer Interrupt */
11170+#define LFRXB_vect _VECTOR(18)
11171+#define LFRXB_vect_num 18
9fe267c2 11172+
69ed15f0
JR
11173+/* Timer1 Interval Interrupt */
11174+#define INTT1_vect _VECTOR(19)
11175+#define INTT1_vect_num 19
9fe267c2 11176+
69ed15f0
JR
11177+/* Timer2 SSI Receive Buffer Interrupt */
11178+#define T2RXB_vect _VECTOR(20)
11179+#define T2RXB_vect_num 20
9fe267c2 11180+
69ed15f0
JR
11181+/* Timer2 SSI Transmit Buffer Interrupt */
11182+#define T2TXB_vect _VECTOR(21)
11183+#define T2TXB_vect_num 21
9fe267c2 11184+
69ed15f0
JR
11185+/* Timer2 SSI Transmit Complete Interrupt */
11186+#define T2TXC_vect _VECTOR(22)
11187+#define T2TXC_vect_num 22
9fe267c2 11188+
69ed15f0
JR
11189+/* LF-Receiver End of Burst Interrupt */
11190+#define LFREOB_vect _VECTOR(23)
11191+#define LFREOB_vect_num 23
9fe267c2 11192+
69ed15f0
JR
11193+/* External Input Clock break down Interrupt */
11194+#define EXCM_vect _VECTOR(24)
11195+#define EXCM_vect_num 24
9fe267c2 11196+
69ed15f0
JR
11197+/* EEPROM Ready Interrupt */
11198+#define EEREADY_vect _VECTOR(25)
11199+#define EEREADY_vect_num 25
9fe267c2 11200+
69ed15f0
JR
11201+/* Store Program Memory Ready */
11202+#define SPM_RDY_vect _VECTOR(26)
11203+#define SPM_RDY_vect_num 26
9fe267c2 11204+
69ed15f0 11205+#define _VECTORS_SIZE 54
9fe267c2
PZ
11206+
11207+
11208+/* Constants */
11209+
69ed15f0
JR
11210+#define SPM_PAGESIZE 64
11211+#define FLASHSTART 0x0000
11212+#define FLASHEND 0x1FFF
9fe267c2 11213+#define RAMSTART 0x0100
69ed15f0
JR
11214+#define RAMSIZE 512
11215+#define RAMEND 0x02FF
9fe267c2 11216+#define E2START 0
69ed15f0 11217+#define E2SIZE 320
9fe267c2 11218+#define E2PAGESIZE 4
69ed15f0 11219+#define E2END 0x013F
9fe267c2
PZ
11220+#define XRAMEND RAMEND
11221+
11222+
11223+/* Fuses */
11224+
69ed15f0 11225+#define FUSE_MEMORY_SIZE 2
9fe267c2
PZ
11226+
11227+/* Low Fuse Byte */
69ed15f0
JR
11228+#define FUSE_TSRDI (unsigned char)~_BV(0)
11229+#define FUSE_BODEN (unsigned char)~_BV(1)
11230+#define FUSE_FRCFS (unsigned char)~_BV(2)
11231+#define FUSE_WDRCON (unsigned char)~_BV(3)
11232+#define FUSE_SUT_CKSEL0 (unsigned char)~_BV(4)
11233+#define FUSE_SUT_CKSEL1 (unsigned char)~_BV(5)
9fe267c2
PZ
11234+#define FUSE_CKOUT (unsigned char)~_BV(6)
11235+#define FUSE_CKDIV8 (unsigned char)~_BV(7)
11236+
11237+/* High Fuse Byte */
11238+#define FUSE_BOOTRST (unsigned char)~_BV(0)
11239+#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
11240+#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
11241+#define FUSE_EESAVE (unsigned char)~_BV(3)
11242+#define FUSE_WDTON (unsigned char)~_BV(4)
11243+#define FUSE_SPIEN (unsigned char)~_BV(5)
69ed15f0
JR
11244+#define FUSE_DWEN (unsigned char)~_BV(6)
11245+#define FUSE_EELOCK (unsigned char)~_BV(7)
9fe267c2
PZ
11246+
11247+
11248+/* Lock Bits */
11249+#define __LOCK_BITS_EXIST
11250+#define __BOOT_LOCK_BITS_0_EXIST
11251+#define __BOOT_LOCK_BITS_1_EXIST
11252+
11253+
11254+/* Signature */
11255+#define SIGNATURE_0 0x1E
69ed15f0
JR
11256+#define SIGNATURE_1 0x93
11257+#define SIGNATURE_2 0x82
9fe267c2 11258+
9fe267c2 11259+
69ed15f0 11260+#endif /* #ifdef _AVR_ATA6285_H_INCLUDED */
9fe267c2 11261+
69ed15f0
JR
11262diff -urN avr-libc-1.8.0.orig/include/avr/ioa6286.h avr-libc-1.8.0/include/avr/ioa6286.h
11263--- avr-libc-1.8.0.orig/include/avr/ioa6286.h 1970-01-01 01:00:00.000000000 +0100
11264+++ avr-libc-1.8.0/include/avr/ioa6286.h 2013-06-12 12:21:34.000000000 +0200
11265@@ -0,0 +1,706 @@
9fe267c2
PZ
11266+/*****************************************************************************
11267+ *
69ed15f0 11268+ * Copyright (C) 2013 Atmel Corporation
9fe267c2
PZ
11269+ * All rights reserved.
11270+ *
11271+ * Redistribution and use in source and binary forms, with or without
11272+ * modification, are permitted provided that the following conditions are met:
11273+ *
11274+ * * Redistributions of source code must retain the above copyright
11275+ * notice, this list of conditions and the following disclaimer.
11276+ *
11277+ * * Redistributions in binary form must reproduce the above copyright
11278+ * notice, this list of conditions and the following disclaimer in
11279+ * the documentation and/or other materials provided with the
11280+ * distribution.
11281+ *
11282+ * * Neither the name of the copyright holders nor the names of
11283+ * contributors may be used to endorse or promote products derived
11284+ * from this software without specific prior written permission.
11285+ *
11286+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
11287+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
11288+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
11289+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
11290+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
11291+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
11292+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
11293+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
11294+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
11295+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
11296+ * POSSIBILITY OF SUCH DAMAGE.
11297+ ****************************************************************************/
11298+
11299+
69ed15f0
JR
11300+#ifndef _AVR_ATA6286_H_INCLUDED
11301+#define _AVR_ATA6286_H_INCLUDED
9fe267c2
PZ
11302+
11303+
11304+#ifndef _AVR_IO_H_
11305+# error "Include <avr/io.h> instead of this file."
11306+#endif
11307+
11308+#ifndef _AVR_IOXXX_H_
69ed15f0 11309+# define _AVR_IOXXX_H_ "ioa6286.h"
9fe267c2
PZ
11310+#else
11311+# error "Attempt to include more than one <avr/ioXXX.h> file."
11312+#endif
11313+
11314+/* Registers and associated bit numbers */
11315+
9fe267c2
PZ
11316+#define PINB _SFR_IO8(0x03)
11317+#define PINB7 7
11318+#define PINB6 6
11319+#define PINB5 5
11320+#define PINB4 4
11321+#define PINB3 3
11322+#define PINB2 2
11323+#define PINB1 1
11324+#define PINB0 0
11325+
11326+#define DDRB _SFR_IO8(0x04)
11327+#define DDRB7 7
11328+#define DDRB6 6
11329+#define DDRB5 5
11330+#define DDRB4 4
11331+#define DDRB3 3
11332+#define DDRB2 2
11333+#define DDRB1 1
11334+#define DDRB0 0
11335+
11336+#define PORTB _SFR_IO8(0x05)
11337+#define PORTB7 7
11338+#define PORTB6 6
11339+#define PORTB5 5
11340+#define PORTB4 4
11341+#define PORTB3 3
11342+#define PORTB2 2
11343+#define PORTB1 1
11344+#define PORTB0 0
11345+
11346+#define PINC _SFR_IO8(0x06)
11347+#define PINC7 7
11348+#define PINC6 6
11349+#define PINC5 5
11350+#define PINC4 4
11351+#define PINC3 3
11352+#define PINC2 2
11353+#define PINC1 1
11354+#define PINC0 0
11355+
11356+#define DDRC _SFR_IO8(0x07)
11357+#define DDRC7 7
11358+#define DDRC6 6
11359+#define DDRC5 5
11360+#define DDRC4 4
11361+#define DDRC3 3
11362+#define DDRC2 2
11363+#define DDRC1 1
11364+#define DDRC0 0
11365+
11366+#define PORTC _SFR_IO8(0x08)
11367+#define PORTC7 7
11368+#define PORTC6 6
11369+#define PORTC5 5
11370+#define PORTC4 4
11371+#define PORTC3 3
11372+#define PORTC2 2
11373+#define PORTC1 1
11374+#define PORTC0 0
11375+
11376+#define PIND _SFR_IO8(0x09)
11377+#define PIND7 7
11378+#define PIND6 6
11379+#define PIND5 5
11380+#define PIND4 4
11381+#define PIND3 3
11382+#define PIND2 2
11383+#define PIND1 1
11384+#define PIND0 0
11385+
11386+#define DDRD _SFR_IO8(0x0A)
11387+#define DDRD7 7
11388+#define DDRD6 6
11389+#define DDRD5 5
11390+#define DDRD4 4
11391+#define DDRD3 3
11392+#define DDRD2 2
11393+#define DDRD1 1
11394+#define DDRD0 0
11395+
11396+#define PORTD _SFR_IO8(0x0B)
11397+#define PORTD7 7
11398+#define PORTD6 6
11399+#define PORTD5 5
11400+#define PORTD4 4
11401+#define PORTD3 3
11402+#define PORTD2 2
11403+#define PORTD1 1
11404+#define PORTD0 0
11405+
69ed15f0 11406+/* Reserved [0x0C..0x0E] */
9fe267c2 11407+
69ed15f0
JR
11408+#define CMCR _SFR_IO8(0x0F)
11409+#define CMM0 0
11410+#define CMM1 1
11411+#define SRCD 2
11412+#define CMONEN 3
11413+#define CCS 4
11414+#define ECINS 5
11415+#define CMCCE 7
9fe267c2 11416+
69ed15f0
JR
11417+#define CMSR _SFR_IO8(0x10)
11418+#define ECF 0
9fe267c2 11419+
69ed15f0
JR
11420+#define T2CRA _SFR_IO8(0x11)
11421+#define T2OTM 0
11422+#define T2CTM 1
11423+#define T2CR 2
11424+#define T2CRM 3
11425+#define T2ICS 5
11426+#define T2TS 6
11427+#define T2E 7
9fe267c2 11428+
69ed15f0
JR
11429+#define T2CRB _SFR_IO8(0x12)
11430+#define T2SCE 0
9fe267c2 11431+
69ed15f0 11432+/* Reserved [0x13] */
9fe267c2 11433+
69ed15f0
JR
11434+#define T3CRA _SFR_IO8(0x14)
11435+#define T3AC 0
11436+#define T3SCE 1
11437+#define T3CR 2
11438+#define T3TS 6
11439+#define T3E 7
9fe267c2 11440+
69ed15f0 11441+/* Reserved [0x15] */
9fe267c2 11442+
69ed15f0
JR
11443+#define VMCSR _SFR_IO8(0x16)
11444+#define VMEN 0
11445+#define VMLS0 1
11446+#define VMLS1 2
11447+#define VMLS2 3
11448+#define VMIM 4
11449+#define VMF 5
11450+#define BODPD 6
11451+#define BODLS 7
9fe267c2 11452+
69ed15f0
JR
11453+#define PCIFR _SFR_IO8(0x17)
11454+#define PCIF0 0
11455+#define PCIF1 1
11456+#define PCIF2 2
9fe267c2 11457+
69ed15f0
JR
11458+#define LFFR _SFR_IO8(0x18)
11459+#define LFWPF 0
11460+#define LFBF 1
11461+#define LFEDF 2
11462+#define LFRF 3
9fe267c2 11463+
69ed15f0
JR
11464+#define SSFR _SFR_IO8(0x19)
11465+#define MSENF 0
11466+#define MSENO 1
9fe267c2 11467+
69ed15f0
JR
11468+#define T10IFR _SFR_IO8(0x1A)
11469+#define T0F 0
11470+#define T1F 1
9fe267c2 11471+
69ed15f0
JR
11472+#define T2IFR _SFR_IO8(0x1B)
11473+#define T2OFF 0
11474+#define T2COF 1
11475+#define T2ICF 2
11476+#define T2RXF 3
11477+#define T2TXF 4
11478+#define T2TCF 5
11479+
11480+#define T3IFR _SFR_IO8(0x1C)
11481+#define T3OFF 0
11482+#define T3COAF 1
11483+#define T3COBF 2
11484+#define T3ICF 3
11485+
11486+#define EIFR _SFR_IO8(0x1D)
11487+#define INTF0 0
11488+#define INTF1 1
9fe267c2
PZ
11489+
11490+#define GPIOR0 _SFR_IO8(0x1E)
11491+
11492+#define EECR _SFR_IO8(0x1F)
11493+#define EERE 0
11494+#define EEWE 1
11495+#define EEMWE 2
11496+#define EERIE 3
69ed15f0
JR
11497+#define EEPM0 4
11498+#define EEPM1 5
9fe267c2
PZ
11499+
11500+#define EEDR _SFR_IO8(0x20)
11501+
11502+/* Combine EEARL and EEARH */
11503+#define EEAR _SFR_IO16(0x21)
11504+
11505+#define EEARL _SFR_IO8(0x21)
11506+#define EEARH _SFR_IO8(0x22)
11507+
69ed15f0
JR
11508+#define PCICR _SFR_IO8(0x23)
11509+#define PCIE0 0
11510+#define PCIE1 1
11511+#define PCIE2 2
9fe267c2 11512+
69ed15f0
JR
11513+#define EIMSK _SFR_IO8(0x24)
11514+#define INT0 0
11515+#define INT1 1
9fe267c2 11516+
69ed15f0 11517+/* Reserved [0x25..0x26] */
9fe267c2 11518+
69ed15f0 11519+#define SVCR _SFR_IO8(0x27)
9fe267c2 11520+
69ed15f0
JR
11521+#define SCR _SFR_IO8(0x28)
11522+#define SMS 0
11523+#define SEN0 1
11524+#define SEN1 2
11525+#define SMEN 3
9fe267c2 11526+
69ed15f0
JR
11527+#define SCCR _SFR_IO8(0x29)
11528+#define SRCC0 0
11529+#define SRCC1 1
11530+#define SCCS0 2
11531+#define SCCS1 3
11532+#define SCCS2 4
9fe267c2
PZ
11533+
11534+#define GPIOR1 _SFR_IO8(0x2A)
11535+
11536+#define GPIOR2 _SFR_IO8(0x2B)
11537+
11538+#define SPCR _SFR_IO8(0x2C)
11539+#define SPR0 0
11540+#define SPR1 1
11541+#define CPHA 2
11542+#define CPOL 3
11543+#define MSTR 4
11544+#define DORD 5
11545+#define SPE 6
11546+#define SPIE 7
11547+
11548+#define SPSR _SFR_IO8(0x2D)
11549+#define SPI2X 0
11550+#define WCOL 6
11551+#define SPIF 7
11552+
11553+#define SPDR _SFR_IO8(0x2E)
11554+
69ed15f0 11555+#define T2MDR _SFR_IO8(0x2F)
9fe267c2 11556+
69ed15f0 11557+#define LFRR _SFR_IO8(0x30)
9fe267c2 11558+
69ed15f0 11559+/* Reserved [0x31] */
9fe267c2 11560+
69ed15f0
JR
11561+#define LFCDR _SFR_IO8(0x32)
11562+#define LFDO 0
11563+#define LFRST 6
11564+#define LFSCE 7
9fe267c2
PZ
11565+
11566+#define SMCR _SFR_IO8(0x33)
11567+#define SE 0
11568+#define SM0 1
11569+#define SM1 2
11570+#define SM2 3
11571+
11572+#define MCUSR _SFR_IO8(0x34)
9fe267c2
PZ
11573+#define PORF 0
11574+#define EXTRF 1
11575+#define BORF 2
11576+#define WDRF 3
69ed15f0 11577+#define TSRF 5
9fe267c2
PZ
11578+
11579+#define MCUCR _SFR_IO8(0x35)
9fe267c2
PZ
11580+#define IVCE 0
11581+#define IVSEL 1
11582+#define PUD 4
9fe267c2 11583+
69ed15f0 11584+#define LFRB _SFR_IO8(0x36)
9fe267c2
PZ
11585+
11586+#define SPMCSR _SFR_IO8(0x37)
69ed15f0 11587+#define SELFPRGEN 0
9fe267c2
PZ
11588+#define PGERS 1
11589+#define PGWRT 2
11590+#define BLBSET 3
11591+#define RWWSRE 4
11592+#define RWWSB 6
11593+#define SPMIE 7
11594+
69ed15f0
JR
11595+#define T1CR _SFR_IO8(0x38)
11596+#define T1PS0 0
11597+#define T1PS1 1
11598+#define T1PS2 2
11599+#define T1CS0 3
11600+#define T1CS1 4
11601+#define T1CS2 5
11602+#define T1IE 7
11603+
11604+#define T0CR _SFR_IO8(0x39)
11605+#define T0PAS0 0
11606+#define T0PAS1 1
11607+#define T0PAS2 2
11608+#define T0IE 3
11609+#define T0PR 4
11610+#define T0PBS0 5
11611+#define T0PBS1 6
11612+#define T0PBS2 7
11613+
11614+/* Reserved [0x3A] */
11615+
11616+#define CMIMR _SFR_IO8(0x3B)
11617+#define ECIE 0
11618+
11619+#define CLKPR _SFR_IO8(0x3C)
11620+#define CLKPS0 0
11621+#define CLKPS1 1
11622+#define CLKPS2 2
11623+#define CLTPS0 3
11624+#define CLTPS1 4
11625+#define CLTPS2 5
11626+#define CLPCE 7
9fe267c2
PZ
11627+
11628+/* SP [0x3D..0x3E] */
11629+
11630+/* SREG [0x3F] */
11631+
11632+#define WDTCR _SFR_MEM8(0x60)
69ed15f0
JR
11633+#define WDPS0 0
11634+#define WDPS1 1
11635+#define WDPS2 2
9fe267c2
PZ
11636+#define WDE 3
11637+#define WDCE 4
11638+
69ed15f0
JR
11639+#define SIMSK _SFR_MEM8(0x61)
11640+#define MSIE 0
9fe267c2
PZ
11641+
11642+/* Reserved [0x62..0x63] */
11643+
69ed15f0
JR
11644+#define TSCR _SFR_MEM8(0x64)
11645+#define TSSD 0
9fe267c2 11646+
69ed15f0 11647+#define SRCCAL _SFR_MEM8(0x65)
9fe267c2 11648+
69ed15f0 11649+#define FRCCAL _SFR_MEM8(0x66)
9fe267c2 11650+
69ed15f0
JR
11651+#define MSVCAL _SFR_MEM8(0x67)
11652+
11653+/* Reserved [0x68] */
9fe267c2
PZ
11654+
11655+#define EICRA _SFR_MEM8(0x69)
11656+#define ISC00 0
11657+#define ISC01 1
69ed15f0
JR
11658+#define ISC10 2
11659+#define ISC11 3
9fe267c2 11660+
69ed15f0 11661+#define PCMSK0 _SFR_MEM8(0x6A)
9fe267c2
PZ
11662+#define PCINT0 0
11663+#define PCINT1 1
11664+#define PCINT2 2
11665+#define PCINT3 3
11666+#define PCINT4 4
11667+#define PCINT5 5
11668+#define PCINT6 6
11669+#define PCINT7 7
11670+
69ed15f0 11671+#define PCMSK1 _SFR_MEM8(0x6B)
9fe267c2
PZ
11672+#define PCINT8 0
11673+#define PCINT9 1
11674+#define PCINT10 2
9fe267c2 11675+
69ed15f0
JR
11676+#define PCMSK2 _SFR_MEM8(0x6C)
11677+#define PCINT16 0
11678+#define PCINT17 1
11679+#define PCINT18 2
11680+#define PCINT19 3
11681+#define PCINT20 4
11682+#define PCINT21 5
11683+#define PCINT22 6
11684+#define PCINT23 7
9fe267c2 11685+
69ed15f0 11686+/* Reserved [0x6D] */
9fe267c2 11687+
69ed15f0 11688+#define T2ICRL _SFR_MEM8(0x6E)
9fe267c2 11689+
69ed15f0 11690+#define T2ICR _SFR_MEM8(0x6F)
9fe267c2 11691+
69ed15f0
JR
11692+/* Combine T2CORL and T2CORH */
11693+#define T2COR _SFR_MEM16(0x70)
9fe267c2 11694+
69ed15f0
JR
11695+#define T2CORL _SFR_MEM8(0x70)
11696+#define T2CORH _SFR_MEM8(0x71)
9fe267c2 11697+
69ed15f0
JR
11698+#define T2MRA _SFR_MEM8(0x72)
11699+#define T2CS0 0
11700+#define T2CS1 1
11701+#define T2CS2 2
11702+#define T2CE0 3
11703+#define T2CE1 4
11704+#define T2CNC 5
11705+#define T2TP0 6
11706+#define T2TP1 7
9fe267c2 11707+
69ed15f0
JR
11708+#define T2MRB _SFR_MEM8(0x73)
11709+#define T2M0 0
11710+#define T2M1 1
11711+#define T2M2 2
11712+#define T2M3 3
11713+#define T2TOP 4
11714+#define T2CPOL 6
11715+#define T2SSIE 7
9fe267c2 11716+
69ed15f0
JR
11717+#define T2IMR _SFR_MEM8(0x74)
11718+#define T2OIM 0
11719+#define T2CIM 1
11720+#define T2CPIM 2
11721+#define T2RXIM 3
11722+#define T2TXIM 4
11723+#define T2TCIM 5
9fe267c2 11724+
69ed15f0 11725+/* Reserved [0x75] */
9fe267c2 11726+
69ed15f0
JR
11727+/* Combine T3ICRL and T3ICRH */
11728+#define T3ICR _SFR_MEM16(0x76)
9fe267c2 11729+
69ed15f0
JR
11730+#define T3ICRL _SFR_MEM8(0x76)
11731+#define T3ICRH _SFR_MEM8(0x77)
9fe267c2 11732+
69ed15f0
JR
11733+/* Combine T3CORAL and T3CORAH */
11734+#define T3CORA _SFR_MEM16(0x78)
9fe267c2 11735+
69ed15f0
JR
11736+#define T3CORAL _SFR_MEM8(0x78)
11737+#define T3CORAH _SFR_MEM8(0x79)
9fe267c2 11738+
69ed15f0
JR
11739+/* Combine T3CORBL and T3CORBH */
11740+#define T3CORB _SFR_MEM16(0x7A)
9fe267c2 11741+
69ed15f0
JR
11742+#define T3CORBL _SFR_MEM8(0x7A)
11743+#define T3CORBH _SFR_MEM8(0x7B)
9fe267c2 11744+
69ed15f0
JR
11745+#define T3MRA _SFR_MEM8(0x7C)
11746+#define T3CS0 0
11747+#define T3CS1 1
11748+#define T3CS2 2
11749+#define T3CE0 3
11750+#define T3CE1 4
11751+#define T3CNC 5
11752+#define T3ICS0 6
11753+#define T3ICS1 7
9fe267c2 11754+
69ed15f0
JR
11755+#define T3MRB _SFR_MEM8(0x7D)
11756+#define T3M0 0
11757+#define T3M1 1
11758+#define T3M2 2
11759+#define T3TOP 4
9fe267c2 11760+
69ed15f0
JR
11761+#define T3CRB _SFR_MEM8(0x7E)
11762+#define T3CTMA 0
11763+#define T3SAMA 1
11764+#define T3CRMA 2
11765+#define T3CTMB 3
11766+#define T3SAMB 4
11767+#define T3CRMB 5
11768+#define T3CPRM 6
9fe267c2 11769+
69ed15f0
JR
11770+#define T3IMR _SFR_MEM8(0x7F)
11771+#define T3OIM 0
11772+#define T3CAIM 1
11773+#define T3CBIM 2
11774+#define T3CPIM 3
9fe267c2 11775+
69ed15f0 11776+/* Reserved [0x80] */
9fe267c2 11777+
69ed15f0
JR
11778+#define LFIMR _SFR_MEM8(0x81)
11779+#define LFWIM 0
11780+#define LFBIM 1
11781+#define LFEIM 2
9fe267c2 11782+
69ed15f0
JR
11783+#define LFRCR _SFR_MEM8(0x82)
11784+#define LFEN 0
11785+#define LFBM 1
11786+#define LFWM0 2
11787+#define LFWM1 3
11788+#define LFRSS 4
11789+#define LFCS0 5
11790+#define LFCS1 6
11791+#define LFCS2 7
9fe267c2 11792+
69ed15f0 11793+#define LFHCR _SFR_MEM8(0x83)
9fe267c2 11794+
69ed15f0
JR
11795+/* Combine LFIDCL and LFIDCH */
11796+#define LFIDC _SFR_MEM16(0x84)
9fe267c2 11797+
69ed15f0
JR
11798+#define LFIDCL _SFR_MEM8(0x84)
11799+#define LFIDCH _SFR_MEM8(0x85)
9fe267c2 11800+
69ed15f0
JR
11801+/* Combine LFCALL and LFCALH */
11802+#define LFCAL _SFR_MEM16(0x86)
9fe267c2 11803+
69ed15f0
JR
11804+#define LFCALL _SFR_MEM8(0x86)
11805+#define LFCALH _SFR_MEM8(0x87)
9fe267c2
PZ
11806+
11807+
11808+
11809+/* Interrupt vectors */
11810+/* Vector 0 is the reset vector */
11811+/* External Interrupt Request 0 */
11812+#define INT0_vect _VECTOR(1)
11813+#define INT0_vect_num 1
11814+
69ed15f0
JR
11815+/* External Interrupt Request 1 */
11816+#define INT1_vect _VECTOR(2)
11817+#define INT1_vect_num 2
11818+
9fe267c2 11819+/* Pin Change Interrupt Request 0 */
69ed15f0
JR
11820+#define PCINT0_vect _VECTOR(3)
11821+#define PCINT0_vect_num 3
9fe267c2
PZ
11822+
11823+/* Pin Change Interrupt Request 1 */
69ed15f0
JR
11824+#define PCINT1_vect _VECTOR(4)
11825+#define PCINT1_vect_num 4
9fe267c2 11826+
69ed15f0
JR
11827+/* Pin Change Interrupt Request 2 */
11828+#define PCINT2_vect _VECTOR(5)
11829+#define PCINT2_vect_num 5
9fe267c2 11830+
69ed15f0
JR
11831+/* Voltage Monitor Interrupt */
11832+#define INTVM_vect _VECTOR(6)
11833+#define INTVM_vect_num 6
9fe267c2 11834+
69ed15f0
JR
11835+/* Sensor Interface Interrupt */
11836+#define SENINT_vect _VECTOR(7)
11837+#define SENINT_vect_num 7
9fe267c2 11838+
69ed15f0
JR
11839+/* Timer0 Interval Interrupt */
11840+#define INTT0_vect _VECTOR(8)
11841+#define INTT0_vect_num 8
9fe267c2 11842+
69ed15f0
JR
11843+/* LF-Receiver Wake-up Interrupt */
11844+#define LFWP_vect _VECTOR(9)
11845+#define LFWP_vect_num 9
9fe267c2 11846+
69ed15f0
JR
11847+/* Timer/Counter3 Capture Event */
11848+#define T3CAP_vect _VECTOR(10)
11849+#define T3CAP_vect_num 10
9fe267c2 11850+
69ed15f0
JR
11851+/* Timer/Counter3 Compare Match A */
11852+#define T3COMA_vect _VECTOR(11)
11853+#define T3COMA_vect_num 11
9fe267c2 11854+
69ed15f0
JR
11855+/* Timer/Counter3 Compare Match B */
11856+#define T3COMB_vect _VECTOR(12)
11857+#define T3COMB_vect_num 12
11858+
11859+/* Timer/Counter3 Overflow */
11860+#define T3OVF_vect _VECTOR(13)
11861+#define T3OVF_vect_num 13
11862+
11863+/* Timer/Counter2 Capture Event */
11864+#define T2CAP_vect _VECTOR(14)
11865+#define T2CAP_vect_num 14
11866+
11867+/* Timer/Counter2 Compare Match */
11868+#define T2COM_vect _VECTOR(15)
11869+#define T2COM_vect_num 15
11870+
11871+/* Timer/Counter2 Overflow */
11872+#define T2OVF_vect _VECTOR(16)
11873+#define T2OVF_vect_num 16
9fe267c2
PZ
11874+
11875+/* SPI Serial Transfer Complete */
69ed15f0
JR
11876+#define SPISTC_vect _VECTOR(17)
11877+#define SPISTC_vect_num 17
9fe267c2 11878+
69ed15f0
JR
11879+/* LF Receive Buffer Interrupt */
11880+#define LFRXB_vect _VECTOR(18)
11881+#define LFRXB_vect_num 18
9fe267c2 11882+
69ed15f0
JR
11883+/* Timer1 Interval Interrupt */
11884+#define INTT1_vect _VECTOR(19)
11885+#define INTT1_vect_num 19
9fe267c2 11886+
69ed15f0
JR
11887+/* Timer2 SSI Receive Buffer Interrupt */
11888+#define T2RXB_vect _VECTOR(20)
11889+#define T2RXB_vect_num 20
9fe267c2 11890+
69ed15f0
JR
11891+/* Timer2 SSI Transmit Buffer Interrupt */
11892+#define T2TXB_vect _VECTOR(21)
11893+#define T2TXB_vect_num 21
9fe267c2 11894+
69ed15f0
JR
11895+/* Timer2 SSI Transmit Complete Interrupt */
11896+#define T2TXC_vect _VECTOR(22)
11897+#define T2TXC_vect_num 22
9fe267c2 11898+
69ed15f0
JR
11899+/* LF-Receiver End of Burst Interrupt */
11900+#define LFREOB_vect _VECTOR(23)
11901+#define LFREOB_vect_num 23
9fe267c2 11902+
69ed15f0
JR
11903+/* External Input Clock break down Interrupt */
11904+#define EXCM_vect _VECTOR(24)
11905+#define EXCM_vect_num 24
9fe267c2 11906+
69ed15f0
JR
11907+/* EEPROM Ready Interrupt */
11908+#define EEREADY_vect _VECTOR(25)
11909+#define EEREADY_vect_num 25
9fe267c2 11910+
69ed15f0
JR
11911+/* Store Program Memory Ready */
11912+#define SPM_RDY_vect _VECTOR(26)
11913+#define SPM_RDY_vect_num 26
9fe267c2 11914+
69ed15f0 11915+#define _VECTORS_SIZE 54
9fe267c2
PZ
11916+
11917+
11918+/* Constants */
11919+
69ed15f0
JR
11920+#define SPM_PAGESIZE 64
11921+#define FLASHSTART 0x0000
11922+#define FLASHEND 0x1FFF
9fe267c2 11923+#define RAMSTART 0x0100
69ed15f0
JR
11924+#define RAMSIZE 512
11925+#define RAMEND 0x02FF
9fe267c2 11926+#define E2START 0
69ed15f0 11927+#define E2SIZE 320
9fe267c2 11928+#define E2PAGESIZE 4
69ed15f0 11929+#define E2END 0x013F
9fe267c2
PZ
11930+#define XRAMEND RAMEND
11931+
11932+
11933+/* Fuses */
11934+
69ed15f0 11935+#define FUSE_MEMORY_SIZE 2
9fe267c2
PZ
11936+
11937+/* Low Fuse Byte */
69ed15f0
JR
11938+#define FUSE_TSRDI (unsigned char)~_BV(0)
11939+#define FUSE_BODEN (unsigned char)~_BV(1)
11940+#define FUSE_FRCFS (unsigned char)~_BV(2)
11941+#define FUSE_WDRCON (unsigned char)~_BV(3)
11942+#define FUSE_SUT_CKSEL0 (unsigned char)~_BV(4)
11943+#define FUSE_SUT_CKSEL1 (unsigned char)~_BV(5)
9fe267c2
PZ
11944+#define FUSE_CKOUT (unsigned char)~_BV(6)
11945+#define FUSE_CKDIV8 (unsigned char)~_BV(7)
11946+
11947+/* High Fuse Byte */
11948+#define FUSE_BOOTRST (unsigned char)~_BV(0)
11949+#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
11950+#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
11951+#define FUSE_EESAVE (unsigned char)~_BV(3)
11952+#define FUSE_WDTON (unsigned char)~_BV(4)
11953+#define FUSE_SPIEN (unsigned char)~_BV(5)
69ed15f0
JR
11954+#define FUSE_DWEN (unsigned char)~_BV(6)
11955+#define FUSE_EELOCK (unsigned char)~_BV(7)
9fe267c2
PZ
11956+
11957+
11958+/* Lock Bits */
11959+#define __LOCK_BITS_EXIST
11960+#define __BOOT_LOCK_BITS_0_EXIST
11961+#define __BOOT_LOCK_BITS_1_EXIST
11962+
11963+
11964+/* Signature */
11965+#define SIGNATURE_0 0x1E
69ed15f0
JR
11966+#define SIGNATURE_1 0x93
11967+#define SIGNATURE_2 0x82
9fe267c2 11968+
9fe267c2 11969+
69ed15f0 11970+#endif /* #ifdef _AVR_ATA6286_H_INCLUDED */
9fe267c2 11971+
69ed15f0
JR
11972diff -urN avr-libc-1.8.0.orig/include/avr/io.h avr-libc-1.8.0/include/avr/io.h
11973--- avr-libc-1.8.0.orig/include/avr/io.h 2013-06-12 12:22:36.138837799 +0200
11974+++ avr-libc-1.8.0/include/avr/io.h 2013-06-12 12:21:34.000000000 +0200
11975@@ -1,5 +1,4 @@
11976-/* Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch
11977- Copyright (c) 2007 Eric B. Weddington
11978+/* Copyright (c) 20012 Atmel Corporation
11979 All rights reserved.
11980
11981 Redistribution and use in source and binary forms, with or without
11982@@ -29,7 +28,6 @@
11983 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
11984 POSSIBILITY OF SUCH DAMAGE. */
11985
11986-/* $Id: io.h 2211 2011-02-14 14:04:25Z aboyapati $ */
11987
11988 /** \file */
11989 /** \defgroup avr_io <avr/io.h>: AVR device-specific IO definitions
11990@@ -98,485 +96,450 @@
11991
11992 #include <avr/sfr_defs.h>
11993
11994-#if defined (__AVR_AT94K__)
11995-# include <avr/ioat94k.h>
11996-#elif defined (__AVR_AT43USB320__)
11997-# include <avr/io43u32x.h>
11998-#elif defined (__AVR_AT43USB355__)
11999-# include <avr/io43u35x.h>
12000-#elif defined (__AVR_AT76C711__)
12001-# include <avr/io76c711.h>
12002-#elif defined (__AVR_AT86RF401__)
12003-# include <avr/io86r401.h>
12004-#elif defined (__AVR_AT90PWM1__)
12005-# include <avr/io90pwm1.h>
12006-#elif defined (__AVR_AT90PWM2__)
12007-# include <avr/io90pwmx.h>
12008-#elif defined (__AVR_AT90PWM2B__)
12009-# include <avr/io90pwm2b.h>
12010-#elif defined (__AVR_AT90PWM3__)
12011-# include <avr/io90pwmx.h>
12012-#elif defined (__AVR_AT90PWM3B__)
12013-# include <avr/io90pwm3b.h>
12014-#elif defined (__AVR_AT90PWM216__)
12015-# include <avr/io90pwm216.h>
12016-#elif defined (__AVR_AT90PWM316__)
12017-# include <avr/io90pwm316.h>
12018-#elif defined (__AVR_AT90PWM161__)
12019-# include <avr/io90pwm161.h>
12020-#elif defined (__AVR_AT90PWM81__)
12021-# include <avr/io90pwm81.h>
12022-#elif defined (__AVR_ATmega8U2__)
12023-# include <avr/iom8u2.h>
12024-#elif defined (__AVR_ATmega16M1__)
12025-# include <avr/iom16m1.h>
12026-#elif defined (__AVR_ATmega16U2__)
12027-# include <avr/iom16u2.h>
12028-#elif defined (__AVR_ATmega16U4__)
12029-# include <avr/iom16u4.h>
12030-#elif defined (__AVR_ATmega32C1__)
12031-# include <avr/iom32c1.h>
12032-#elif defined (__AVR_ATmega32M1__)
12033-# include <avr/iom32m1.h>
12034-#elif defined (__AVR_ATmega32U2__)
12035-# include <avr/iom32u2.h>
12036-#elif defined (__AVR_ATmega32U4__)
12037-# include <avr/iom32u4.h>
12038-#elif defined (__AVR_ATmega32U6__)
12039-# include <avr/iom32u6.h>
12040-#elif defined (__AVR_ATmega64C1__)
12041-# include <avr/iom64c1.h>
12042-#elif defined (__AVR_ATmega64M1__)
12043-# include <avr/iom64m1.h>
12044-#elif defined (__AVR_ATmega128__)
12045-# include <avr/iom128.h>
12046-#elif defined (__AVR_ATmega128A__)
12047-# include <avr/iom128a.h>
12048-#elif defined (__AVR_ATmega1280__)
12049-# include <avr/iom1280.h>
12050-#elif defined (__AVR_ATmega1281__)
12051-# include <avr/iom1281.h>
12052-#elif defined (__AVR_ATmega1284__)
12053-# include <avr/iom1284.h>
12054-#elif defined (__AVR_ATmega1284P__)
12055-# include <avr/iom1284p.h>
12056-#elif defined (__AVR_ATmega128RFA1__)
12057-# include <avr/iom128rfa1.h>
12058-#elif defined (__AVR_ATmega128RFR2__)
12059-# include <avr/iom128rfr2.h>
12060-#elif defined (__AVR_ATmega1284RFR2__)
12061-# include <avr/iom1284rfr2.h>
12062-#elif defined (__AVR_ATmega256RFR2__)
12063-# include <avr/iom256rfr2.h>
12064-#elif defined (__AVR_ATmega2564RFR2__)
12065-# include <avr/iom2564rfr2.h>
12066-#elif defined (__AVR_ATmega2560__)
12067-# include <avr/iom2560.h>
12068-#elif defined (__AVR_ATmega2561__)
12069-# include <avr/iom2561.h>
12070-#elif defined (__AVR_AT90CAN32__)
12071-# include <avr/iocan32.h>
12072-#elif defined (__AVR_AT90CAN64__)
12073-# include <avr/iocan64.h>
12074-#elif defined (__AVR_AT90CAN128__)
12075-# include <avr/iocan128.h>
12076-#elif defined (__AVR_AT90USB82__)
12077-# include <avr/iousb82.h>
12078-#elif defined (__AVR_AT90USB162__)
12079-# include <avr/iousb162.h>
12080-#elif defined (__AVR_AT90USB646__)
12081-# include <avr/iousb646.h>
12082-#elif defined (__AVR_AT90USB647__)
12083-# include <avr/iousb647.h>
12084-#elif defined (__AVR_AT90USB1286__)
12085-# include <avr/iousb1286.h>
12086-#elif defined (__AVR_AT90USB1287__)
12087-# include <avr/iousb1287.h>
12088-#elif defined (__AVR_ATmega64RFR2__)
12089-# include <avr/iom64rfr2.h>
12090-#elif defined (__AVR_ATmega644RFR2__)
12091-# include <avr/iom644rfr2.h>
12092-#elif defined (__AVR_ATmega64__)
12093-# include <avr/iom64.h>
12094-#elif defined (__AVR_ATmega64A__)
12095-# include <avr/iom64a.h>
12096-#elif defined (__AVR_ATmega640__)
12097-# include <avr/iom640.h>
12098-#elif defined (__AVR_ATmega644__)
12099-# include <avr/iom644.h>
12100-#elif (defined __AVR_ATmega644A__)
12101-#include <avr/iom644a.h>
12102-#elif defined (__AVR_ATmega644P__)
12103-# include <avr/iom644p.h>
12104-#elif defined (__AVR_ATmega644PA__)
12105-# include <avr/iom644pa.h>
12106-#elif defined (__AVR_ATmega645__)
12107-# include <avr/iom645.h>
12108-#elif (defined __AVR_ATmega645A__)
12109-#include <avr/iom645a.h>
12110-#elif (defined __AVR_ATmega645P__)
12111-#include <avr/iom645p.h>
12112-#elif defined (__AVR_ATmega6450__)
12113-# include <avr/iom6450.h>
12114-#elif (defined __AVR_ATmega6450A__)
12115-#include <avr/iom6450a.h>
12116-#elif (defined __AVR_ATmega6450P__)
12117-#include <avr/iom6450p.h>
12118-#elif defined (__AVR_ATmega649__)
12119-# include <avr/iom649.h>
12120-#elif (defined __AVR_ATmega649A__)
12121-#include <avr/iom649a.h>
12122-#elif defined (__AVR_ATmega6490__)
12123-# include <avr/iom6490.h>
12124-#elif (defined __AVR_ATmega6490A__)
12125-#include <avr/iom6490a.h>
12126-#elif (defined __AVR_ATmega6490P__)
12127-#include <avr/iom6490p.h>
12128-#elif defined (__AVR_ATmega649P__)
12129-# include <avr/iom649p.h>
12130-#elif defined (__AVR_ATmega64HVE__)
12131-# include <avr/iom64hve.h>
12132-#elif defined (__AVR_ATmega64HVE2__)
12133-# include <avr/iom64hve2.h>
12134-#elif defined (__AVR_ATmega103__)
12135-# include <avr/iom103.h>
12136-#elif defined (__AVR_ATmega32__)
12137-# include <avr/iom32.h>
12138-#elif defined (__AVR_ATmega32A__)
12139-# include <avr/iom32a.h>
12140-#elif defined (__AVR_ATmega323__)
12141-# include <avr/iom323.h>
12142-#elif defined (__AVR_ATmega324P__)
12143-# include <avr/iom324p.h>
12144+#if (defined __AVR_ATmega26HVG__)
12145+#include <avr/iom26hvg.h>
12146+#elif (defined __AVR_ATmega48HVF__)
12147+#include <avr/iom48hvf.h>
12148+#elif (defined __AVR_AT90PWM161__)
12149+#include <avr/io90pwm161.h>
12150+#elif (defined __AVR_ATmega256RFA2__)
12151+#include <avr/iom256rfa2.h>
12152+#elif (defined __AVR_ATmega128RFA2__)
12153+#include <avr/iom128rfa2.h>
12154+#elif (defined __AVR_ATmega64RFA2__)
12155+#include <avr/iom64rfa2.h>
12156+#elif (defined __AVR_ATmega256RFR2__)
12157+#include <avr/iom256rfr2.h>
12158+#elif (defined __AVR_ATmega128RFR2__)
12159+#include <avr/iom128rfr2.h>
12160+#elif (defined __AVR_ATmega64RFR2__)
12161+#include <avr/iom64rfr2.h>
12162+#elif (defined __AVR_ATmega2564RFR2__)
12163+#include <avr/iom2564rfr2.h>
12164+#elif (defined __AVR_ATmega1284RFR2__)
12165+#include <avr/iom1284rfr2.h>
12166+#elif (defined __AVR_ATmega644RFR2__)
12167+#include <avr/iom644rfr2.h>
12168+#elif (defined __AVR_ATmega32C1__)
12169+#include <avr/iom32c1.h>
12170+#elif (defined __AVR_ATmega64C1__)
12171+#include <avr/iom64c1.h>
12172+#elif (defined __AVR_ATA5831__)
12173+#include <avr/ioa5831.h>
12174+#elif (defined __AVR_ATA5832__)
12175+#include <avr/ioa5832.h>
12176+#elif (defined __AVR_ATA5833__)
12177+#include <avr/ioa5833.h>
12178+#elif (defined __AVR_ATA5272__)
12179+#include <avr/ioa5272.h>
12180+#elif (defined __AVR_ATA5505__)
12181+#include <avr/ioa5505.h>
12182+#elif (defined __AVR_ATA5790__)
12183+#include <avr/ioa5790.h>
12184+#elif (defined __AVR_ATA5795__)
12185+#include <avr/ioa5795.h>
12186+#elif (defined __AVR_ATA5790N__)
12187+#include <avr/ioa5790n.h>
12188+#elif (defined __AVR_ATA6285__)
12189+#include <avr/ioa6285.h>
12190+#elif (defined __AVR_ATA6286__)
12191+#include <avr/ioa6286.h>
12192+#elif (defined __AVR_AT90CAN128__)
12193+#include <avr/iocan128.h>
12194+#elif (defined __AVR_AT90CAN32__)
12195+#include <avr/iocan32.h>
12196+#elif (defined __AVR_AT90CAN64__)
12197+#include <avr/iocan64.h>
12198+#elif (defined __AVR_AT90PWM1__)
12199+#include <avr/io90pwm1.h>
12200+#elif (defined __AVR_AT90PWM216__)
12201+#include <avr/io90pwm216.h>
12202+#elif (defined __AVR_AT90PWM2B__)
12203+#include <avr/io90pwm2b.h>
12204+#elif (defined __AVR_AT90PWM316__)
12205+#include <avr/io90pwm316.h>
12206+#elif (defined __AVR_AT90PWM3B__)
12207+#include <avr/io90pwm3b.h>
12208+#elif (defined __AVR_AT90PWM81__)
12209+#include <avr/io90pwm81.h>
12210+#elif (defined __AVR_AT90USB1286__)
12211+#include <avr/iousb1286.h>
12212+#elif (defined __AVR_AT90USB1287__)
12213+#include <avr/iousb1287.h>
12214+#elif (defined __AVR_AT90USB162__)
12215+#include <avr/iousb162.h>
12216+#elif (defined __AVR_AT90USB646__)
12217+#include <avr/iousb646.h>
12218+#elif (defined __AVR_AT90USB647__)
12219+#include <avr/iousb647.h>
12220+#elif (defined __AVR_AT90USB82__)
12221+#include <avr/iousb82.h>
12222+#elif (defined __AVR_ATmega128__)
12223+#include <avr/iom128.h>
12224+#elif (defined __AVR_ATmega1280__)
12225+#include <avr/iom1280.h>
12226+#elif (defined __AVR_ATmega1281__)
12227+#include <avr/iom1281.h>
12228+#elif (defined __AVR_ATmega1284__)
12229+#include <avr/iom1284.h>
12230+#elif (defined __AVR_ATmega1284P__)
12231+#include <avr/iom1284p.h>
12232+#elif (defined __AVR_ATmega128A__)
12233+#include <avr/iom128a.h>
12234+#elif (defined __AVR_ATmega128RFA1__)
12235+#include <avr/iom128rfa1.h>
12236+#elif (defined __AVR_ATmega16__)
12237+#include <avr/iom16.h>
12238+#elif (defined __AVR_ATmega162__)
12239+#include <avr/iom162.h>
12240+#elif (defined __AVR_ATmega164A__)
12241+#include <avr/iom164a.h>
12242+#elif (defined __AVR_ATmega164P__)
12243+#include <avr/iom164p.h>
12244+#elif (defined __AVR_ATmega164PA__)
12245+#include <avr/iom164pa.h>
12246+#elif (defined __AVR_ATmega165A__)
12247+#include <avr/iom165a.h>
12248+#elif (defined __AVR_ATmega165P__)
12249+#include <avr/iom165p.h>
12250+#elif (defined __AVR_ATmega165PA__)
12251+#include <avr/iom165pa.h>
12252+#elif (defined __AVR_ATmega168__)
12253+#include <avr/iom168.h>
12254+#elif (defined __AVR_ATmega168A__)
12255+#include <avr/iom168a.h>
12256+#elif (defined __AVR_ATmega168P__)
12257+#include <avr/iom168p.h>
12258+#elif (defined __AVR_ATmega168PA__)
12259+#include <avr/iom168pa.h>
12260+#elif (defined __AVR_ATmega169A__)
12261+#include <avr/iom169a.h>
12262+#elif (defined __AVR_ATmega169P__)
12263+#include <avr/iom169p.h>
12264+#elif (defined __AVR_ATmega169PA__)
12265+#include <avr/iom169pa.h>
12266+#elif (defined __AVR_ATmega16A__)
12267+#include <avr/iom16a.h>
12268+#elif (defined __AVR_ATmega16HVB__)
12269+#include <avr/iom16hvb.h>
12270+#elif (defined __AVR_ATmega16HVBrevB__)
12271+#include <avr/iom16hvbrevb.h>
12272+#elif (defined __AVR_ATmega16HVA__)
12273+#include <avr/iom16hva.h>
12274+#elif (defined __AVR_ATmega16M1__)
12275+#include <avr/iom16m1.h>
12276+#elif (defined __AVR_ATmega16U2__)
12277+#include <avr/iom16u2.h>
12278+#elif (defined __AVR_ATmega16U4__)
12279+#include <avr/iom16u4.h>
12280+#elif (defined __AVR_ATmega2560__)
12281+#include <avr/iom2560.h>
12282+#elif (defined __AVR_ATmega2561__)
12283+#include <avr/iom2561.h>
12284+#elif (defined __AVR_ATmega32__)
12285+#include <avr/iom32.h>
12286 #elif (defined __AVR_ATmega324A__)
12287 #include <avr/iom324a.h>
12288-#elif defined (__AVR_ATmega324PA__)
12289-# include <avr/iom324pa.h>
12290-#elif defined (__AVR_ATmega325__)
12291-# include <avr/iom325.h>
12292-#elif (defined __AVR_ATmega325A__)
12293-#include <avr/iom325a.h>
12294-#elif defined (__AVR_ATmega325P__)
12295-# include <avr/iom325p.h>
12296-#elif defined (__AVR_ATmega325PA__)
12297-# include <avr/iom325pa.h>
12298-#elif defined (__AVR_ATmega3250__)
12299-# include <avr/iom3250.h>
12300+#elif (defined __AVR_ATmega324P__)
12301+#include <avr/iom324p.h>
12302+#elif (defined __AVR_ATmega324PA__)
12303+#include <avr/iom324pa.h>
12304+#elif (defined __AVR_ATmega325__)
12305+#include <avr/iom325.h>
12306+#elif (defined __AVR_ATmega3250__)
12307+#include <avr/iom3250.h>
12308 #elif (defined __AVR_ATmega3250A__)
12309 #include <avr/iom3250a.h>
12310-#elif defined (__AVR_ATmega3250P__)
12311-# include <avr/iom3250p.h>
12312-#elif defined (__AVR_ATmega3250PA__)
12313-# include <avr/iom3250pa.h>
12314-#elif defined (__AVR_ATmega328P__)
12315-# include <avr/iom328p.h>
12316+#elif (defined __AVR_ATmega3250P__)
12317+#include <avr/iom3250p.h>
12318+#elif (defined __AVR_ATmega3250PA__)
12319+#include <avr/iom3250pa.h>
12320+#elif (defined __AVR_ATmega325A__)
12321+#include <avr/iom325a.h>
12322+#elif (defined __AVR_ATmega325P__)
12323+#include <avr/iom325p.h>
12324+#elif (defined __AVR_ATmega325PA__)
12325+#include <avr/iom325pa.h>
12326 #elif (defined __AVR_ATmega328__)
12327 #include <avr/iom328.h>
12328-#elif defined (__AVR_ATmega329__)
12329-# include <avr/iom329.h>
12330+#elif (defined __AVR_ATmega328P__)
12331+#include <avr/iom328p.h>
12332+#elif (defined __AVR_ATmega329__)
12333+#include <avr/iom329.h>
12334+#elif (defined __AVR_ATmega3290__)
12335+#include <avr/iom3290.h>
12336+#elif (defined __AVR_ATmega3290A__)
12337+#include <avr/iom3290a.h>
12338+#elif (defined __AVR_ATmega3290P__)
12339+#include <avr/iom3290.h>
12340+#elif (defined __AVR_ATmega3290PA__)
12341+#include <avr/iom3290pa.h>
12342 #elif (defined __AVR_ATmega329A__)
12343 #include <avr/iom329a.h>
12344-#elif defined (__AVR_ATmega329P__)
12345-# include <avr/iom329p.h>
12346+#elif (defined __AVR_ATmega329P__)
12347+#include <avr/iom329p.h>
12348 #elif (defined __AVR_ATmega329PA__)
12349 #include <avr/iom329pa.h>
12350-#elif (defined __AVR_ATmega3290PA__)
12351-#include <avr/iom3290pa.h>
12352-#elif defined (__AVR_ATmega3290__)
12353-# include <avr/iom3290.h>
12354-#elif (defined __AVR_ATmega3290A__)
12355-#include <avr/iom3290a.h>
12356-#elif defined (__AVR_ATmega3290P__)
12357-# include <avr/iom3290.h>
12358-#elif defined (__AVR_ATmega32HVB__)
12359-# include <avr/iom32hvb.h>
12360-#elif defined (__AVR_ATmega32HVBREVB__)
12361-# include <avr/iom32hvbrevb.h>
12362-#elif defined (__AVR_ATmega406__)
12363-# include <avr/iom406.h>
12364-#elif defined (__AVR_ATmega16__)
12365-# include <avr/iom16.h>
12366-#elif defined (__AVR_ATmega16A__)
12367-# include <avr/iom16a.h>
12368-#elif defined (__AVR_ATmega161__)
12369-# include <avr/iom161.h>
12370-#elif defined (__AVR_ATmega162__)
12371-# include <avr/iom162.h>
12372-#elif defined (__AVR_ATmega163__)
12373-# include <avr/iom163.h>
12374-#elif defined (__AVR_ATmega164P__)
12375-# include <avr/iom164p.h>
12376-#elif (defined __AVR_ATmega164A__)
12377-#include <avr/iom164a.h>
12378-#elif defined (__AVR_ATmega164PA__)
12379-# include <avr/iom164pa.h>
12380-#elif defined (__AVR_ATmega165__)
12381-# include <avr/iom165.h>
12382-#elif (defined __AVR_ATmega165A__)
12383-#include <avr/iom165a.h>
12384-#elif defined (__AVR_ATmega165P__)
12385-# include <avr/iom165p.h>
12386-#elif defined (__AVR_ATmega165PA__)
12387-# include <avr/iom165pa.h>
12388-#elif defined (__AVR_ATmega168__)
12389-# include <avr/iom168.h>
12390-#elif (defined __AVR_ATmega168A__)
12391-#include <avr/iom168a.h>
12392-#elif defined (__AVR_ATmega168P__)
12393-# include <avr/iom168p.h>
12394-#elif defined (__AVR_ATmega168PA__)
12395-# include <avr/iom168pa.h>
12396-#elif defined (__AVR_ATmega169__)
12397-# include <avr/iom169.h>
12398-#elif (defined __AVR_ATmega169A__)
12399-#include <avr/iom169a.h>
12400-#elif defined (__AVR_ATmega169P__)
12401-# include <avr/iom169p.h>
12402-#elif defined (__AVR_ATmega169PA__)
12403-# include <avr/iom169pa.h>
12404-#elif defined (__AVR_ATmega8HVA__)
12405-# include <avr/iom8hva.h>
12406-#elif defined (__AVR_ATmega16HVA__)
12407-# include <avr/iom16hva.h>
12408-#elif defined (__AVR_ATmega16HVA2__)
12409-# include <avr/iom16hva2.h>
12410-#elif defined (__AVR_ATmega16HVB__)
12411-# include <avr/iom16hvb.h>
12412-#elif defined (__AVR_ATmega16HVBREVB__)
12413-# include <avr/iom16hvbrevb.h>
12414-#elif defined (__AVR_ATmega8__)
12415-# include <avr/iom8.h>
12416-#elif defined (__AVR_ATmega8A__)
12417-# include <avr/iom8a.h>
12418+#elif (defined __AVR_ATmega32A__)
12419+#include <avr/iom32a.h>
12420+#elif (defined __AVR_ATmega32HVB__)
12421+#include <avr/iom32hvb.h>
12422+#elif (defined __AVR_ATmega32HVBrevB__)
12423+#include <avr/iom32hvbrevb.h>
12424+#elif (defined __AVR_ATmega32M1__)
12425+#include <avr/iom32m1.h>
12426+#elif (defined __AVR_ATmega32U2__)
12427+#include <avr/iom32u2.h>
12428+#elif (defined __AVR_ATmega32U4__)
12429+#include <avr/iom32u4.h>
12430+#elif (defined __AVR_ATmega48__)
12431+#include <avr/iom48.h>
12432 #elif (defined __AVR_ATmega48A__)
12433-# include <avr/iom48a.h>
12434-#elif defined (__AVR_ATmega48__)
12435-# include <avr/iom48.h>
12436-#elif defined (__AVR_ATmega48PA__)
12437-# include <avr/iom48pa.h>
12438-#elif defined (__AVR_ATmega48P__)
12439-# include <avr/iom48p.h>
12440-#elif defined (__AVR_ATmega88__)
12441-# include <avr/iom88.h>
12442+#include <avr/iom48a.h>
12443+#elif (defined __AVR_ATmega48P__)
12444+#include <avr/iom48p.h>
12445+#elif (defined __AVR_ATmega48PA__)
12446+#include <avr/iom48pa.h>
12447+#elif (defined __AVR_ATmega64__)
12448+#include <avr/iom64.h>
12449+#elif (defined __AVR_ATmega640__)
12450+#include <avr/iom640.h>
12451+#elif (defined __AVR_ATmega644__)
12452+#include <avr/iom644.h>
12453+#elif (defined __AVR_ATmega644A__)
12454+#include <avr/iom644a.h>
12455+#elif (defined __AVR_ATmega644P__)
12456+#include <avr/iom644p.h>
12457+#elif (defined __AVR_ATmega644PA__)
12458+#include <avr/iom644pa.h>
12459+#elif (defined __AVR_ATmega645__)
12460+#include <avr/iom645.h>
12461+#elif (defined __AVR_ATmega6450__)
12462+#include <avr/iom6450.h>
12463+#elif (defined __AVR_ATmega6450A__)
12464+#include <avr/iom6450a.h>
12465+#elif (defined __AVR_ATmega6450P__)
12466+#include <avr/iom6450p.h>
12467+#elif (defined __AVR_ATmega645A__)
12468+#include <avr/iom645a.h>
12469+#elif (defined __AVR_ATmega645P__)
12470+#include <avr/iom645p.h>
12471+#elif (defined __AVR_ATmega649__)
12472+#include <avr/iom649.h>
12473+#elif (defined __AVR_ATmega6490__)
12474+#include <avr/iom6490.h>
12475+#elif (defined __AVR_ATmega6490A__)
12476+#include <avr/iom6490a.h>
12477+#elif (defined __AVR_ATmega6490P__)
12478+#include <avr/iom6490p.h>
12479+#elif (defined __AVR_ATmega649A__)
12480+#include <avr/iom649a.h>
12481+#elif (defined __AVR_ATmega649P__)
12482+#include <avr/iom649p.h>
12483+#elif (defined __AVR_ATmega64A__)
12484+#include <avr/iom64a.h>
12485+#elif (defined __AVR_ATmega64HVE2__)
12486+#include <avr/iom64hve2.h>
12487+#elif (defined __AVR_ATmega64M1__)
12488+#include <avr/iom64m1.h>
12489+#elif (defined __AVR_ATmega8__)
12490+#include <avr/iom8.h>
12491+#elif (defined __AVR_ATmega8HVA__)
12492+#include <avr/iom8hva.h>
12493+#elif (defined __AVR_ATmega8515__)
12494+#include <avr/iom8515.h>
12495+#elif (defined __AVR_ATmega8535__)
12496+#include <avr/iom8535.h>
12497+#elif (defined __AVR_ATmega88__)
12498+#include <avr/iom88.h>
12499 #elif (defined __AVR_ATmega88A__)
12500-# include <avr/iom88a.h>
12501-#elif defined (__AVR_ATmega88P__)
12502-# include <avr/iom88p.h>
12503-#elif defined (__AVR_ATmega88PA__)
12504-# include <avr/iom88pa.h>
12505-#elif defined (__AVR_ATmega8515__)
12506-# include <avr/iom8515.h>
12507-#elif defined (__AVR_ATmega8535__)
12508-# include <avr/iom8535.h>
12509-#elif defined (__AVR_AT90S8535__)
12510-# include <avr/io8535.h>
12511-#elif defined (__AVR_AT90C8534__)
12512-# include <avr/io8534.h>
12513-#elif defined (__AVR_AT90S8515__)
12514-# include <avr/io8515.h>
12515-#elif defined (__AVR_AT90S4434__)
12516-# include <avr/io4434.h>
12517-#elif defined (__AVR_AT90S4433__)
12518-# include <avr/io4433.h>
12519-#elif defined (__AVR_AT90S4414__)
12520-# include <avr/io4414.h>
12521-#elif defined (__AVR_ATtiny22__)
12522-# include <avr/iotn22.h>
12523-#elif defined (__AVR_ATtiny26__)
12524-# include <avr/iotn26.h>
12525-#elif defined (__AVR_AT90S2343__)
12526-# include <avr/io2343.h>
12527-#elif defined (__AVR_AT90S2333__)
12528-# include <avr/io2333.h>
12529-#elif defined (__AVR_AT90S2323__)
12530-# include <avr/io2323.h>
12531-#elif defined (__AVR_AT90S2313__)
12532-# include <avr/io2313.h>
12533-#elif defined (__AVR_ATtiny4__)
12534-# include <avr/iotn4.h>
12535-#elif defined (__AVR_ATtiny5__)
12536-# include <avr/iotn5.h>
12537-#elif defined (__AVR_ATtiny9__)
12538-# include <avr/iotn9.h>
12539-#elif defined (__AVR_ATtiny10__)
12540-# include <avr/iotn10.h>
12541-#elif defined (__AVR_ATtiny20__)
12542-# include <avr/iotn20.h>
12543-#elif defined (__AVR_ATtiny40__)
12544-# include <avr/iotn40.h>
12545-#elif defined (__AVR_ATtiny2313__)
12546-# include <avr/iotn2313.h>
12547-#elif defined (__AVR_ATtiny2313A__)
12548-# include <avr/iotn2313a.h>
12549-#elif defined (__AVR_ATtiny13__)
12550-# include <avr/iotn13.h>
12551-#elif defined (__AVR_ATtiny13A__)
12552-# include <avr/iotn13a.h>
12553-#elif defined (__AVR_ATtiny25__)
12554-# include <avr/iotn25.h>
12555-#elif defined (__AVR_ATtiny4313__)
12556-# include <avr/iotn4313.h>
12557-#elif defined (__AVR_ATtiny45__)
12558-# include <avr/iotn45.h>
12559-#elif defined (__AVR_ATtiny85__)
12560-# include <avr/iotn85.h>
12561-#elif defined (__AVR_ATtiny24__)
12562-# include <avr/iotn24.h>
12563-#elif defined (__AVR_ATtiny24A__)
12564-# include <avr/iotn24a.h>
12565-#elif defined (__AVR_ATtiny44__)
12566-# include <avr/iotn44.h>
12567-#elif defined (__AVR_ATtiny44A__)
12568-# include <avr/iotn44a.h>
12569-#elif defined (__AVR_ATtiny84__)
12570-# include <avr/iotn84.h>
12571-#elif defined (__AVR_ATtiny84A__)
12572-# include <avr/iotn84a.h>
12573-#elif defined (__AVR_ATtiny261__)
12574-# include <avr/iotn261.h>
12575-#elif defined (__AVR_ATtiny261A__)
12576-# include <avr/iotn261a.h>
12577-#elif defined (__AVR_ATtiny461__)
12578-# include <avr/iotn461.h>
12579-#elif defined (__AVR_ATtiny461A__)
12580-# include <avr/iotn461a.h>
12581-#elif defined (__AVR_ATtiny861__)
12582-# include <avr/iotn861.h>
12583-#elif defined (__AVR_ATtiny861A__)
12584-# include <avr/iotn861a.h>
12585-#elif defined (__AVR_ATtiny43U__)
12586-# include <avr/iotn43u.h>
12587-#elif defined (__AVR_ATtiny48__)
12588-# include <avr/iotn48.h>
12589-#elif defined (__AVR_ATtiny88__)
12590-# include <avr/iotn88.h>
12591-#elif defined (__AVR_ATtiny828__)
12592-# include <avr/iotn828.h>
12593-#elif defined (__AVR_ATtiny87__)
12594-# include <avr/iotn87.h>
12595-#elif defined (__AVR_ATtiny167__)
12596-# include <avr/iotn167.h>
12597-#elif defined (__AVR_ATtiny1634__)
12598-# include <avr/iotn1634.h>
12599-#elif defined (__AVR_AT90SCR100__)
12600-# include <avr/io90scr100.h>
12601-#elif defined (__AVR_ATxmega16A4__)
12602-# include <avr/iox16a4.h>
12603-#elif defined (__AVR_ATxmega16A4U__)
12604-# include <avr/iox16a4u.h>
12605-#elif defined (__AVR_ATxmega16C4__)
12606-# include <avr/iox16c4.h>
12607-#elif defined (__AVR_ATxmega16D4__)
12608-# include <avr/iox16d4.h>
12609-#elif defined (__AVR_ATxmega32A4__)
12610-# include <avr/iox32a4.h>
12611-#elif defined (__AVR_ATxmega32A4U__)
12612-# include <avr/iox32a4u.h>
12613-#elif defined (__AVR_ATxmega32C4__)
12614-# include <avr/iox32c4.h>
12615-#elif defined (__AVR_ATxmega32D4__)
12616-# include <avr/iox32d4.h>
12617-#elif defined (__AVR_ATxmega8E5__)
12618-# include <avr/iox8e5.h>
12619-#elif defined (__AVR_ATxmega16E5__)
12620-# include <avr/iox16e5.h>
12621-#elif defined (__AVR_ATxmega32E5__)
12622-# include <avr/iox32e5.h>
12623-#elif defined (__AVR_ATxmega64A1__)
12624-# include <avr/iox64a1.h>
12625-#elif defined (__AVR_ATxmega64A1U__)
12626-# include <avr/iox64a1u.h>
12627-#elif defined (__AVR_ATxmega64A3__)
12628-# include <avr/iox64a3.h>
12629-#elif defined (__AVR_ATxmega64A3U__)
12630-# include <avr/iox64a3u.h>
12631-#elif defined (__AVR_ATxmega64A4U__)
12632-# include <avr/iox64a4u.h>
12633-#elif defined (__AVR_ATxmega64B1__)
12634-# include <avr/iox64b1.h>
12635-#elif defined (__AVR_ATxmega64B3__)
12636-# include <avr/iox64b3.h>
12637-#elif defined (__AVR_ATxmega64C3__)
12638-# include <avr/iox64c3.h>
12639-#elif defined (__AVR_ATxmega64D3__)
12640-# include <avr/iox64d3.h>
12641-#elif defined (__AVR_ATxmega64D4__)
12642-# include <avr/iox64d4.h>
12643-#elif defined (__AVR_ATxmega128A1__)
12644-# include <avr/iox128a1.h>
12645-#elif defined (__AVR_ATxmega128A1U__)
12646-# include <avr/iox128a1u.h>
12647-#elif defined (__AVR_ATxmega128A4U__)
12648-# include <avr/iox128a4u.h>
12649-#elif defined (__AVR_ATxmega128A3__)
12650-# include <avr/iox128a3.h>
12651-#elif defined (__AVR_ATxmega128A3U__)
12652-# include <avr/iox128a3u.h>
12653-#elif defined (__AVR_ATxmega128B1__)
12654-# include <avr/iox128b1.h>
12655-#elif defined (__AVR_ATxmega128B3__)
12656-# include <avr/iox128b3.h>
12657-#elif defined (__AVR_ATxmega128C3__)
12658-# include <avr/iox128c3.h>
12659-#elif defined (__AVR_ATxmega128D3__)
12660-# include <avr/iox128d3.h>
12661-#elif defined (__AVR_ATxmega128D4__)
12662-# include <avr/iox128d4.h>
12663-#elif defined (__AVR_ATxmega192A3__)
12664-# include <avr/iox192a3.h>
12665-#elif defined (__AVR_ATxmega192A3U__)
12666-# include <avr/iox192a3u.h>
12667-#elif defined (__AVR_ATxmega192C3__)
12668-# include <avr/iox192c3.h>
12669-#elif defined (__AVR_ATxmega192D3__)
12670-# include <avr/iox192d3.h>
12671-#elif defined (__AVR_ATxmega256A3__)
12672-# include <avr/iox256a3.h>
12673-#elif defined (__AVR_ATxmega256A3U__)
12674-# include <avr/iox256a3u.h>
12675-#elif defined (__AVR_ATxmega256A3B__)
12676-# include <avr/iox256a3b.h>
12677-#elif defined (__AVR_ATxmega256A3BU__)
12678-# include <avr/iox256a3bu.h>
12679-#elif defined (__AVR_ATxmega256C3__)
12680-# include <avr/iox256c3.h>
12681-#elif defined (__AVR_ATxmega256D3__)
12682-# include <avr/iox256d3.h>
12683-#elif defined (__AVR_ATxmega384C3__)
12684-# include <avr/iox384c3.h>
12685-#elif defined (__AVR_ATxmega384D3__)
12686-# include <avr/iox384d3.h>
12687-#elif defined (__AVR_ATA5790__)
12688-# include <avr/ioa5790.h>
12689-#elif defined (__AVR_ATA5790N__)
12690-# include <avr/ioa5790n.h>
12691-#elif defined (__AVR_ATA5272__)
12692-# include <avr/ioa5272.h>
12693-#elif defined (__AVR_ATA5505__)
12694-# include <avr/ioa5505.h>
12695-#elif defined (__AVR_ATA5795__)
12696-# include <avr/ioa5795.h>
12697-#elif defined (__AVR_ATA5831__)
12698-# include <avr/ioa5831.h>
12699-#elif defined (__AVR_ATA6285__)
12700-# include <avr/ioa6285.h>
12701-#elif defined (__AVR_ATA6286__)
12702-# include <avr/ioa6286.h>
12703-#elif defined (__AVR_ATA6289__)
12704-# include <avr/ioa6289.h>
12705-/* avr1: the following only supported for assembler programs */
12706-#elif defined (__AVR_ATtiny28__)
12707-# include <avr/iotn28.h>
12708-#elif defined (__AVR_AT90S1200__)
12709-# include <avr/io1200.h>
12710-#elif defined (__AVR_ATtiny15__)
12711-# include <avr/iotn15.h>
12712-#elif defined (__AVR_ATtiny12__)
12713-# include <avr/iotn12.h>
12714-#elif defined (__AVR_ATtiny11__)
12715-# include <avr/iotn11.h>
12716-#elif defined (__AVR_M3000__)
12717-# include <avr/iom3000.h>
12718+#include <avr/iom88a.h>
12719+#elif (defined __AVR_ATmega88P__)
12720+#include <avr/iom88p.h>
12721+#elif (defined __AVR_ATmega88PA__)
12722+#include <avr/iom88pa.h>
12723+#elif (defined __AVR_ATmega8A__)
12724+#include <avr/iom8a.h>
12725+#elif (defined __AVR_ATmega8U2__)
12726+#include <avr/iom8u2.h>
12727+#elif (defined __AVR_ATtiny10__)
12728+#include <avr/iotn10.h>
12729+#elif (defined __AVR_ATtiny13__)
12730+#include <avr/iotn13.h>
12731+#elif (defined __AVR_ATtiny13A__)
12732+#include <avr/iotn13a.h>
12733+#elif (defined __AVR_ATtiny167__)
12734+#include <avr/iotn167.h>
12735+#elif (defined __AVR_ATtiny20__)
12736+#include <avr/iotn20.h>
12737+#elif (defined __AVR_ATtiny2313__)
12738+#include <avr/iotn2313.h>
12739+#elif (defined __AVR_ATtiny2313A__)
12740+#include <avr/iotn2313a.h>
12741+#elif (defined __AVR_ATtiny24__)
12742+#include <avr/iotn24.h>
12743+#elif (defined __AVR_ATtiny24A__)
12744+#include <avr/iotn24a.h>
12745+#elif (defined __AVR_ATtiny25__)
12746+#include <avr/iotn25.h>
12747+#elif (defined __AVR_ATtiny26__)
12748+#include <avr/iotn26.h>
12749+#elif (defined __AVR_ATtiny261__)
12750+#include <avr/iotn261.h>
12751+#elif (defined __AVR_ATtiny261A__)
12752+#include <avr/iotn261a.h>
12753+#elif (defined __AVR_ATtiny28__)
12754+#include <avr/iotn28.h>
12755+#elif (defined __AVR_ATtiny4__)
12756+#include <avr/iotn4.h>
12757+#elif (defined __AVR_ATtiny40__)
12758+#include <avr/iotn40.h>
12759+#elif (defined __AVR_ATtiny4313__)
12760+#include <avr/iotn4313.h>
12761+#elif (defined __AVR_ATtiny43U__)
12762+#include <avr/iotn43u.h>
12763+#elif (defined __AVR_ATtiny44__)
12764+#include <avr/iotn44.h>
12765+#elif (defined __AVR_ATtiny44A__)
12766+#include <avr/iotn44a.h>
12767+#elif (defined __AVR_ATtiny45__)
12768+#include <avr/iotn45.h>
12769+#elif (defined __AVR_ATtiny48__)
12770+#include <avr/iotn48.h>
12771+#elif (defined __AVR_ATtiny461__)
12772+#include <avr/iotn461.h>
12773+#elif (defined __AVR_ATtiny461A__)
12774+#include <avr/iotn461a.h>
12775+#elif (defined __AVR_ATtiny474__)
12776+#include <avr/iotn474.h>
12777+#elif (defined __AVR_ATtiny5__)
12778+#include <avr/iotn5.h>
12779+#elif (defined __AVR_ATtiny84__)
12780+#include <avr/iotn84.h>
12781+#elif (defined __AVR_ATtiny84A__)
12782+#include <avr/iotn84a.h>
12783+#elif (defined __AVR_ATtiny841__)
12784+#include <avr/iotn841.h>
12785+#elif (defined __AVR_ATtiny85__)
12786+#include <avr/iotn85.h>
12787+#elif (defined __AVR_ATtiny861__)
12788+#include <avr/iotn861.h>
12789+#elif (defined __AVR_ATtiny861A__)
12790+#include <avr/iotn861a.h>
12791+#elif (defined __AVR_ATtiny87__)
12792+#include <avr/iotn87.h>
12793+#elif (defined __AVR_ATtiny88__)
12794+#include <avr/iotn88.h>
12795+#elif (defined __AVR_ATtiny9__)
12796+#include <avr/iotn9.h>
12797+#elif (defined __AVR_ATtiny1634__)
12798+#include <avr/iotn1634.h>
12799+#elif (defined __AVR_ATtiny80__)
12800+#include <avr/iotn80.h>
12801+#elif (defined __AVR_ATtiny828__)
12802+#include <avr/iotn828.h>
12803+#elif (defined __AVR_ATxmega128B1__)
12804+#include <avr/iox128b1.h>
12805+#elif (defined __AVR_ATxmega64B1__)
12806+#include <avr/iox64b1.h>
12807+#elif (defined __AVR_ATxmega64B3__)
12808+#include <avr/iox64b3.h>
12809+#elif (defined __AVR_ATxmega128B3__)
12810+#include <avr/iox128b3.h>
12811+#elif (defined __AVR_ATxmega32A4U__)
12812+#include <avr/iox32a4u.h>
12813+#elif (defined __AVR_ATxmega16A4U__)
12814+#include <avr/iox16a4u.h>
12815+#elif (defined __AVR_ATxmega32A4__)
12816+#include <avr/iox32a4.h>
12817+#elif (defined __AVR_ATxmega16A4__)
12818+#include <avr/iox16a4.h>
12819+#elif (defined __AVR_ATxmega32D4__)
12820+#include <avr/iox32d4.h>
12821+#elif (defined __AVR_ATxmega16D4__)
12822+#include <avr/iox16d4.h>
12823+#elif (defined __AVR_ATxmega128A1U__)
12824+#include <avr/iox128a1u.h>
12825+#elif (defined __AVR_ATxmega64A1U__)
12826+#include <avr/iox64a1u.h>
12827+#elif (defined __AVR_ATxmega128A1__)
12828+#include <avr/iox128a1.h>
12829+#elif (defined __AVR_ATxmega64A1__)
12830+#include <avr/iox64a1.h>
12831+#elif (defined __AVR_ATxmega256A3BU__)
12832+#include <avr/iox256a3bu.h>
12833+#elif (defined __AVR_ATxmega256A3B__)
12834+#include <avr/iox256a3b.h>
12835+#elif (defined __AVR_ATxmega256A3U__)
12836+#include <avr/iox256a3u.h>
12837+#elif (defined __AVR_ATxmega192A3U__)
12838+#include <avr/iox192a3u.h>
12839+#elif (defined __AVR_ATxmega128A3U__)
12840+#include <avr/iox128a3u.h>
12841+#elif (defined __AVR_ATxmega64A3U__)
12842+#include <avr/iox64a3u.h>
12843+#elif (defined __AVR_ATxmega256A3__)
12844+#include <avr/iox256a3.h>
12845+#elif (defined __AVR_ATxmega192A3__)
12846+#include <avr/iox192a3.h>
12847+#elif (defined __AVR_ATxmega128A3__)
12848+#include <avr/iox128a3.h>
12849+#elif (defined __AVR_ATxmega64A3__)
12850+#include <avr/iox64a3.h>
12851+#elif (defined __AVR_ATxmega256D3__)
12852+#include <avr/iox256d3.h>
12853+#elif (defined __AVR_ATxmega192D3__)
12854+#include <avr/iox192d3.h>
12855+#elif (defined __AVR_ATxmega128D3__)
12856+#include <avr/iox128d3.h>
12857+#elif (defined __AVR_ATxmega64D3__)
12858+#include <avr/iox64d3.h>
12859+#elif (defined __AVR_ATxmega384C3__)
12860+#include <avr/iox384c3.h>
12861+#elif (defined __AVR_ATxmega384D3__)
12862+#include <avr/iox384d3.h>
12863+#elif (defined __AVR_ATxmega128A4U__)
12864+#include <avr/iox128a4u.h>
12865+#elif (defined __AVR_ATxmega64A4U__)
12866+#include <avr/iox64a4u.h>
12867+#elif (defined __AVR_ATxmega128D4__)
12868+#include <avr/iox128d4.h>
12869+#elif (defined __AVR_ATxmega64D4__)
12870+#include <avr/iox64d4.h>
12871+#elif (defined __AVR_ATxmega32X1__)
12872+#include <avr/iox32x1.h>
12873+#elif (defined __AVR_ATxmega256C3__)
12874+#include <avr/iox256c3.h>
12875+#elif (defined __AVR_ATxmega192C3__)
12876+#include <avr/iox192c3.h>
12877+#elif (defined __AVR_ATxmega128C3__)
12878+#include <avr/iox128c3.h>
12879+#elif (defined __AVR_ATxmega64C3__)
12880+#include <avr/iox64c3.h>
12881+#elif (defined __AVR_ATxmega32C4__)
12882+#include <avr/iox32c4.h>
12883+#elif (defined __AVR_ATxmega16C4__)
12884+#include <avr/iox16c4.h>
12885+#elif (defined __AVR_ATmXT540S__)
12886+#include <avr/iomxt540s.h>
12887+#elif (defined __AVR_ATmXT540SrevA__)
12888+#include <avr/iomxt540sreva.h>
12889+#elif (defined __AVR_ATmXT336S__)
12890+#include <avr/iomxt336s.h>
12891+#elif (defined __AVR_ATmXT112SL__)
12892+#include <avr/iomxt112sl.h>
12893+#elif (defined __AVR_ATmXT224E__)
12894+#include <avr/iomxt224e.h>
12895+#elif (defined __AVR_ATmXT224__)
12896+#include <avr/iomxt224.h>
12897+#elif (defined __AVR_ATmXTS200__)
12898+#include <avr/iomxts200.h>
12899+#elif (defined __AVR_ATxmega32E5__)
12900+#include <avr/iox32e5.h>
12901+#elif (defined __AVR_ATxmega16E5__)
12902+#include <avr/iox16e5.h>
12903+#elif (defined __AVR_ATxmega8E5__)
12904+#include <avr/iox8e5.h>
12905 #else
12906 # if !defined(__COMPILING_AVR_LIBC__)
12907 # warning "device type not defined"
12908diff -urN avr-libc-1.8.0.orig/include/avr/iom103.h avr-libc-1.8.0/include/avr/iom103.h
12909--- avr-libc-1.8.0.orig/include/avr/iom103.h 2011-12-29 09:51:50.000000000 +0100
12910+++ avr-libc-1.8.0/include/avr/iom103.h 2013-06-12 12:21:34.000000000 +0200
12911@@ -202,7 +202,7 @@
12912 /* Timer/Counter Interrupt MaSK register */
12913 #define TIMSK _SFR_IO8(0x37)
12914
12915