1 diff -Naurp configure.ac configure.ac
2 --- configure.ac 2012-12-05 14:11:26.000000000 +0530
3 +++ configure.ac 2012-12-05 14:14:04.000000000 +0530
4 @@ -856,6 +856,9 @@ AM_CONDITIONAL(HAS_atmega64rfa2, test "x
5 CHECK_AVR_DEVICE(atmega64rfr2)
6 AM_CONDITIONAL(HAS_atmega64rfr2, test "x$HAS_atmega64rfr2" = "xyes")
8 +CHECK_AVR_DEVICE(atmega644rfr2)
9 +AM_CONDITIONAL(HAS_atmega644rfr2, test "x$HAS_atmega644rfr2" = "xyes")
11 CHECK_AVR_DEVICE(atmega64)
12 AM_CONDITIONAL(HAS_atmega64, test "x$HAS_atmega64" = "xyes")
14 @@ -966,6 +969,9 @@ AM_CONDITIONAL(HAS_atmega128rfa2, test "
15 CHECK_AVR_DEVICE(atmega128rfr2)
16 AM_CONDITIONAL(HAS_atmega128rfr2, test "x$HAS_atmega128rfr2" = "xyes")
18 +CHECK_AVR_DEVICE(atmega1284rfr2)
19 +AM_CONDITIONAL(HAS_atmega1284rfr2, test "x$HAS_atmega1284rfr2" = "xyes")
23 CHECK_AVR_DEVICE(avr6)
24 @@ -980,6 +986,9 @@ AM_CONDITIONAL(HAS_atmega256rfa2, test "
25 CHECK_AVR_DEVICE(atmega256rfr2)
26 AM_CONDITIONAL(HAS_atmega256rfr2, test "x$HAS_atmega256rfr2" = "xyes")
28 +CHECK_AVR_DEVICE(atmega2564rfr2)
29 +AM_CONDITIONAL(HAS_atmega2564rfr2, test "x$HAS_atmega2564rfr2" = "xyes")
33 CHECK_AVR_DEVICE(avrxmega2)
34 @@ -1387,6 +1396,7 @@ AC_CONFIG_FILES([
35 avr/lib/avr5/atmega32u6/Makefile
36 avr/lib/avr5/atmega406/Makefile
37 avr/lib/avr5/atmega64rfr2/Makefile
38 + avr/lib/avr5/atmega644rfr2/Makefile
39 avr/lib/avr5/atmega64/Makefile
40 avr/lib/avr5/atmega64a/Makefile
41 avr/lib/avr5/atmega640/Makefile
42 @@ -1429,6 +1439,7 @@ AC_CONFIG_FILES([
43 avr/lib/avr51/atmega1284p/Makefile
44 avr/lib/avr51/atmega128rfa1/Makefile
45 avr/lib/avr51/atmega128rfr2/Makefile
46 + avr/lib/avr51/atmega1284rfr2/Makefile
47 avr/lib/avr51/at90can128/Makefile
48 avr/lib/avr51/at90usb1286/Makefile
49 avr/lib/avr51/at90usb1287/Makefile
50 @@ -1440,6 +1451,7 @@ AC_CONFIG_FILES([
51 avr/lib/avr6/atmega2560/Makefile
52 avr/lib/avr6/atmega2561/Makefile
53 avr/lib/avr6/atmega256rfr2/Makefile
54 + avr/lib/avr6/atmega2564rfr2/Makefile
58 diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
59 --- devtools/gen-avr-lib-tree.sh 2012-12-05 14:11:26.000000000 +0530
60 +++ devtools/gen-avr-lib-tree.sh 2012-12-05 14:15:25.000000000 +0530
61 @@ -234,6 +234,7 @@ atmega406:crtm406.o:${DEV_DEFS}:${CFLAGS
62 atmega32u6:crtm32u6.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
63 atmega406:crtm406.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
64 atmega64rfr2:crtm64rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
65 +atmega644rfr2:crtm644rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
66 atmega64:crtm64.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
67 atmega64a:crtm64a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
68 atmega640:crtm640.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
69 @@ -274,6 +275,7 @@ atmega1284p:crtm1284p.o:${DEV_DEFS}:${CF
70 atmega1284p:crtm1284p.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
71 atmega128rfa1:crtm128rfa1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
72 atmega128rfr2:crtm128rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
73 +atmega1284rfr2:crtm1284rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
74 at90can128:crtcan128.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
75 at90usb1286:crtusb1286.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
76 at90usb1287:crtusb1287.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
77 @@ -282,7 +284,8 @@ AVR6_DEV_INFO="\
79 atmega2560:crtm2560.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
80 atmega2561:crtm2561.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
81 -atmega256rfr2:crtm256rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
82 +atmega256rfr2:crtm256rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
83 +atmega2564rfr2:crtm2564rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
87 diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
88 --- doc/api/main_page.dox 2012-12-05 14:11:26.000000000 +0530
89 +++ doc/api/main_page.dox 2012-12-05 14:27:27.000000000 +0530
90 @@ -328,9 +328,12 @@ compile-time.
91 \par Wireless AVR devices:
101 \par Miscellaneous Devices:
103 diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
104 --- doc/api/using-tools.dox 2012-12-05 14:11:26.000000000 +0530
105 +++ doc/api/using-tools.dox 2012-12-05 14:28:38.000000000 +0530
106 @@ -365,6 +365,7 @@ AVR will be defined as well when using t
107 <tr><td>avr5</td><td>atmega32u6</td><td>__AVR_ATmega32U6__</td></tr>
108 <tr><td>avr5</td><td>atmega406</td><td>__AVR_ATmega406__</td></tr>
109 <tr><td>avr5</td><td>atmega64rfr2</td><td>__AVR_ATmega64RFR2__</td></tr>
110 + <tr><td>avr5</td><td>atmega644rfr2</td><td>__AVR_ATmega644RFR2__</td></tr>
111 <tr><td>avr5</td><td>atmega64</td><td>__AVR_ATmega64__</td></tr>
112 <tr><td>avr5</td><td>atmega64a</td><td>__AVR_ATmega64A__</td></tr>
113 <tr><td>avr5</td><td>atmega640</td><td>__AVR_ATmega640__</td></tr>
114 @@ -400,10 +401,12 @@ AVR will be defined as well when using t
115 <tr><td>avr5/avr51 [3]</td><td>atmega1284</td><td>__AVR_ATmega1284__</td></tr>
116 <tr><td>avr5/avr51 [3]</td><td>atmega1284p</td><td>__AVR_ATmega1284P__</td></tr>
117 <tr><td>avr5/avr51 [3]</td><td>atmega128rfr2</td><td>__AVR_ATmega128RFR2__</td></tr>
118 + <tr><td>avr5/avr51 [3]</td><td>atmega1284rfr2</td><td>__AVR_ATmega1284RFR2__</td></tr>
120 <tr><td>avr6</td><td>atmega2560</td><td>__AVR_ATmega2560__</td></tr>
121 <tr><td>avr6</td><td>atmega2561</td><td>__AVR_ATmega2561__</td></tr>
122 <tr><td>avr6</td><td>atmega256rfr2</td><td>__AVR_ATmega256RFR2__</td></tr>
123 + <tr><td>avr6</td><td>atmega2564rfr2</td><td>__AVR_ATmega2564RFR2__</td></tr>
125 <tr><td>avrxmega2</td><td>atxmega16a4</td><td>__AVR_ATxmega16A4__</td></tr>
126 <tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
127 diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
128 --- include/avr/eeprom.h 2012-12-05 14:11:26.000000000 +0530
129 +++ include/avr/eeprom.h 2012-12-05 14:25:24.000000000 +0530
131 # define _EEPROM_SUFFIX _m128rfa1
132 #elif defined (__AVR_ATmega128RFR2__)
133 # define _EEPROM_SUFFIX _m128rfr2
134 +#elif defined (__AVR_ATmega1284RFR2__)
135 +# define _EEPROM_SUFFIX _m1284rfr2
136 #elif defined (__AVR_ATmega256RFR2__)
137 # define _EEPROM_SUFFIX _m256rfr2
138 +#elif defined (__AVR_ATmega2564RFR2__)
139 +# define _EEPROM_SUFFIX _m2564rfr2
140 #elif defined (__AVR_ATmega2560__)
141 # define _EEPROM_SUFFIX _m2560
142 #elif defined (__AVR_ATmega2561__)
144 # define _EEPROM_SUFFIX _usb1287
145 #elif defined (__AVR_ATmega64RFR2__)
146 # define _EEPROM_SUFFIX _m64rfr2
147 +#elif defined (__AVR_ATmega644RFR2__)
148 +# define _EEPROM_SUFFIX _m644rfr2
149 #elif defined (__AVR_ATmega64__)
150 # define _EEPROM_SUFFIX _m64
151 #elif defined (__AVR_ATmega64A__)
152 diff -Naurp include/avr/io.h include/avr/io.h
153 --- include/avr/io.h 2012-12-05 14:11:26.000000000 +0530
154 +++ include/avr/io.h 2012-12-05 14:26:42.000000000 +0530
156 # include <avr/iom128rfa1.h>
157 #elif defined (__AVR_ATmega128RFR2__)
158 # include <avr/iom128rfr2.h>
159 +#elif defined (__AVR_ATmega1284RFR2__)
160 +# include <avr/iom1284rfr2.h>
161 #elif defined (__AVR_ATmega256RFR2__)
162 # include <avr/iom256rfr2.h>
163 +#elif defined (__AVR_ATmega2564RFR2__)
164 +# include <avr/iom2564rfr2.h>
165 #elif defined (__AVR_ATmega2560__)
166 # include <avr/iom2560.h>
167 #elif defined (__AVR_ATmega2561__)
169 # include <avr/iousb1287.h>
170 #elif defined (__AVR_ATmega64RFR2__)
171 # include <avr/iom64rfr2.h>
172 +#elif defined (__AVR_ATmega644RFR2__)
173 +# include <avr/iom644rfr2.h>
174 #elif defined (__AVR_ATmega64__)
175 # include <avr/iom64.h>
176 #elif defined (__AVR_ATmega64A__)
177 diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
178 --- include/avr/Makefile.am 2012-12-05 14:11:26.000000000 +0530
179 +++ include/avr/Makefile.am 2012-12-05 14:16:26.000000000 +0530
180 @@ -85,6 +85,7 @@ avr_HEADERS = \
188 @@ -111,6 +112,7 @@ avr_HEADERS = \
196 @@ -152,6 +154,7 @@ avr_HEADERS = \
204 diff -Naurp include/avr/power.h include/avr/power.h
205 --- include/avr/power.h 2012-12-05 14:11:26.000000000 +0530
206 +++ include/avr/power.h 2012-12-05 14:20:01.000000000 +0530
207 @@ -997,8 +997,11 @@ do{ \
210 #elif defined(__AVR_ATmega256RFR2__) \
211 +|| defined(__AVR_ATmega2564RFR2__) \
212 || defined(__AVR_ATmega128RFR2__) \
213 +|| defined(__AVR_ATmega1284RFR2__) \
214 -|| defined(__AVR_ATmega64RFR2__)
215 +|| defined(__AVR_ATmega64RFR2__) \
216 +|| defined(__AVR_ATmega644RFR2__)
218 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC))
219 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC))
220 @@ -1962,6 +1965,7 @@ do{ \
221 || defined(__AVR_ATmega1284__) \
222 || defined(__AVR_ATmega128RFA1__) \
223 || defined(__AVR_ATmega128RFR2__) \
224 +|| defined(__AVR_ATmega1284RFR2__) \
225 || defined(__AVR_ATmega1284P__) \
226 || defined(__AVR_ATmega162__) \
227 || defined(__AVR_ATmega164A__) \
228 @@ -1982,6 +1986,7 @@ do{ \
229 || defined(__AVR_ATmega2560__) \
230 || defined(__AVR_ATmega2561__) \
231 || defined(__AVR_ATmega256RFR2__) \
232 +|| defined(__AVR_ATmega2564RFR2__) \
233 || defined(__AVR_ATmega324A__) \
234 || defined(__AVR_ATmega324P__) \
235 || defined(__AVR_ATmega325__) \
236 @@ -2026,6 +2031,7 @@ do{ \
237 || defined(__AVR_ATmega6490A__) \
238 || defined(__AVR_ATmega6490P__) \
239 || defined(__AVR_ATmega64RFR2__) \
240 +|| defined(__AVR_ATmega644RFR2__) \
241 || defined(__AVR_ATmega88__) \
242 || defined(__AVR_ATmega88P__) \
243 || defined(__AVR_ATmega8U2__) \
244 @@ -2080,8 +2086,11 @@ typedef enum
246 #if defined(__AVR_ATmega128RFA1__) \
247 || defined(__AVR_ATmega256RFR2__) \
248 +|| defined(__AVR_ATmega2564RFR2__) \
249 || defined(__AVR_ATmega128RFR2__) \
250 -|| defined(__AVR_ATmega64RFR2__)
251 +|| defined(__AVR_ATmega1284RFR2__) \
252 +|| defined(__AVR_ATmega64RFR2__) \
253 +|| defined(__AVR_ATmega644RFR2__)
254 , clock_div_1_rc = 15
257 diff -Naurp include/avr/sleep.h include/avr/sleep.h
258 --- include/avr/sleep.h 2012-12-05 14:11:26.000000000 +0530
259 +++ include/avr/sleep.h 2012-12-05 14:21:00.000000000 +0530
261 || defined(__AVR_ATmega1284P__) \
262 || defined(__AVR_ATmega128RFA1__) \
263 || defined(__AVR_ATmega128RFR2__) \
264 +|| defined(__AVR_ATmega1284RFR2__) \
265 || defined(__AVR_ATmega16__) \
266 || defined(__AVR_ATmega16A__) \
267 || defined(__AVR_ATmega162__) \
269 || defined(__AVR_ATmega2560__) \
270 || defined(__AVR_ATmega2561__) \
271 || defined(__AVR_ATmega256RFR2__) \
272 +|| defined(__AVR_ATmega2564RFR2__) \
273 || defined(__AVR_ATmega32__) \
274 || defined(__AVR_ATmega32A__) \
275 || defined(__AVR_ATmega323__) \
277 || defined(__AVR_ATmega644PA__) \
278 || defined(__AVR_ATmega64C1__) \
279 || defined(__AVR_ATmega64RFR2__) \
280 +|| defined(__AVR_ATmega644RFR2__) \
281 || defined(__AVR_ATmega8515__) \
282 || defined(__AVR_ATmega8535__) \
283 || defined(__AVR_ATmega88A__) \
284 diff -Naurp include/avr/wdt.h include/avr/wdt.h
285 --- include/avr/wdt.h 2012-12-05 14:11:26.000000000 +0530
286 +++ include/avr/wdt.h 2012-12-05 14:23:46.000000000 +0530
287 @@ -218,6 +218,7 @@ __asm__ __volatile__ ( \
288 || defined(__AVR_ATmega1284P__) \
289 || defined(__AVR_ATmega128RFA1__) \
290 || defined(__AVR_ATmega128RFR2__) \
291 +|| defined(__AVR_ATmega1284RFR2__) \
292 || defined(__AVR_ATmega164__) \
293 || defined(__AVR_ATmega164A__) \
294 || defined(__AVR_ATmega164P__) \
295 @@ -244,6 +245,7 @@ __asm__ __volatile__ ( \
296 || defined(__AVR_ATmega2560__) \
297 || defined(__AVR_ATmega2561__) \
298 || defined(__AVR_ATmega256RFR2__) \
299 +|| defined(__AVR_ATmega2564RFR2__) \
300 || defined(__AVR_ATmega32A__) \
301 || defined(__AVR_ATmega324__) \
302 || defined(__AVR_ATmega324A__) \
303 @@ -281,6 +283,7 @@ __asm__ __volatile__ ( \
304 || defined(__AVR_ATmega48P__) \
305 || defined(__AVR_ATmega64A__) \
306 || defined(__AVR_ATmega64RFR2__) \
307 +|| defined(__AVR_ATmega644RFR2__) \
308 || defined(__AVR_ATmega640__) \
309 || defined(__AVR_ATmega644__) \
310 || defined(__AVR_ATmega644A__) \
311 @@ -465,6 +468,7 @@ __asm__ __volatile__ ( \
312 ATmega8HVA, ATmega16HVA, ATmega32HVB,
313 ATmega406, ATmega1284P,
314 ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
315 + ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2,
316 AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
317 AT90PWM81, AT90PWM161,
318 AT90USB82, AT90USB162,
319 @@ -487,6 +491,7 @@ __asm__ __volatile__ ( \
320 ATmega8HVA, ATmega16HVA, ATmega32HVB,
321 ATmega406, ATmega1284P,
322 ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
323 + ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2,
324 AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
325 AT90PWM81, AT90PWM161,
326 AT90USB82, AT90USB162,