1 diff -Naurp configure.ac configure.ac
2 --- configure.ac 2011-12-29 14:21:55.000000000 +0530
3 +++ configure.ac 2012-11-22 19:48:48.000000000 +0530
4 @@ -461,6 +461,9 @@ AM_CONDITIONAL(HAS_avr25, test "x$HAS_av
5 CHECK_AVR_DEVICE(ata6289)
6 AM_CONDITIONAL(HAS_ata6289, test "x$HAS_ata6289" = "xyes")
8 +CHECK_AVR_DEVICE(ata5272)
9 +AM_CONDITIONAL(HAS_ata5272, test "x$HAS_ata5272" = "xyes")
11 CHECK_AVR_DEVICE(attiny13)
12 AM_CONDITIONAL(HAS_attiny13, test "x$HAS_attiny13" = "xyes")
14 @@ -512,6 +515,9 @@ AM_CONDITIONAL(HAS_attiny461a, test "x$H
15 CHECK_AVR_DEVICE(attiny48)
16 AM_CONDITIONAL(HAS_attiny48, test "x$HAS_attiny48" = "xyes")
18 +CHECK_AVR_DEVICE(attiny828)
19 +AM_CONDITIONAL(HAS_attiny828, test "x$HAS_attiny828" = "xyes")
21 CHECK_AVR_DEVICE(attiny84)
22 AM_CONDITIONAL(HAS_attiny84, test "x$HAS_attiny84" = "xyes")
24 @@ -560,6 +566,9 @@ AM_CONDITIONAL(HAS_at90usb82, test "x$HA
25 CHECK_AVR_DEVICE(at90usb162)
26 AM_CONDITIONAL(HAS_at90usb162, test "x$HAS_at90usb162" = "xyes")
28 +CHECK_AVR_DEVICE(ata5505)
29 +AM_CONDITIONAL(HAS_ata5505, test "x$HAS_ata5505" = "xyes")
31 CHECK_AVR_DEVICE(atmega8u2)
32 AM_CONDITIONAL(HAS_atmega8u2, test "x$HAS_atmega8u2" = "xyes")
34 @@ -572,6 +581,9 @@ AM_CONDITIONAL(HAS_atmega32u2, test "x$H
35 CHECK_AVR_DEVICE(attiny167)
36 AM_CONDITIONAL(HAS_attiny167, test "x$HAS_attiny167" = "xyes")
38 +CHECK_AVR_DEVICE(attiny1634)
39 +AM_CONDITIONAL(HAS_attiny1634, test "x$HAS_attiny1634" = "xyes")
43 AM_CONDITIONAL(HAS_avr4, true)
44 @@ -579,12 +591,24 @@ AM_CONDITIONAL(HAS_atmega8, true)
45 AM_CONDITIONAL(HAS_atmega8515, true)
46 AM_CONDITIONAL(HAS_atmega8535, true)
48 +CHECK_AVR_DEVICE(ata6285)
49 +AM_CONDITIONAL(HAS_ata6285, test "x$HAS_ata6285" = "xyes")
51 +CHECK_AVR_DEVICE(ata6286)
52 +AM_CONDITIONAL(HAS_ata6286, test "x$HAS_ata6286" = "xyes")
54 +CHECK_AVR_DEVICE(atmega8a)
55 +AM_CONDITIONAL(HAS_atmega8a, test "x$HAS_atmega8a" = "xyes")
57 CHECK_AVR_DEVICE(atmega48)
58 AM_CONDITIONAL(HAS_atmega48, test "x$HAS_atmega48" = "xyes")
60 CHECK_AVR_DEVICE(atmega48a)
61 AM_CONDITIONAL(HAS_atmega48a, test "x$HAS_atmega48a" = "xyes")
63 +CHECK_AVR_DEVICE(atmega48pa)
64 +AM_CONDITIONAL(HAS_atmega48pa, test "x$HAS_atmega48pa" = "xyes")
66 CHECK_AVR_DEVICE(atmega48p)
67 AM_CONDITIONAL(HAS_atmega48p, test "x$HAS_atmega48p" = "xyes")
69 @@ -646,9 +670,18 @@ AM_CONDITIONAL(HAS_at90pwm316, test "x$H
70 CHECK_AVR_DEVICE(at90pwm216)
71 AM_CONDITIONAL(HAS_at90pwm216, test "x$HAS_at90pwm216" = "xyes")
73 +CHECK_AVR_DEVICE(at90pwm161)
74 +AM_CONDITIONAL(HAS_at90pwm161, test "x$HAS_at90pwm161" = "xyes")
76 CHECK_AVR_DEVICE(at94k)
77 AM_CONDITIONAL(HAS_at94k, test "x$HAS_at94k" = "xyes")
79 +CHECK_AVR_DEVICE(ata5790)
80 +AM_CONDITIONAL(HAS_ata5790, test "x$HAS_ata5790" = "xyes")
82 +CHECK_AVR_DEVICE(ata5795)
83 +AM_CONDITIONAL(HAS_ata5795, test "x$HAS_ata5795" = "xyes")
85 CHECK_AVR_DEVICE(atmega16)
86 AM_CONDITIONAL(HAS_atmega16, test "x$HAS_atmega16" = "xyes")
88 @@ -670,6 +703,9 @@ AM_CONDITIONAL(HAS_atmega164a, test "x$H
89 CHECK_AVR_DEVICE(atmega164p)
90 AM_CONDITIONAL(HAS_atmega164p, test "x$HAS_atmega164p" = "xyes")
92 +CHECK_AVR_DEVICE(atmega164pa)
93 +AM_CONDITIONAL(HAS_atmega164pa, test "x$HAS_atmega164pa" = "xyes")
95 CHECK_AVR_DEVICE(atmega165)
96 AM_CONDITIONAL(HAS_atmega165, test "x$HAS_atmega165" = "xyes")
98 @@ -679,6 +715,9 @@ AM_CONDITIONAL(HAS_atmega165a, test "x$H
99 CHECK_AVR_DEVICE(atmega165p)
100 AM_CONDITIONAL(HAS_atmega165p, test "x$HAS_atmega165p" = "xyes")
102 +CHECK_AVR_DEVICE(atmega165pa)
103 +AM_CONDITIONAL(HAS_atmega165pa, test "x$HAS_atmega165pa" = "xyes")
105 CHECK_AVR_DEVICE(atmega168)
106 AM_CONDITIONAL(HAS_atmega168, test "x$HAS_atmega168" = "xyes")
108 @@ -688,6 +727,9 @@ AM_CONDITIONAL(HAS_atmega168a, test "x$H
109 CHECK_AVR_DEVICE(atmega168p)
110 AM_CONDITIONAL(HAS_atmega168p, test "x$HAS_atmega168p" = "xyes")
112 +CHECK_AVR_DEVICE(atmega168pa)
113 +AM_CONDITIONAL(HAS_atmega168pa, test "x$HAS_atmega168pa" = "xyes")
115 CHECK_AVR_DEVICE(atmega169)
116 AM_CONDITIONAL(HAS_atmega169, test "x$HAS_atmega169" = "xyes")
118 @@ -721,6 +763,9 @@ AM_CONDITIONAL(HAS_atmega16u4, test "x$H
119 CHECK_AVR_DEVICE(atmega32)
120 AM_CONDITIONAL(HAS_atmega32, test "x$HAS_atmega32" = "xyes")
122 +CHECK_AVR_DEVICE(atmega32a)
123 +AM_CONDITIONAL(HAS_atmega32a, test "x$HAS_atmega32a" = "xyes")
125 CHECK_AVR_DEVICE(atmega323)
126 AM_CONDITIONAL(HAS_atmega323, test "x$HAS_atmega323" = "xyes")
128 @@ -742,6 +787,9 @@ AM_CONDITIONAL(HAS_atmega325a, test "x$H
129 CHECK_AVR_DEVICE(atmega325p)
130 AM_CONDITIONAL(HAS_atmega325p, test "x$HAS_atmega325p" = "xyes")
132 +CHECK_AVR_DEVICE(atmega325pa)
133 +AM_CONDITIONAL(HAS_atmega325pa, test "x$HAS_atmega325pa" = "xyes")
135 CHECK_AVR_DEVICE(atmega3250)
136 AM_CONDITIONAL(HAS_atmega3250, test "x$HAS_atmega3250" = "xyes")
138 @@ -751,6 +799,9 @@ AM_CONDITIONAL(HAS_atmega3250a, test "x$
139 CHECK_AVR_DEVICE(atmega3250p)
140 AM_CONDITIONAL(HAS_atmega3250p, test "x$HAS_atmega3250p" = "xyes")
142 +CHECK_AVR_DEVICE(atmega3250pa)
143 +AM_CONDITIONAL(HAS_atmega3250pa, test "x$HAS_atmega3250pa" = "xyes")
145 CHECK_AVR_DEVICE(atmega328)
146 AM_CONDITIONAL(HAS_atmega328, test "x$HAS_atmega328" = "xyes")
148 @@ -778,6 +829,9 @@ AM_CONDITIONAL(HAS_atmega3290a, test "x$
149 CHECK_AVR_DEVICE(atmega3290p)
150 AM_CONDITIONAL(HAS_atmega3290p, test "x$HAS_atmega3290p" = "xyes")
152 +CHECK_AVR_DEVICE(atmega3290pa)
153 +AM_CONDITIONAL(HAS_atmega3290pa, test "x$HAS_atmega3290pa" = "xyes")
155 CHECK_AVR_DEVICE(atmega32c1)
156 AM_CONDITIONAL(HAS_atmega32c1, test "x$HAS_atmega32c1" = "xyes")
158 @@ -802,6 +856,9 @@ AM_CONDITIONAL(HAS_atmega406, test "x$HA
159 CHECK_AVR_DEVICE(atmega64)
160 AM_CONDITIONAL(HAS_atmega64, test "x$HAS_atmega64" = "xyes")
162 +CHECK_AVR_DEVICE(atmega64a)
163 +AM_CONDITIONAL(HAS_atmega64a, test "x$HAS_atmega64a" = "xyes")
165 CHECK_AVR_DEVICE(atmega640)
166 AM_CONDITIONAL(HAS_atmega640, test "x$HAS_atmega640" = "xyes")
168 @@ -876,12 +933,18 @@ AM_CONDITIONAL(HAS_avr51, test "x$HAS_av
170 AM_CONDITIONAL(HAS_atmega128, true)
172 +CHECK_AVR_DEVICE(atmega128a)
173 +AM_CONDITIONAL(HAS_atmega128a, test "x$HAS_atmega128a" = "xyes")
175 CHECK_AVR_DEVICE(atmega1280)
176 AM_CONDITIONAL(HAS_atmega1280, test "x$HAS_atmega1280" = "xyes")
178 CHECK_AVR_DEVICE(atmega1281)
179 AM_CONDITIONAL(HAS_atmega1281, test "x$HAS_atmega1281" = "xyes")
181 +CHECK_AVR_DEVICE(atmega1284)
182 +AM_CONDITIONAL(HAS_atmega1284, test "x$HAS_atmega1284" = "xyes")
184 CHECK_AVR_DEVICE(atmega1284p)
185 AM_CONDITIONAL(HAS_atmega1284p, test "x$HAS_atmega1284p" = "xyes")
187 @@ -913,12 +976,24 @@ AM_CONDITIONAL(HAS_avrxmega2, test "x$HA
188 CHECK_AVR_DEVICE(atxmega16a4)
189 AM_CONDITIONAL(HAS_atxmega16a4, test "x$HAS_atxmega16a4" = "xyes")
191 +CHECK_AVR_DEVICE(atxmega16a4u)
192 +AM_CONDITIONAL(HAS_atxmega16a4u, test "x$HAS_atxmega16a4u" = "xyes")
194 +CHECK_AVR_DEVICE(atxmega16c4)
195 +AM_CONDITIONAL(HAS_atxmega16c4, test "x$HAS_atxmega16c4" = "xyes")
197 CHECK_AVR_DEVICE(atxmega16d4)
198 AM_CONDITIONAL(HAS_atxmega16d4, test "x$HAS_atxmega16d4" = "xyes")
200 CHECK_AVR_DEVICE(atxmega32a4)
201 AM_CONDITIONAL(HAS_atxmega32a4, test "x$HAS_atxmega32a4" = "xyes")
203 +CHECK_AVR_DEVICE(atxmega32a4u)
204 +AM_CONDITIONAL(HAS_atxmega32a4u, test "x$HAS_atxmega32a4u" = "xyes")
206 +CHECK_AVR_DEVICE(atxmega32c4)
207 +AM_CONDITIONAL(HAS_atxmega32c4, test "x$HAS_atxmega32c4" = "xyes")
209 CHECK_AVR_DEVICE(atxmega32d4)
210 AM_CONDITIONAL(HAS_atxmega32d4, test "x$HAS_atxmega32d4" = "xyes")
212 @@ -930,9 +1005,27 @@ AM_CONDITIONAL(HAS_avrxmega4, test "x$HA
213 CHECK_AVR_DEVICE(atxmega64a3)
214 AM_CONDITIONAL(HAS_atxmega64a3, test "x$HAS_atxmega64a3" = "xyes")
216 +CHECK_AVR_DEVICE(atxmega64a3u)
217 +AM_CONDITIONAL(HAS_atxmega64a3u, test "x$HAS_atxmega64a3u" = "xyes")
219 +CHECK_AVR_DEVICE(atxmega64a4u)
220 +AM_CONDITIONAL(HAS_atxmega64a4u, test "x$HAS_atxmega64a4u" = "xyes")
222 +CHECK_AVR_DEVICE(atxmega64b1)
223 +AM_CONDITIONAL(HAS_atxmega64b1, test "x$HAS_atxmega64b1" = "xyes")
225 +CHECK_AVR_DEVICE(atxmega64b3)
226 +AM_CONDITIONAL(HAS_atxmega64b3, test "x$HAS_atxmega64b3" = "xyes")
228 +CHECK_AVR_DEVICE(atxmega64c3)
229 +AM_CONDITIONAL(HAS_atxmega64c3, test "x$HAS_atxmega64c3" = "xyes")
231 CHECK_AVR_DEVICE(atxmega64d3)
232 AM_CONDITIONAL(HAS_atxmega64d3, test "x$HAS_atxmega64d3" = "xyes")
234 +CHECK_AVR_DEVICE(atxmega64d4)
235 +AM_CONDITIONAL(HAS_atxmega64d4, test "x$HAS_atxmega64d4" = "xyes")
239 CHECK_AVR_DEVICE(avrxmega5)
240 @@ -952,24 +1045,59 @@ AM_CONDITIONAL(HAS_avrxmega6, test "x$HA
241 CHECK_AVR_DEVICE(atxmega128a3)
242 AM_CONDITIONAL(HAS_atxmega128a3, test "x$HAS_atxmega128a3" = "xyes")
244 +CHECK_AVR_DEVICE(atxmega128a3u)
245 +AM_CONDITIONAL(HAS_atxmega128a3u, test "x$HAS_atxmega128a3u" = "xyes")
247 +CHECK_AVR_DEVICE(atxmega128b1)
248 +AM_CONDITIONAL(HAS_atxmega128b1, test "x$HAS_atxmega128b1" = "xyes")
250 +CHECK_AVR_DEVICE(atxmega128b3)
251 +AM_CONDITIONAL(HAS_atxmega128b3, test "x$HAS_atxmega128b3" = "xyes")
253 +CHECK_AVR_DEVICE(atxmega128c3)
254 +AM_CONDITIONAL(HAS_atxmega128c3, test "x$HAS_atxmega128c3" = "xyes")
256 CHECK_AVR_DEVICE(atxmega128d3)
257 AM_CONDITIONAL(HAS_atxmega128d3, test "x$HAS_atxmega128d3" = "xyes")
259 +CHECK_AVR_DEVICE(atxmega128d4)
260 +AM_CONDITIONAL(HAS_atxmega128d4, test "x$HAS_atxmega128d4" = "xyes")
262 CHECK_AVR_DEVICE(atxmega192a3)
263 AM_CONDITIONAL(HAS_atxmega192a3, test "x$HAS_atxmega192a3" = "xyes")
265 +CHECK_AVR_DEVICE(atxmega192a3u)
266 +AM_CONDITIONAL(HAS_atxmega192a3u, test "x$HAS_atxmega192a3u" = "xyes")
268 +CHECK_AVR_DEVICE(atxmega192c3)
269 +AM_CONDITIONAL(HAS_atxmega192c3, test "x$HAS_atxmega192c3" = "xyes")
271 CHECK_AVR_DEVICE(atxmega192d3)
272 AM_CONDITIONAL(HAS_atxmega192d3, test "x$HAS_atxmega192d3" = "xyes")
274 CHECK_AVR_DEVICE(atxmega256a3)
275 AM_CONDITIONAL(HAS_atxmega256a3, test "x$HAS_atxmega256a3" = "xyes")
277 +CHECK_AVR_DEVICE(atxmega256a3u)
278 +AM_CONDITIONAL(HAS_atxmega256a3u, test "x$HAS_atxmega256a3u" = "xyes")
280 CHECK_AVR_DEVICE(atxmega256a3b)
281 AM_CONDITIONAL(HAS_atxmega256a3b, test "x$HAS_atxmega256a3b" = "xyes")
283 +CHECK_AVR_DEVICE(atxmega256a3bu)
284 +AM_CONDITIONAL(HAS_atxmega256a3bu, test "x$HAS_atxmega256a3bu" = "xyes")
286 +CHECK_AVR_DEVICE(atxmega256c3)
287 +AM_CONDITIONAL(HAS_atxmega256c3, test "x$HAS_atxmega256c3" = "xyes")
289 CHECK_AVR_DEVICE(atxmega256d3)
290 AM_CONDITIONAL(HAS_atxmega256d3, test "x$HAS_atxmega256d3" = "xyes")
292 +CHECK_AVR_DEVICE(atxmega384c3)
293 +AM_CONDITIONAL(HAS_atxmega384c3, test "x$HAS_atxmega384c3" = "xyes")
295 +CHECK_AVR_DEVICE(atxmega384d3)
296 +AM_CONDITIONAL(HAS_atxmega384d3, test "x$HAS_atxmega384d3" = "xyes")
299 CHECK_AVR_DEVICE(avrxmega7)
300 @@ -981,6 +1109,9 @@ AM_CONDITIONAL(HAS_atxmega128a1, test "x
301 CHECK_AVR_DEVICE(atxmega128a1u)
302 AM_CONDITIONAL(HAS_atxmega128a1u, test "x$HAS_atxmega128a1u" = "xyes")
304 +CHECK_AVR_DEVICE(atxmega128a4u)
305 +AM_CONDITIONAL(HAS_atxmega128a4u, test "x$HAS_atxmega128a4u" = "xyes")
309 CHECK_AVR_DEVICE(avrtiny10)
310 @@ -1076,6 +1207,7 @@ AC_CONFIG_FILES([
311 avr/lib/avr25/Makefile
312 avr/lib/avr25/at86rf401/Makefile
313 avr/lib/avr25/ata6289/Makefile
314 + avr/lib/avr25/ata5272/Makefile
315 avr/lib/avr25/attiny13/Makefile
316 avr/lib/avr25/attiny13a/Makefile
317 avr/lib/avr25/attiny2313/Makefile
318 @@ -1093,6 +1225,7 @@ AC_CONFIG_FILES([
319 avr/lib/avr25/attiny461/Makefile
320 avr/lib/avr25/attiny461a/Makefile
321 avr/lib/avr25/attiny48/Makefile
322 + avr/lib/avr25/attiny828/Makefile
323 avr/lib/avr25/attiny84/Makefile
324 avr/lib/avr25/attiny84a/Makefile
325 avr/lib/avr25/attiny85/Makefile
326 @@ -1125,19 +1258,25 @@ AC_CONFIG_FILES([
327 avr/lib/avr35/Makefile
328 avr/lib/avr35/at90usb82/Makefile
329 avr/lib/avr35/at90usb162/Makefile
330 + avr/lib/avr35/ata5505/Makefile
331 avr/lib/avr35/atmega8u2/Makefile
332 avr/lib/avr35/atmega16u2/Makefile
333 avr/lib/avr35/atmega32u2/Makefile
334 avr/lib/avr35/attiny167/Makefile
335 + avr/lib/avr35/attiny1634/Makefile
340 avr/lib/avr4/Makefile
341 + avr/lib/avr4/ata6285/Makefile
342 + avr/lib/avr4/ata6286/Makefile
343 avr/lib/avr4/atmega48/Makefile
344 avr/lib/avr4/atmega48a/Makefile
345 + avr/lib/avr4/atmega48pa/Makefile
346 avr/lib/avr4/atmega48p/Makefile
347 avr/lib/avr4/atmega8/Makefile
348 + avr/lib/avr4/atmega8a/Makefile
349 avr/lib/avr4/atmega88/Makefile
350 avr/lib/avr4/atmega88a/Makefile
351 avr/lib/avr4/atmega88p/Makefile
352 @@ -1161,12 +1300,15 @@ AC_CONFIG_FILES([
353 avr/lib/avr5/at90can128/Makefile
354 avr/lib/avr5/at90pwm216/Makefile
355 avr/lib/avr5/at90pwm316/Makefile
356 + avr/lib/avr5/at90pwm161/Makefile
357 avr/lib/avr5/at90scr100/Makefile
358 avr/lib/avr5/at90usb646/Makefile
359 avr/lib/avr5/at90usb647/Makefile
360 avr/lib/avr5/at90usb1286/Makefile
361 avr/lib/avr5/at90usb1287/Makefile
362 avr/lib/avr5/at94k/Makefile
363 + avr/lib/avr5/ata5790/Makefile
364 + avr/lib/avr5/ata5795/Makefile
365 avr/lib/avr5/atmega16/Makefile
366 avr/lib/avr5/atmega16a/Makefile
367 avr/lib/avr5/atmega161/Makefile
368 @@ -1174,12 +1316,15 @@ AC_CONFIG_FILES([
369 avr/lib/avr5/atmega163/Makefile
370 avr/lib/avr5/atmega164a/Makefile
371 avr/lib/avr5/atmega164p/Makefile
372 + avr/lib/avr5/atmega164pa/Makefile
373 avr/lib/avr5/atmega165/Makefile
374 avr/lib/avr5/atmega165a/Makefile
375 avr/lib/avr5/atmega165p/Makefile
376 + avr/lib/avr5/atmega165pa/Makefile
377 avr/lib/avr5/atmega168/Makefile
378 avr/lib/avr5/atmega168a/Makefile
379 avr/lib/avr5/atmega168p/Makefile
380 + avr/lib/avr5/atmega168pa/Makefile
381 avr/lib/avr5/atmega169/Makefile
382 avr/lib/avr5/atmega169a/Makefile
383 avr/lib/avr5/atmega169p/Makefile
384 @@ -1191,6 +1336,7 @@ AC_CONFIG_FILES([
385 avr/lib/avr5/atmega16m1/Makefile
386 avr/lib/avr5/atmega16u4/Makefile
387 avr/lib/avr5/atmega32/Makefile
388 + avr/lib/avr5/atmega32a/Makefile
389 avr/lib/avr5/atmega323/Makefile
390 avr/lib/avr5/atmega324a/Makefile
391 avr/lib/avr5/atmega324p/Makefile
392 @@ -1198,9 +1344,11 @@ AC_CONFIG_FILES([
393 avr/lib/avr5/atmega325/Makefile
394 avr/lib/avr5/atmega325a/Makefile
395 avr/lib/avr5/atmega325p/Makefile
396 + avr/lib/avr5/atmega325pa/Makefile
397 avr/lib/avr5/atmega3250/Makefile
398 avr/lib/avr5/atmega3250a/Makefile
399 avr/lib/avr5/atmega3250p/Makefile
400 + avr/lib/avr5/atmega3250pa/Makefile
401 avr/lib/avr5/atmega328/Makefile
402 avr/lib/avr5/atmega328p/Makefile
403 avr/lib/avr5/atmega329/Makefile
404 @@ -1210,6 +1358,7 @@ AC_CONFIG_FILES([
405 avr/lib/avr5/atmega3290/Makefile
406 avr/lib/avr5/atmega3290a/Makefile
407 avr/lib/avr5/atmega3290p/Makefile
408 + avr/lib/avr5/atmega3290pa/Makefile
409 avr/lib/avr5/atmega32c1/Makefile
410 avr/lib/avr5/atmega32hvb/Makefile
411 avr/lib/avr5/atmega32hvbrevb/Makefile
412 @@ -1218,6 +1367,7 @@ AC_CONFIG_FILES([
413 avr/lib/avr5/atmega32u6/Makefile
414 avr/lib/avr5/atmega406/Makefile
415 avr/lib/avr5/atmega64/Makefile
416 + avr/lib/avr5/atmega64a/Makefile
417 avr/lib/avr5/atmega640/Makefile
418 avr/lib/avr5/atmega644/Makefile
419 avr/lib/avr5/atmega644a/Makefile
420 @@ -1250,8 +1400,10 @@ AC_CONFIG_FILES([
422 avr/lib/avr51/Makefile
423 avr/lib/avr51/atmega128/Makefile
424 + avr/lib/avr51/atmega128a/Makefile
425 avr/lib/avr51/atmega1280/Makefile
426 avr/lib/avr51/atmega1281/Makefile
427 + avr/lib/avr51/atmega1284/Makefile
428 avr/lib/avr51/atmega1284p/Makefile
429 avr/lib/avr51/atmega128rfa1/Makefile
430 avr/lib/avr51/at90can128/Makefile
431 @@ -1270,8 +1422,12 @@ AC_CONFIG_FILES([
433 avr/lib/avrxmega2/Makefile
434 avr/lib/avrxmega2/atxmega16a4/Makefile
435 + avr/lib/avrxmega2/atxmega16a4u/Makefile
436 + avr/lib/avrxmega2/atxmega16c4/Makefile
437 avr/lib/avrxmega2/atxmega16d4/Makefile
438 avr/lib/avrxmega2/atxmega32a4/Makefile
439 + avr/lib/avrxmega2/atxmega32a4u/Makefile
440 + avr/lib/avrxmega2/atxmega32c4/Makefile
441 avr/lib/avrxmega2/atxmega32d4/Makefile
444 @@ -1279,7 +1435,13 @@ AC_CONFIG_FILES([
446 avr/lib/avrxmega4/Makefile
447 avr/lib/avrxmega4/atxmega64a3/Makefile
448 + avr/lib/avrxmega4/atxmega64a3u/Makefile
449 + avr/lib/avrxmega4/atxmega64a4u/Makefile
450 + avr/lib/avrxmega4/atxmega64b1/Makefile
451 + avr/lib/avrxmega4/atxmega64b3/Makefile
452 + avr/lib/avrxmega4/atxmega64c3/Makefile
453 avr/lib/avrxmega4/atxmega64d3/Makefile
454 + avr/lib/avrxmega4/atxmega64d4/Makefile
458 @@ -1293,12 +1455,24 @@ AC_CONFIG_FILES([
460 avr/lib/avrxmega6/Makefile
461 avr/lib/avrxmega6/atxmega128a3/Makefile
462 + avr/lib/avrxmega6/atxmega128a3u/Makefile
463 + avr/lib/avrxmega6/atxmega128b1/Makefile
464 + avr/lib/avrxmega6/atxmega128b3/Makefile
465 + avr/lib/avrxmega6/atxmega128c3/Makefile
466 avr/lib/avrxmega6/atxmega128d3/Makefile
467 + avr/lib/avrxmega6/atxmega128d4/Makefile
468 avr/lib/avrxmega6/atxmega192a3/Makefile
469 + avr/lib/avrxmega6/atxmega192a3u/Makefile
470 + avr/lib/avrxmega6/atxmega192c3/Makefile
471 avr/lib/avrxmega6/atxmega192d3/Makefile
472 avr/lib/avrxmega6/atxmega256a3/Makefile
473 + avr/lib/avrxmega6/atxmega256a3u/Makefile
474 avr/lib/avrxmega6/atxmega256a3b/Makefile
475 + avr/lib/avrxmega6/atxmega256a3bu/Makefile
476 + avr/lib/avrxmega6/atxmega256c3/Makefile
477 avr/lib/avrxmega6/atxmega256d3/Makefile
478 + avr/lib/avrxmega6/atxmega384c3/Makefile
479 + avr/lib/avrxmega6/atxmega384d3/Makefile
483 @@ -1306,6 +1480,7 @@ AC_CONFIG_FILES([
484 avr/lib/avrxmega7/Makefile
485 avr/lib/avrxmega7/atxmega128a1/Makefile
486 avr/lib/avrxmega7/atxmega128a1u/Makefile
487 + avr/lib/avrxmega7/atxmega128a4u/Makefile
491 diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
492 --- devtools/gen-avr-lib-tree.sh 2011-12-29 14:21:50.000000000 +0530
493 +++ devtools/gen-avr-lib-tree.sh 2012-11-22 19:48:48.000000000 +0530
494 @@ -84,6 +84,7 @@ attiny861:crttn861.o:${DEV_DEFS}:${CFLAG
496 at86rf401:crt86401.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
497 ata6289:crta6289.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
498 +ata5272:crta5272.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
499 attiny13:crttn13.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
500 attiny13a:crttn13a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
501 attiny2313:crttn2313.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
502 @@ -101,6 +102,7 @@ attiny45:crttn45.o:${DEV_DEFS}:${CFLAGS_
503 attiny461:crttn461.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
504 attiny461a:crttn461a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
505 attiny48:crttn48.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
506 +attiny828:crttn828.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
507 attiny84:crttn84.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
508 attiny84a:crttn84a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
509 attiny85:crttn85.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
510 @@ -127,17 +129,23 @@ at43usb320:crt43320.o:${DEV_DEFS}:${CFLA
512 at90usb82:crtusb82.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
513 at90usb162:crtusb162.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
514 +ata5505:crta5505.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
515 atmega8u2:crtm8u2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
516 atmega16u2:crtm16u2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
517 atmega32u2:crtm32u2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
518 -attiny167:crttn167.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
519 +attiny167:crttn167.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
520 +attiny1634:crttn1634.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
524 +ata6285:crta6285.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
525 +ata6286:crta6286.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
526 atmega48:crtm48.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
527 atmega48a:crtm48a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
528 +atmega48pa:crtm48pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
529 atmega48p:crtm48p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
530 atmega8:crtm8.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
531 +atmega8a:crtm8a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
532 atmega88:crtm88.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
533 atmega88a:crtm88a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
534 atmega88p:crtm88p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
535 @@ -159,12 +167,15 @@ at90can64:crtcan64.o:${DEV_DEFS}:${CFLAG
536 at90can128:crtcan128.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
537 at90pwm216:crt90pwm216.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
538 at90pwm316:crt90pwm316.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
539 +at90pwm161:crt90pwm161.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
540 at90scr100:crt90scr100.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
541 at90usb646:crtusb646.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
542 at90usb647:crtusb647.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
543 at90usb1286:crtusb1286.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
544 at90usb1287:crtusb1287.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
545 at94k:crtat94k.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
546 +ata5790:crta5790.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
547 +ata5795:crta5795.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
548 atmega16:crtm16.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
549 atmega16a:crtm16a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
550 atmega161:crtm161.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
551 @@ -172,12 +183,15 @@ atmega162:crtm162.o:${DEV_DEFS}:${CFLAGS
552 atmega163:crtm163.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
553 atmega164a:crtm164a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
554 atmega164p:crtm164p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
555 +atmega164pa:crtm164pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
556 atmega165:crtm165.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
557 atmega165a:crtm165a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
558 atmega165p:crtm165p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
559 +atmega165pa:crtm165pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
560 atmega168:crtm168.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
561 atmega168a:crtm168a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
562 atmega168p:crtm168p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
563 +atmega168pa:crtm168pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
564 atmega169:crtm169.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
565 atmega169a:crtm169a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
566 atmega169p:crtm169p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
567 @@ -189,6 +203,7 @@ atmega16hvbrevb:crtm16hvbrevb.o:${DEV_DE
568 atmega16m1:crtm16m1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
569 atmega16u4:crtm16u4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
570 atmega32:crtm32.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
571 +atmega32a:crtm32a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
572 atmega323:crtm323.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
573 atmega324a:crtm324a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
574 atmega324p:crtm324p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
575 @@ -196,9 +211,11 @@ atmega324pa:crtm324pa.o:${DEV_DEFS}:${CF
576 atmega325:crtm325.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
577 atmega325a:crtm325a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
578 atmega325p:crtm325p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
579 +atmega325pa:crtm325pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
580 atmega3250:crtm3250.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
581 atmega3250a:crtm3250a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
582 atmega3250p:crtm3250p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
583 +atmega3250pa:crtm3250pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
584 atmega328:crtm328.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
585 atmega328p:crtm328p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
586 atmega329:crtm329.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
587 @@ -208,6 +225,7 @@ atmega329pa:crtm329pa.o:${DEV_DEFS}:${CF
588 atmega3290:crtm3290.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
589 atmega3290a:crtm3290a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
590 atmega3290p:crtm3290p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
591 +atmega3290pa:crtm3290pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
592 atmega32c1:crtm32c1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
593 atmega32hvb:crtm32hvb.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
594 atmega32hvbrevb:crtm32hvbrevb.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
595 @@ -216,6 +234,7 @@ atmega32u4:crtm32u4.o:${DEV_DEFS}:${CFLA
596 atmega32u6:crtm32u6.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
597 atmega406:crtm406.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
598 atmega64:crtm64.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
599 +atmega64a:crtm64a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
600 atmega640:crtm640.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
601 atmega644:crtm644.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
602 atmega644a:crtm644a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
603 @@ -246,8 +265,10 @@ m3000:crtm3000.o:${DEV_DEFS}:${CFLAGS_SP
606 atmega128:crtm128.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
607 +atmega128a:crtm128a.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
608 atmega1280:crtm1280.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
609 atmega1281:crtm1281.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
610 +atmega1284:crtm1284.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
611 atmega1284p:crtm1284p.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
612 atmega128rfa1:crtm128rfa1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
613 at90can128:crtcan128.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
614 @@ -262,14 +283,24 @@ atmega2561:crtm2561.o:${DEV_DEFS}:${CFLA
616 AVRXMEGA2_DEV_INFO="\
617 atxmega16a4:crtx16a4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
618 +atxmega16a4u:crtx16a4u.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
619 +atxmega16c4:crtx16c4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
620 atxmega16d4:crtx16d4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
621 atxmega32a4:crtx32a4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
622 +atxmega32a4u:crtx32a4u.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
623 +atxmega32c4:crtx32c4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
624 atxmega32d4:crtx32d4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
627 AVRXMEGA4_DEV_INFO="\
628 atxmega64a3:crtx64a3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
629 -atxmega64d3:crtx64d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
630 +atxmega64a3u:crtx64a3u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
631 +atxmega64a4u:crtx64a4u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
632 +atxmega64b1:crtx64b1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
633 +atxmega64b3:crtx64b3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
634 +atxmega64c3:crtx64c3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
635 +atxmega64d3:crtx64d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
636 +atxmega64d4:crtx64d4.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
639 AVRXMEGA5_DEV_INFO="\
640 @@ -279,17 +310,30 @@ atxmega64a1u:crtx64a1u.o:${DEV_DEFS}:${C
642 AVRXMEGA6_DEV_INFO="\
643 atxmega128a3:crtx128a3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
644 +atxmega128a3u:crtx128a3u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
645 +atxmega128b1:crtx128b1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
646 +atxmega128b3:crtx128b3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
647 +atxmega128c3:crtx128c3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
648 atxmega128d3:crtx128d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
649 +atxmega128d4:crtx128d4.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
650 atxmega192a3:crtx192a3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
651 +atxmega192a3u:crtx192a3u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
652 +atxmega192c3:crtx192c3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
653 atxmega192d3:crtx192d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
654 atxmega256a3:crtx256a3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
655 +atxmega256a3u:crtx256a3u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
656 atxmega256a3b:crtx256a3b.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
657 -atxmega256d3:crtx256d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
658 +atxmega256a3bu:crtx256a3bu.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
659 +atxmega256c3:crtx256c3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
660 +atxmega256d3:crtx256d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
661 +atxmega384c3:crtx384c3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
662 +atxmega384d3:crtx384d3.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
665 AVRXMEGA7_DEV_INFO="\
666 atxmega128a1:crtx128a1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
667 -atxmega128a1u:crtx128a1u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
668 +atxmega128a1u:crtx128a1u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
669 +atxmega128a4u:crtx128a4u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
672 AVRTINY10_DEV_INFO="\
673 diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
674 --- doc/api/main_page.dox 2011-12-29 14:21:53.000000000 +0530
675 +++ doc/api/main_page.dox 2012-11-22 19:48:48.000000000 +0530
676 @@ -94,8 +94,10 @@ compile-time.
687 @@ -103,16 +105,20 @@ compile-time.
708 @@ -120,15 +126,19 @@ compile-time.
728 @@ -141,6 +151,7 @@ compile-time.
736 @@ -178,6 +189,7 @@ compile-time.
744 @@ -185,6 +197,7 @@ compile-time.
750 \par Automotive AVR Devices:
752 @@ -194,6 +207,10 @@ compile-time.
761 \par CAN AVR Devices:
763 @@ -214,6 +231,7 @@ compile-time.
771 @@ -230,6 +248,7 @@ compile-time.
778 \par Smart Battery AVR Devices:
779 @@ -262,22 +281,45 @@ compile-time.
823 \par Miscellaneous Devices:
825 @@ -287,6 +329,8 @@ compile-time.
832 - m3000 \ref supp_dev_footnote_four "[4]"
834 diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
835 --- doc/api/using-tools.dox 2011-12-29 14:21:53.000000000 +0530
836 +++ doc/api/using-tools.dox 2012-11-22 19:48:48.000000000 +0530
837 @@ -231,6 +231,7 @@ AVR will be defined as well when using t
839 <tr><td>avr2/avr25 [1]</td><td>at86rf401</td><td>__AVR_AT86RF401__</td></tr>
840 <tr><td>avr2/avr25 [1]</td><td>ata6289</td><td>__AVR_ATA6289__</td></tr>
841 + <tr><td>avr2/avr25 [1]</td><td>ata5272</td><td>__AVR_ATA5272__</td></tr>
842 <tr><td>avr2/avr25 [1]</td><td>attiny13</td><td>__AVR_ATtiny13__</td></tr>
843 <tr><td>avr2/avr25 [1]</td><td>attiny13a</td><td>__AVR_ATtiny13A__</td></tr>
844 <tr><td>avr2/avr25 [1]</td><td>attiny2313</td><td>__AVR_ATtiny2313__</td></tr>
845 @@ -248,6 +249,7 @@ AVR will be defined as well when using t
846 <tr><td>avr2/avr25 [1]</td><td>attiny461</td><td>__AVR_ATtiny461__</td></tr>
847 <tr><td>avr2/avr25 [1]</td><td>attiny461a</td><td>__AVR_ATtiny461A__</td></tr>
848 <tr><td>avr2/avr25 [1]</td><td>attiny48</td><td>__AVR_ATtiny48__</td></tr>
849 + <tr><td>avr2/avr25 [1]</td><td>attiny828</td><td>__AVR_ATtiny828__</td></tr>
850 <tr><td>avr2/avr25 [1]</td><td>attiny84</td><td>__AVR_ATtiny84__</td></tr>
851 <tr><td>avr2/avr25 [1]</td><td>attiny84a</td><td>__AVR_ATtiny84A__</td></tr>
852 <tr><td>avr2/avr25 [1]</td><td>attiny85</td><td>__AVR_ATtiny85__</td></tr>
853 @@ -264,16 +266,22 @@ AVR will be defined as well when using t
855 <tr><td>avr3/avr35 [2]</td><td>at90usb82</td><td>__AVR_AT90USB82__</td></tr>
856 <tr><td>avr3/avr35 [2]</td><td>at90usb162</td><td>__AVR_AT90USB162__</td></tr>
857 + <tr><td>avr3/avr35 [2]</td><td>ata5505</td><td>__AVR_ATA5505__</td></tr>
858 <tr><td>avr3/avr35 [2]</td><td>atmega8u2</td><td>__AVR_ATmega8U2__</td></tr>
859 <tr><td>avr3/avr35 [2]</td><td>atmega16u2</td><td>__AVR_ATmega16U2__</td></tr>
860 <tr><td>avr3/avr35 [2]</td><td>atmega32u2</td><td>__AVR_ATmega32U2__</td></tr>
861 <tr><td>avr3/avr35 [2]</td><td>attiny167</td><td>__AVR_ATtiny167__</td></tr>
862 + <tr><td>avr3/avr35 [2]</td><td>attiny1634</td><td>__AVR_ATtiny1634__</td></tr>
864 <tr><td>avr3</td><td>at76c711</td><td>__AVR_AT76C711__</td></tr>
865 + <tr><td>avr4</td><td>ata6285</td><td>__AVR_ATA6285__</td></tr>
866 + <tr><td>avr4</td><td>ata6286</td><td>__AVR_ATA6286__</td></tr>
867 <tr><td>avr4</td><td>atmega48</td><td>__AVR_ATmega48__</td></tr>
868 <tr><td>avr4</td><td>atmega48a</td><td>__AVR_ATmega48A__</td></tr>
869 + <tr><td>avr4</td><td>atmega48pa</td><td>__AVR_ATmega48PA__</td></tr>
870 <tr><td>avr4</td><td>atmega48p</td><td>__AVR_ATmega48P__</td></tr>
871 <tr><td>avr4</td><td>atmega8</td><td>__AVR_ATmega8__</td></tr>
872 + <tr><td>avr4</td><td>atmega8a</td><td>__AVR_ATmega8A__</td></tr>
873 <tr><td>avr4</td><td>atmega8515</td><td>__AVR_ATmega8515__</td></tr>
874 <tr><td>avr4</td><td>atmega8535</td><td>__AVR_ATmega8535__</td></tr>
875 <tr><td>avr4</td><td>atmega88</td><td>__AVR_ATmega88__</td></tr>
876 @@ -290,6 +298,7 @@ AVR will be defined as well when using t
878 <tr><td>avr5</td><td>at90can32</td><td>__AVR_AT90CAN32__</td></tr>
879 <tr><td>avr5</td><td>at90can64</td><td>__AVR_AT90CAN64__</td></tr>
880 + <tr><td>avr5</td><td>at90pwm161</td><td>__AVR_AT90PWM161__</td></tr>
881 <tr><td>avr5</td><td>at90pwm216</td><td>__AVR_AT90PWM216__</td></tr>
882 <tr><td>avr5</td><td>at90pwm316</td><td>__AVR_AT90PWM316__</td></tr>
883 <tr><td>avr5</td><td>at90scr100</td><td>__AVR_AT90SCR100__</td></tr>
884 @@ -297,17 +306,22 @@ AVR will be defined as well when using t
885 <tr><td>avr5</td><td>at90usb647</td><td>__AVR_AT90USB647__</td></tr>
886 <tr><td>avr5</td><td>at94k</td><td>__AVR_AT94K__</td></tr>
887 <tr><td>avr5</td><td>atmega16</td><td>__AVR_ATmega16__</td></tr>
888 + <tr><td>avr5</td><td>ata5790</td><td>__AVR_ATA5790__</td></tr>
889 + <tr><td>avr5</td><td>ata5795</td><td>__AVR_ATA5795__</td></tr>
890 <tr><td>avr5</td><td>atmega161</td><td>__AVR_ATmega161__</td></tr>
891 <tr><td>avr5</td><td>atmega162</td><td>__AVR_ATmega162__</td></tr>
892 <tr><td>avr5</td><td>atmega163</td><td>__AVR_ATmega163__</td></tr>
893 <tr><td>avr5</td><td>atmega164a</td><td>__AVR_ATmega164A__</td></tr>
894 <tr><td>avr5</td><td>atmega164p</td><td>__AVR_ATmega164P__</td></tr>
895 + <tr><td>avr5</td><td>atmega164pa</td><td>__AVR_ATmega164PA__</td></tr>
896 <tr><td>avr5</td><td>atmega165</td><td>__AVR_ATmega165__</td></tr>
897 <tr><td>avr5</td><td>atmega165a</td><td>__AVR_ATmega165A__</td></tr>
898 <tr><td>avr5</td><td>atmega165p</td><td>__AVR_ATmega165P__</td></tr>
899 + <tr><td>avr5</td><td>atmega165pa</td><td>__AVR_ATmega165PA__</td></tr>
900 <tr><td>avr5</td><td>atmega168</td><td>__AVR_ATmega168__</td></tr>
901 <tr><td>avr5</td><td>atmega168a</td><td>__AVR_ATmega168A__</td></tr>
902 <tr><td>avr5</td><td>atmega168p</td><td>__AVR_ATmega168P__</td></tr>
903 + <tr><td>avr5</td><td>atmega168pa</td><td>__AVR_ATmega168PA__</td></tr>
904 <tr><td>avr5</td><td>atmega169</td><td>__AVR_ATmega169__</td></tr>
905 <tr><td>avr5</td><td>atmega169a</td><td>__AVR_ATmega169A__</td></tr>
906 <tr><td>avr5</td><td>atmega169p</td><td>__AVR_ATmega169P__</td></tr>
907 @@ -320,6 +334,7 @@ AVR will be defined as well when using t
908 <tr><td>avr5</td><td>atmega16m1</td><td>__AVR_ATmega16M1__</td></tr>
909 <tr><td>avr5</td><td>atmega16u4</td><td>__AVR_ATmega16U4__</td></tr>
910 <tr><td>avr5</td><td>atmega32</td><td>__AVR_ATmega32__</td></tr>
911 + <tr><td>avr5</td><td>atmega32a</td><td>__AVR_ATmega32A__</td></tr>
912 <tr><td>avr5</td><td>atmega323</td><td>__AVR_ATmega323__</td></tr>
913 <tr><td>avr5</td><td>atmega324a</td><td>__AVR_ATmega324A__</td></tr>
914 <tr><td>avr5</td><td>atmega324p</td><td>__AVR_ATmega324P__</td></tr>
915 @@ -327,9 +342,11 @@ AVR will be defined as well when using t
916 <tr><td>avr5</td><td>atmega325</td><td>__AVR_ATmega325__</td></tr>
917 <tr><td>avr5</td><td>atmega325a</td><td>__AVR_ATmega325A__</td></tr>
918 <tr><td>avr5</td><td>atmega325p</td><td>__AVR_ATmega325P__</td></tr>
919 + <tr><td>avr5</td><td>atmega325pa</td><td>__AVR_ATmega325PA__</td></tr>
920 <tr><td>avr5</td><td>atmega3250</td><td>__AVR_ATmega3250__</td></tr>
921 <tr><td>avr5</td><td>atmega3250a</td><td>__AVR_ATmega3250A__</td></tr>
922 <tr><td>avr5</td><td>atmega3250p</td><td>__AVR_ATmega3250P__</td></tr>
923 + <tr><td>avr5</td><td>atmega3250pa</td><td>__AVR_ATmega3250PA__</td></tr>
924 <tr><td>avr5</td><td>atmega328</td><td>__AVR_ATmega328__</td></tr>
925 <tr><td>avr5</td><td>atmega328p</td><td>__AVR_ATmega328P__</td></tr>
926 <tr><td>avr5</td><td>atmega329</td><td>__AVR_ATmega329__</td></tr>
927 @@ -339,6 +356,7 @@ AVR will be defined as well when using t
928 <tr><td>avr5</td><td>atmega3290</td><td>__AVR_ATmega3290__</td></tr>
929 <tr><td>avr5</td><td>atmega3290a</td><td>__AVR_ATmega3290A__</td></tr>
930 <tr><td>avr5</td><td>atmega3290p</td><td>__AVR_ATmega3290P__</td></tr>
931 + <tr><td>avr5</td><td>atmega3290pa</td><td>__AVR_ATmega3290PA__</td></tr>
932 <tr><td>avr5</td><td>atmega32c1</td><td>__AVR_ATmega32C1__</td></tr>
933 <tr><td>avr5</td><td>atmega32hvb</td><td>__AVR_ATmega32HVB__</td></tr>
934 <tr><td>avr5</td><td>atmega32hvbrevb</td><td>__AVR_ATmega32HVBREVB__</td></tr>
935 @@ -347,6 +365,7 @@ AVR will be defined as well when using t
936 <tr><td>avr5</td><td>atmega32u6</td><td>__AVR_ATmega32U6__</td></tr>
937 <tr><td>avr5</td><td>atmega406</td><td>__AVR_ATmega406__</td></tr>
938 <tr><td>avr5</td><td>atmega64</td><td>__AVR_ATmega64__</td></tr>
939 + <tr><td>avr5</td><td>atmega64a</td><td>__AVR_ATmega64A__</td></tr>
940 <tr><td>avr5</td><td>atmega640</td><td>__AVR_ATmega640__</td></tr>
941 <tr><td>avr5</td><td>atmega644</td><td>__AVR_ATmega644__</td></tr>
942 <tr><td>avr5</td><td>atmega644a</td><td>__AVR_ATmega644A__</td></tr>
943 @@ -373,34 +392,59 @@ AVR will be defined as well when using t
944 <tr><td>avr5/avr51 [3]</td><td>at90usb1286</td><td>__AVR_AT90USB1286__</td></tr>
945 <tr><td>avr5/avr51 [3]</td><td>at90usb1287</td><td>__AVR_AT90USB1287__</td></tr>
946 <tr><td>avr5/avr51 [3]</td><td>atmega128</td><td>__AVR_ATmega128__</td></tr>
947 + <tr><td>avr5/avr51 [3]</td><td>atmega128a</td><td>__AVR_ATmega128A__</td></tr>
948 <tr><td>avr5/avr51 [3]</td><td>atmega1280</td><td>__AVR_ATmega1280__</td></tr>
949 <tr><td>avr5/avr51 [3]</td><td>atmega1281</td><td>__AVR_ATmega1281__</td></tr>
950 + <tr><td>avr5/avr51 [3]</td><td>atmega1284</td><td>__AVR_ATmega1284__</td></tr>
951 <tr><td>avr5/avr51 [3]</td><td>atmega1284p</td><td>__AVR_ATmega1284P__</td></tr>
953 <tr><td>avr6</td><td>atmega2560</td><td>__AVR_ATmega2560__</td></tr>
954 <tr><td>avr6</td><td>atmega2561</td><td>__AVR_ATmega2561__</td></tr>
956 <tr><td>avrxmega2</td><td>atxmega16a4</td><td>__AVR_ATxmega16A4__</td></tr>
957 + <tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
958 + <tr><td>avrxmega2</td><td>atxmega16c4</td><td>__AVR_ATxmega16C4__</td></tr>
959 <tr><td>avrxmega2</td><td>atxmega16d4</td><td>__AVR_ATxmega16D4__</td></tr>
960 <tr><td>avrxmega2</td><td>atxmega32a4</td><td>__AVR_ATxmega32A4__</td></tr>
961 + <tr><td>avrxmega2</td><td>atxmega32a4u</td><td>__AVR_ATxmega32A4U__</td></tr>
962 + <tr><td>avrxmega2</td><td>atxmega32c4</td><td>__AVR_ATxmega32C4__</td></tr>
963 <tr><td>avrxmega2</td><td>atxmega32d4</td><td>__AVR_ATxmega32D4__</td></tr>
965 <tr><td>avrxmega4</td><td>atxmega64a3</td><td>__AVR_ATxmega64A3__</td></tr>
966 + <tr><td>avrxmega4</td><td>atxmega64a3u</td><td>__AVR_ATxmega64A3U__</td></tr>
967 + <tr><td>avrxmega4</td><td>atxmega64a4u</td><td>__AVR_ATxmega64A4U__</td></tr>
968 + <tr><td>avrxmega4</td><td>atxmega64b1</td><td>__AVR_ATxmega64B1__</td></tr>
969 + <tr><td>avrxmega4</td><td>atxmega64b3</td><td>__AVR_ATxmega64B3__</td></tr>
970 + <tr><td>avrxmega4</td><td>atxmega64c3</td><td>__AVR_ATxmega64C3__</td></tr>
971 <tr><td>avrxmega4</td><td>atxmega64d3</td><td>__AVR_ATxmega64D3__</td></tr>
972 + <tr><td>avrxmega4</td><td>atxmega64d4</td><td>__AVR_ATxmega64D4__</td></tr>
974 <tr><td>avrxmega5</td><td>atxmega64a1</td><td>__AVR_ATxmega64A1__</td></tr>
975 <tr><td>avrxmega5</td><td>atxmega64a1u</td><td>__AVR_ATxmega64A1U__</td></tr>
977 <tr><td>avrxmega6</td><td>atxmega128a3</td><td>__AVR_ATxmega128A3__</td></tr>
978 + <tr><td>avrxmega6</td><td>atxmega128a3u</td><td>__AVR_ATxmega128A3U__</td></tr>
979 + <tr><td>avrxmega6</td><td>atxmega128b1</td><td>__AVR_ATxmega128B1__</td></tr>
980 + <tr><td>avrxmega6</td><td>atxmega128b3</td><td>__AVR_ATxmega128B3__</td></tr>
981 + <tr><td>avrxmega6</td><td>atxmega128c3</td><td>__AVR_ATxmega128C3__</td></tr>
982 <tr><td>avrxmega6</td><td>atxmega128d3</td><td>__AVR_ATxmega128D3__</td></tr>
983 + <tr><td>avrxmega6</td><td>atxmega128d4</td><td>__AVR_ATxmega128D4__</td></tr>
984 <tr><td>avrxmega6</td><td>atxmega192a3</td><td>__AVR_ATxmega192A3__</td></tr>
985 + <tr><td>avrxmega6</td><td>atxmega192a3u</td><td>__AVR_ATxmega192A3U__</td></tr>
986 + <tr><td>avrxmega6</td><td>atxmega192c3</td><td>__AVR_ATxmega192C3__</td></tr>
987 <tr><td>avrxmega6</td><td>atxmega192d3</td><td>__AVR_ATxmega192D3__</td></tr>
988 <tr><td>avrxmega6</td><td>atxmega256a3</td><td>__AVR_ATxmega256A3__</td></tr>
989 + <tr><td>avrxmega6</td><td>atxmega256a3u</td><td>__AVR_ATxmega256A3U__</td></tr>
990 <tr><td>avrxmega6</td><td>atxmega256a3b</td><td>__AVR_ATxmega256A3B__</td></tr>
991 + <tr><td>avrxmega6</td><td>atxmega256a3bu</td><td>__AVR_ATxmega256A3BU__</td></tr>
992 + <tr><td>avrxmega6</td><td>atxmega256c3</td><td>__AVR_ATxmega256C3__</td></tr>
993 <tr><td>avrxmega6</td><td>atxmega256d3</td><td>__AVR_ATxmega256D3__</td></tr>
994 + <tr><td>avrxmega6</td><td>atxmega384c3</td><td>__AVR_ATxmega384C3__</td></tr>
995 + <tr><td>avrxmega6</td><td>atxmega384d3</td><td>__AVR_ATxmega384D3__</td></tr>
997 <tr><td>avrxmega7</td><td>atxmega128a1</td><td>__AVR_ATxmega128A1__</td></tr>
998 <tr><td>avrxmega7</td><td>atxmega128a1u</td><td>__AVR_ATxmega128A1U__</td></tr>
999 + <tr><td>avrxmega7</td><td>atxmega128a4u</td><td>__AVR_ATxmega128A4U__</td></tr>
1001 <tr><td>avrtiny10</td><td>attiny4</td><td>__AVR_ATtiny4__</td></tr>
1002 <tr><td>avrtiny10</td><td>attiny5</td><td>__AVR_ATtiny5__</td></tr>
1003 diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
1004 --- include/avr/eeprom.h 2011-12-29 14:21:50.000000000 +0530
1005 +++ include/avr/eeprom.h 2012-11-22 19:48:48.000000000 +0530
1007 # define _EEPROM_SUFFIX _90pwm216
1008 #elif defined (__AVR_AT90PWM316__)
1009 # define _EEPROM_SUFFIX _90pwm316
1010 +#elif defined (__AVR_AT90PWM161__)
1011 +# define _EEPROM_SUFFIX _90pwm161
1012 #elif defined (__AVR_AT90PWM81__)
1013 # define _EEPROM_SUFFIX _90pwm81
1014 #elif defined (__AVR_ATmega16M1__)
1016 # define _EEPROM_SUFFIX _m64m1
1017 #elif defined (__AVR_ATmega128__)
1018 # define _EEPROM_SUFFIX _m128
1019 +#elif defined (__AVR_ATmega128A__)
1020 +# define _EEPROM_SUFFIX _m128a
1021 #elif defined (__AVR_ATmega1280__)
1022 # define _EEPROM_SUFFIX _m1280
1023 #elif defined (__AVR_ATmega1281__)
1024 # define _EEPROM_SUFFIX _m1281
1025 +#elif defined (__AVR_ATmega1284__)
1026 +# define _EEPROM_SUFFIX _m1284
1027 #elif defined (__AVR_ATmega1284P__)
1028 # define _EEPROM_SUFFIX _m1284p
1029 #elif defined (__AVR_ATmega128RFA1__)
1031 # define _EEPROM_SUFFIX _usb1287
1032 #elif defined (__AVR_ATmega64__)
1033 # define _EEPROM_SUFFIX _m64
1034 +#elif defined (__AVR_ATmega64A__)
1035 +# define _EEPROM_SUFFIX _m64a
1036 #elif defined (__AVR_ATmega640__)
1037 # define _EEPROM_SUFFIX _m640
1038 #elif defined (__AVR_ATmega644__)
1040 # define _EEPROM_SUFFIX _m103
1041 #elif defined (__AVR_ATmega32__)
1042 # define _EEPROM_SUFFIX _m32
1043 +#elif defined (__AVR_ATmega32A__)
1044 +# define _EEPROM_SUFFIX _m32a
1045 #elif defined (__AVR_ATmega323__)
1046 # define _EEPROM_SUFFIX _m323
1047 #elif defined (__AVR_ATmega324A__)
1048 @@ -177,12 +187,16 @@
1049 # define _EEPROM_SUFFIX _m325a
1050 #elif defined (__AVR_ATmega325P__)
1051 # define _EEPROM_SUFFIX _m325p
1052 +#elif defined (__AVR_ATmega325PA__)
1053 +# define _EEPROM_SUFFIX _m325pa
1054 #elif defined (__AVR_ATmega3250__)
1055 # define _EEPROM_SUFFIX _m3250
1056 #elif defined (__AVR_ATmega3250A__)
1057 # define _EEPROM_SUFFIX _m3250a
1058 #elif defined (__AVR_ATmega3250P__)
1059 # define _EEPROM_SUFFIX _m3250p
1060 +#elif defined (__AVR_ATmega3250PA__)
1061 +# define _EEPROM_SUFFIX _m3250pa
1062 #elif defined (__AVR_ATmega328__)
1063 # define _EEPROM_SUFFIX _m328
1064 #elif defined (__AVR_ATmega328P__)
1066 # define _EEPROM_SUFFIX _m3290a
1067 #elif defined (__AVR_ATmega3290P__)
1068 # define _EEPROM_SUFFIX _m3290p
1069 +#elif defined (__AVR_ATmega3290PA__)
1070 +# define _EEPROM_SUFFIX _m3290pa
1071 #elif defined (__AVR_ATmega32HVB__)
1072 # define _EEPROM_SUFFIX _m32hvb
1073 #elif defined (__AVR_ATmega32HVBREVB__)
1074 @@ -223,18 +239,24 @@
1075 # define _EEPROM_SUFFIX _m164
1076 #elif defined (__AVR_ATmega164P__)
1077 # define _EEPROM_SUFFIX _m164p
1078 +#elif defined (__AVR_ATmega164PA__)
1079 +# define _EEPROM_SUFFIX _m164pa
1080 #elif defined (__AVR_ATmega165__)
1081 # define _EEPROM_SUFFIX _m165
1082 #elif defined (__AVR_ATmega165A__)
1083 # define _EEPROM_SUFFIX _m165a
1084 #elif defined (__AVR_ATmega165P__)
1085 # define _EEPROM_SUFFIX _m165p
1086 +#elif defined (__AVR_ATmega165PA__)
1087 +# define _EEPROM_SUFFIX _m165pa
1088 #elif defined (__AVR_ATmega168__)
1089 # define _EEPROM_SUFFIX _m168
1090 #elif defined (__AVR_ATmega168A__)
1091 # define _EEPROM_SUFFIX _m168a
1092 #elif defined (__AVR_ATmega168P__)
1093 # define _EEPROM_SUFFIX _m168p
1094 +#elif defined (__AVR_ATmega168PA__)
1095 +# define _EEPROM_SUFFIX _m168pa
1096 #elif defined (__AVR_ATmega169__)
1097 # define _EEPROM_SUFFIX _m169
1098 #elif defined (__AVR_ATmega169A__)
1099 @@ -255,10 +277,14 @@
1100 # define _EEPROM_SUFFIX _m16hvbrevb
1101 #elif defined (__AVR_ATmega8__)
1102 # define _EEPROM_SUFFIX _m8
1103 +#elif defined (__AVR_ATmega8A__)
1104 +# define _EEPROM_SUFFIX _m8a
1105 #elif defined (__AVR_ATmega48__)
1106 # define _EEPROM_SUFFIX _m48
1107 #elif defined (__AVR_ATmega48A__)
1108 # define _EEPROM_SUFFIX _m48a
1109 +#elif defined (__AVR_ATmega48PA__)
1110 +# define _EEPROM_SUFFIX _m48pa
1111 #elif defined (__AVR_ATmega48P__)
1112 # define _EEPROM_SUFFIX _m48p
1113 #elif defined (__AVR_ATmega88__)
1114 @@ -341,20 +367,32 @@
1115 # define _EEPROM_SUFFIX _tn43u
1116 #elif defined (__AVR_ATtiny48__)
1117 # define _EEPROM_SUFFIX _tn48
1118 +#elif defined (__AVR_ATtiny828__)
1119 +# define _EEPROM_SUFFIX _tn828
1120 #elif defined (__AVR_ATtiny88__)
1121 # define _EEPROM_SUFFIX _tn88
1122 #elif defined (__AVR_ATtiny87__)
1123 # define _EEPROM_SUFFIX _tn87
1124 #elif defined (__AVR_ATtiny167__)
1125 # define _EEPROM_SUFFIX _tn167
1126 +#elif defined (__AVR_ATtiny1634__)
1127 +# define _EEPROM_SUFFIX _tn1634
1128 #elif defined (__AVR_AT90SCR100__)
1129 # define _EEPROM_SUFFIX _90scr100
1130 #elif defined (__AVR_ATxmega16A4__)
1131 # define _EEPROM_SUFFIX _x16a4
1132 +#elif defined (__AVR_ATxmega16A4U__)
1133 +# define _EEPROM_SUFFIX _x16a4u
1134 +#elif defined (__AVR_ATxmega16C4__)
1135 +# define _EEPROM_SUFFIX _x16c4
1136 #elif defined (__AVR_ATxmega16D4__)
1137 # define _EEPROM_SUFFIX _x16d4
1138 #elif defined (__AVR_ATxmega32A4__)
1139 # define _EEPROM_SUFFIX _x32a4
1140 +#elif defined (__AVR_ATxmega32A4U__)
1141 +# define _EEPROM_SUFFIX _x32a4u
1142 +#elif defined (__AVR_ATxmega32C4__)
1143 +# define _EEPROM_SUFFIX _x32c4
1144 #elif defined (__AVR_ATxmega32D4__)
1145 # define _EEPROM_SUFFIX _x32d4
1146 #elif defined (__AVR_ATxmega64A1__)
1147 @@ -363,28 +401,78 @@
1148 # define _EEPROM_SUFFIX _x64a1u
1149 #elif defined (__AVR_ATxmega64A3__)
1150 # define _EEPROM_SUFFIX _x64a3
1151 +#elif defined (__AVR_ATxmega64A3U__)
1152 +# define _EEPROM_SUFFIX _x64a3u
1153 +#elif defined (__AVR_ATxmega64A4U__)
1154 +# define _EEPROM_SUFFIX _x64a4u
1155 +#elif defined (__AVR_ATxmega64B1__)
1156 +# define _EEPROM_SUFFIX _x64b1
1157 +#elif defined (__AVR_ATxmega64B3__)
1158 +# define _EEPROM_SUFFIX _x64b3
1159 +#elif defined (__AVR_ATxmega64C3__)
1160 +# define _EEPROM_SUFFIX _x64c3
1161 #elif defined (__AVR_ATxmega64D3__)
1162 # define _EEPROM_SUFFIX _x64d3
1163 +#elif defined (__AVR_ATxmega64D4__)
1164 +# define _EEPROM_SUFFIX _x64d4
1165 #elif defined (__AVR_ATxmega128A1__)
1166 # define _EEPROM_SUFFIX _x128a1
1167 #elif defined (__AVR_ATxmega128A1U__)
1168 # define _EEPROM_SUFFIX _x128a1u
1169 +#elif defined (__AVR_ATxmega128A4U__)
1170 +# define _EEPROM_SUFFIX _x128a4u
1171 #elif defined (__AVR_ATxmega128A3__)
1172 # define _EEPROM_SUFFIX _x128a3
1173 +#elif defined (__AVR_ATxmega128A3U__)
1174 +# define _EEPROM_SUFFIX _x128a3u
1175 +#elif defined (__AVR_ATxmega128B1__)
1176 +# define _EEPROM_SUFFIX _x128b1
1177 +#elif defined (__AVR_ATxmega128B3__)
1178 +# define _EEPROM_SUFFIX _x128b3
1179 +#elif defined (__AVR_ATxmega128C3__)
1180 +# define _EEPROM_SUFFIX _x128c3
1181 #elif defined (__AVR_ATxmega128D3__)
1182 # define _EEPROM_SUFFIX _x128d3
1183 +#elif defined (__AVR_ATxmega128D4__)
1184 +# define _EEPROM_SUFFIX _x128d4
1185 #elif defined (__AVR_ATxmega192A3__)
1186 # define _EEPROM_SUFFIX _x192a3
1187 +#elif defined (__AVR_ATxmega192A3U__)
1188 +# define _EEPROM_SUFFIX _x192a3u
1189 +#elif defined (__AVR_ATxmega192C3__)
1190 +# define _EEPROM_SUFFIX _x192c3
1191 #elif defined (__AVR_ATxmega192D3__)
1192 # define _EEPROM_SUFFIX _x192d3
1193 #elif defined (__AVR_ATxmega256A3__)
1194 # define _EEPROM_SUFFIX _x256a3
1195 +#elif defined (__AVR_ATxmega256A3U__)
1196 +# define _EEPROM_SUFFIX _x256a3u
1197 #elif defined (__AVR_ATxmega256A3B__)
1198 # define _EEPROM_SUFFIX _x256a3b
1199 +#elif defined (__AVR_ATxmega256A3BU__)
1200 +# define _EEPROM_SUFFIX _x256a3bu
1201 +#elif defined (__AVR_ATxmega256C3__)
1202 +# define _EEPROM_SUFFIX _x256c3
1203 #elif defined (__AVR_ATxmega256D3__)
1204 # define _EEPROM_SUFFIX _x256d3
1205 +#elif defined (__AVR_ATxmega384C3__)
1206 +# define _EEPROM_SUFFIX _x384c3
1207 +#elif defined (__AVR_ATxmega384D3__)
1208 +# define _EEPROM_SUFFIX _x384d3
1209 +#elif defined (__AVR_ATA5505__)
1210 +# define _EEPROM_SUFFIX _a5505
1211 +#elif defined (__AVR_ATA5272__)
1212 +# define _EEPROM_SUFFIX _a5272
1213 +#elif defined (__AVR_ATA6285__)
1214 +# define _EEPROM_SUFFIX _a6285
1215 +#elif defined (__AVR_ATA6286__)
1216 +# define _EEPROM_SUFFIX _a6286
1217 #elif defined (__AVR_ATA6289__)
1218 # define _EEPROM_SUFFIX _a6289
1219 +#elif defined (__AVR_ATA5790__)
1220 +# define _EEPROM_SUFFIX _a5790
1221 +#elif defined (__AVR_ATA5795__)
1222 +# define _EEPROM_SUFFIX _a5795
1223 /* avr1: the following only supported for assembler programs */
1224 #elif defined (__AVR_ATtiny28__)
1225 # define _EEPROM_SUFFIX _tn28
1226 diff -Naurp include/avr/io.h include/avr/io.h
1227 --- include/avr/io.h 2011-12-29 14:21:50.000000000 +0530
1228 +++ include/avr/io.h 2012-11-22 19:48:48.000000000 +0530
1230 # include <avr/io90pwm216.h>
1231 #elif defined (__AVR_AT90PWM316__)
1232 # include <avr/io90pwm316.h>
1233 +#elif defined (__AVR_AT90PWM161__)
1234 +# include <avr/io90pwm161.h>
1235 #elif defined (__AVR_AT90PWM81__)
1236 # include <avr/io90pwm81.h>
1237 #elif defined (__AVR_ATmega8U2__)
1238 @@ -148,10 +150,14 @@
1239 # include <avr/iom64m1.h>
1240 #elif defined (__AVR_ATmega128__)
1241 # include <avr/iom128.h>
1242 +#elif defined (__AVR_ATmega128A__)
1243 +# include <avr/iom128a.h>
1244 #elif defined (__AVR_ATmega1280__)
1245 # include <avr/iom1280.h>
1246 #elif defined (__AVR_ATmega1281__)
1247 # include <avr/iom1281.h>
1248 +#elif defined (__AVR_ATmega1284__)
1249 +# include <avr/iom1284.h>
1250 #elif defined (__AVR_ATmega1284P__)
1251 # include <avr/iom1284p.h>
1252 #elif defined (__AVR_ATmega128RFA1__)
1254 # include <avr/iousb1287.h>
1255 #elif defined (__AVR_ATmega64__)
1256 # include <avr/iom64.h>
1257 +#elif defined (__AVR_ATmega64A__)
1258 +# include <avr/iom64a.h>
1259 #elif defined (__AVR_ATmega640__)
1260 # include <avr/iom640.h>
1261 #elif defined (__AVR_ATmega644__) || defined (__AVR_ATmega644A__)
1263 # include <avr/iom103.h>
1264 #elif defined (__AVR_ATmega32__)
1265 # include <avr/iom32.h>
1266 +#elif defined (__AVR_ATmega32A__)
1267 +# include <avr/iom32a.h>
1268 #elif defined (__AVR_ATmega323__)
1269 # include <avr/iom323.h>
1270 #elif defined (__AVR_ATmega324P__) || defined (__AVR_ATmega324A__)
1271 @@ -214,10 +224,14 @@
1272 # include <avr/iom325.h>
1273 #elif defined (__AVR_ATmega325P__)
1274 # include <avr/iom325.h>
1275 +#elif defined (__AVR_ATmega325PA__)
1276 +# include <avr/iom325pa.h>
1277 #elif defined (__AVR_ATmega3250__) || defined (__AVR_ATmega3250A__)
1278 # include <avr/iom3250.h>
1279 #elif defined (__AVR_ATmega3250P__)
1280 # include <avr/iom3250.h>
1281 +#elif defined (__AVR_ATmega3250PA__)
1282 +# include <avr/iom3250pa.h>
1283 #elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__)
1284 # include <avr/iom328p.h>
1285 #elif defined (__AVR_ATmega329__) || defined (__AVR_ATmega329A__)
1287 # include <avr/iom3290.h>
1288 #elif defined (__AVR_ATmega3290P__)
1289 # include <avr/iom3290.h>
1290 +#elif defined (__AVR_ATmega3290PA__)
1291 +# include <avr/iom3290pa.h>
1292 #elif defined (__AVR_ATmega32HVB__)
1293 # include <avr/iom32hvb.h>
1294 #elif defined (__AVR_ATmega32HVBREVB__)
1295 @@ -246,14 +262,20 @@
1296 # include <avr/iom163.h>
1297 #elif defined (__AVR_ATmega164P__) || defined (__AVR_ATmega164A__)
1298 # include <avr/iom164.h>
1299 +#elif defined (__AVR_ATmega164PA__)
1300 +# include <avr/iom164pa.h>
1301 #elif defined (__AVR_ATmega165__) || defined (__AVR_ATmega165A__)
1302 # include <avr/iom165.h>
1303 #elif defined (__AVR_ATmega165P__)
1304 # include <avr/iom165p.h>
1305 +#elif defined (__AVR_ATmega165PA__)
1306 +# include <avr/iom165pa.h>
1307 #elif defined (__AVR_ATmega168__) || defined (__AVR_ATmega168A__)
1308 # include <avr/iom168.h>
1309 #elif defined (__AVR_ATmega168P__)
1310 # include <avr/iom168p.h>
1311 +#elif defined (__AVR_ATmega168PA__)
1312 +# include <avr/iom168pa.h>
1313 #elif defined (__AVR_ATmega169__) || defined (__AVR_ATmega169A__)
1314 # include <avr/iom169.h>
1315 #elif defined (__AVR_ATmega169P__)
1316 @@ -272,8 +294,12 @@
1317 # include <avr/iom16hvbrevb.h>
1318 #elif defined (__AVR_ATmega8__)
1319 # include <avr/iom8.h>
1320 +#elif defined (__AVR_ATmega8A__)
1321 +# include <avr/iom8a.h>
1322 #elif defined (__AVR_ATmega48__) || defined (__AVR_ATmega48A__)
1323 # include <avr/iom48.h>
1324 +#elif defined (__AVR_ATmega48PA__)
1325 +# include <avr/iom48pa.h>
1326 #elif defined (__AVR_ATmega48P__)
1327 # include <avr/iom48p.h>
1328 #elif defined (__AVR_ATmega88__) || defined (__AVR_ATmega88A__)
1329 @@ -368,18 +394,30 @@
1330 # include <avr/iotn48.h>
1331 #elif defined (__AVR_ATtiny88__)
1332 # include <avr/iotn88.h>
1333 +#elif defined (__AVR_ATtiny828__)
1334 +# include <avr/iotn828.h>
1335 #elif defined (__AVR_ATtiny87__)
1336 # include <avr/iotn87.h>
1337 #elif defined (__AVR_ATtiny167__)
1338 # include <avr/iotn167.h>
1339 +#elif defined (__AVR_ATtiny1634__)
1340 +# include <avr/iotn1634.h>
1341 #elif defined (__AVR_AT90SCR100__)
1342 # include <avr/io90scr100.h>
1343 #elif defined (__AVR_ATxmega16A4__)
1344 # include <avr/iox16a4.h>
1345 +#elif defined (__AVR_ATxmega16A4U__)
1346 +# include <avr/iox16a4u.h>
1347 +#elif defined (__AVR_ATxmega16C4__)
1348 +# include <avr/iox16c4.h>
1349 #elif defined (__AVR_ATxmega16D4__)
1350 # include <avr/iox16d4.h>
1351 #elif defined (__AVR_ATxmega32A4__)
1352 # include <avr/iox32a4.h>
1353 +#elif defined (__AVR_ATxmega32A4U__)
1354 +# include <avr/iox32a4u.h>
1355 +#elif defined (__AVR_ATxmega32C4__)
1356 +# include <avr/iox32c4.h>
1357 #elif defined (__AVR_ATxmega32D4__)
1358 # include <avr/iox32d4.h>
1359 #elif defined (__AVR_ATxmega64A1__)
1360 @@ -388,26 +426,76 @@
1361 # include <avr/iox64a1u.h>
1362 #elif defined (__AVR_ATxmega64A3__)
1363 # include <avr/iox64a3.h>
1364 +#elif defined (__AVR_ATxmega64A3U__)
1365 +# include <avr/iox64a3u.h>
1366 +#elif defined (__AVR_ATxmega64A4U__)
1367 +# include <avr/iox64a4u.h>
1368 +#elif defined (__AVR_ATxmega64B1__)
1369 +# include <avr/iox64b1.h>
1370 +#elif defined (__AVR_ATxmega64B3__)
1371 +# include <avr/iox64b3.h>
1372 +#elif defined (__AVR_ATxmega64C3__)
1373 +# include <avr/iox64c3.h>
1374 #elif defined (__AVR_ATxmega64D3__)
1375 # include <avr/iox64d3.h>
1376 +#elif defined (__AVR_ATxmega64D4__)
1377 +# include <avr/iox64d4.h>
1378 #elif defined (__AVR_ATxmega128A1__)
1379 # include <avr/iox128a1.h>
1380 #elif defined (__AVR_ATxmega128A1U__)
1381 # include <avr/iox128a1u.h>
1382 +#elif defined (__AVR_ATxmega128A4U__)
1383 +# include <avr/iox128a4u.h>
1384 #elif defined (__AVR_ATxmega128A3__)
1385 # include <avr/iox128a3.h>
1386 +#elif defined (__AVR_ATxmega128A3U__)
1387 +# include <avr/iox128a3u.h>
1388 +#elif defined (__AVR_ATxmega128B1__)
1389 +# include <avr/iox128b1.h>
1390 +#elif defined (__AVR_ATxmega128B3__)
1391 +# include <avr/iox128b3.h>
1392 +#elif defined (__AVR_ATxmega128C3__)
1393 +# include <avr/iox128c3.h>
1394 #elif defined (__AVR_ATxmega128D3__)
1395 # include <avr/iox128d3.h>
1396 +#elif defined (__AVR_ATxmega128D4__)
1397 +# include <avr/iox128d4.h>
1398 #elif defined (__AVR_ATxmega192A3__)
1399 # include <avr/iox192a3.h>
1400 +#elif defined (__AVR_ATxmega192A3U__)
1401 +# include <avr/iox192a3u.h>
1402 +#elif defined (__AVR_ATxmega192C3__)
1403 +# include <avr/iox192c3.h>
1404 #elif defined (__AVR_ATxmega192D3__)
1405 # include <avr/iox192d3.h>
1406 #elif defined (__AVR_ATxmega256A3__)
1407 # include <avr/iox256a3.h>
1408 +#elif defined (__AVR_ATxmega256A3U__)
1409 +# include <avr/iox256a3u.h>
1410 #elif defined (__AVR_ATxmega256A3B__)
1411 # include <avr/iox256a3b.h>
1412 +#elif defined (__AVR_ATxmega256A3BU__)
1413 +# include <avr/iox256a3bu.h>
1414 +#elif defined (__AVR_ATxmega256C3__)
1415 +# include <avr/iox256c3.h>
1416 #elif defined (__AVR_ATxmega256D3__)
1417 # include <avr/iox256d3.h>
1418 +#elif defined (__AVR_ATxmega384C3__)
1419 +# include <avr/iox384c3.h>
1420 +#elif defined (__AVR_ATxmega384D3__)
1421 +# include <avr/iox384d3.h>
1422 +#elif defined (__AVR_ATA5790__)
1423 +# include <avr/ioa5790.h>
1424 +#elif defined (__AVR_ATA5272__)
1425 +# include <avr/ioa5272.h>
1426 +#elif defined (__AVR_ATA5505__)
1427 +# include <avr/ioa5505.h>
1428 +#elif defined (__AVR_ATA5795__)
1429 +# include <avr/ioa5795.h>
1430 +#elif defined (__AVR_ATA6285__)
1431 +# include <avr/ioa6285.h>
1432 +#elif defined (__AVR_ATA6286__)
1433 +# include <avr/ioa6286.h>
1434 #elif defined (__AVR_ATA6289__)
1435 # include <avr/ioa6289.h>
1436 /* avr1: the following only supported for assembler programs */
1437 diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
1438 --- include/avr/Makefile.am 2011-12-29 14:21:50.000000000 +0530
1439 +++ include/avr/Makefile.am 2012-11-22 19:48:48.000000000 +0530
1440 @@ -61,8 +61,15 @@ avr_HEADERS = \
1456 @@ -71,8 +78,10 @@ avr_HEADERS = \
1467 @@ -81,10 +90,13 @@ avr_HEADERS = \
1481 @@ -99,14 +111,18 @@ avr_HEADERS = \
1500 @@ -115,9 +131,11 @@ avr_HEADERS = \
1512 @@ -131,6 +149,7 @@ avr_HEADERS = \
1520 @@ -152,8 +171,10 @@ avr_HEADERS = \
1531 @@ -191,22 +212,45 @@ avr_HEADERS = \
1577 diff -Naurp include/avr/power.h include/avr/power.h
1578 --- include/avr/power.h 2012-11-22 19:55:00.000000000 +0530
1579 +++ include/avr/power.h 2012-11-22 19:48:48.000000000 +0530
1580 @@ -74,25 +74,25 @@ find out which macros are applicable to
1582 <td>power_adc_enable()</td>
1583 <td>Enable the Analog to Digital Converter module.</td>
1584 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1585 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1589 <td>power_adc_disable()</td>
1590 <td>Disable the Analog to Digital Converter module.</td>
1591 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1592 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1596 <td>power_lcd_enable()</td>
1597 <td>Enable the LCD module.</td>
1598 - <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490</td>
1599 + <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3</td>
1603 <td>power_lcd_disable().</td>
1604 <td>Disable the LCD module.</td>
1605 - <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490</td>
1606 + <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3</td>
1610 @@ -146,43 +146,43 @@ find out which macros are applicable to
1612 <td>power_spi_enable()</td>
1613 <td>Enable the Serial Peripheral Interface module.</td>
1614 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1615 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1619 <td>power_spi_disable()</td>
1620 <td>Disable the Serial Peripheral Interface module.</td>
1621 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1622 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1626 <td>power_timer0_enable()</td>
1627 <td>Enable the Timer 0 module.</td>
1628 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM216, AT90PWM316, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1629 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM216, AT90PWM316, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1633 <td>power_timer0_disable()</td>
1634 <td>Disable the Timer 0 module.</td>
1635 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1636 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1640 <td>power_timer1_enable()</td>
1641 <td>Enable the Timer 1 module.</td>
1642 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1643 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1647 <td>power_timer1_disable()</td>
1648 <td>Disable the Timer 1 module.</td>
1649 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1650 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega16A4U, ATxmega32A4U</td>
1654 <td>power_timer2_enable()</td>
1655 <td>Enable the Timer 2 module.</td>
1656 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1657 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1661 @@ -194,13 +194,13 @@ find out which macros are applicable to
1663 <td>power_timer3_enable()</td>
1664 <td>Enable the Timer 3 module.</td>
1665 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1666 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1670 <td>power_timer3_disable()</td>
1671 <td>Disable the Timer 3 module.</td>
1672 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1673 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1677 @@ -230,13 +230,13 @@ find out which macros are applicable to
1679 <td>power_twi_enable()</td>
1680 <td>Enable the Two Wire Interface module.</td>
1681 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168</td>
1682 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1686 <td>power_twi_disable()</td>
1687 <td>Disable the Two Wire Interface module.</td>
1688 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168</td>
1689 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1693 @@ -254,25 +254,25 @@ find out which macros are applicable to
1695 <td>power_usart0_enable()</td>
1696 <td>Enable the USART 0 module.</td>
1697 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1698 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1702 <td>power_usart0_disable()</td>
1703 <td>Disable the USART 0 module.</td>
1704 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega3250A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
1705 + <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
1709 <td>power_usart1_enable()</td>
1710 <td>Enable the USART 1 module.</td>
1711 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644</td>
1712 + <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATxmega16A4U, ATxmega32A4U</td>
1716 <td>power_usart1_disable()</td>
1717 <td>Disable the USART 1 module.</td>
1718 - <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644</td>
1719 + <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATxmega16A4U, ATxmega32A4U</td>
1723 @@ -302,13 +302,13 @@ find out which macros are applicable to
1725 <td>power_usb_enable()</td>
1726 <td>Enable the USB module.</td>
1727 - <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1728 + <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U, ATxmega128c3, ATxmega256c3, ATxmega16c4, ATxmega32c4</td>
1732 <td>power_usb_disable()</td>
1733 <td>Disable the USB module.</td>
1734 - <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
1735 + <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U,ATxmega128c3, ATxmega256c3, ATxmega16c4, ATxmega32c4</td>
1739 @@ -338,13 +338,13 @@ find out which macros are applicable to
1741 <td>power_all_enable()</td>
1742 <td>Enable all modules.</td>
1743 - <td>ATxmega6A4, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmegaA1, ATxmegaA1U, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmegaA3B, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega192D3, ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega325A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1744 + <td>ATxmega6A4, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmegaA1, ATxmegaA1U, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmegaA3B, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega192D3, ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega128A3U, ATxmega192A3U, ATxmega256A3U</td>
1748 <td>power_all_disable()</td>
1749 <td>Disable all modules.</td>
1750 - <td>ATxmega6A4, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmegaA1, ATxmegaA1U, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmegaA3B, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3,ATxmega192D3, ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega3250, ATmega325A, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
1751 + <td>ATxmega6A4, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmegaA1, ATxmegaA1U, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmegaA3B, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3,ATxmega192D3, ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega3290PA, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega128A3U, ATxmega192A3U, ATxmega256A3U</td>
1755 @@ -355,16 +355,27 @@ find out which macros are applicable to
1756 // Xmega A series has AES, EBI and DMA bits
1757 // Include any other device on need basis
1758 #if defined(__AVR_ATxmega16A4__) \
1759 +|| defined(__AVR_ATxmega16A4U__) \
1760 +|| defined(__AVR_ATxmega32A4U__) \
1761 || defined(__AVR_ATxmega32A4__) \
1762 || defined(__AVR_ATxmega64A1__) \
1763 || defined(__AVR_ATxmega64A1U__) \
1764 || defined(__AVR_ATxmega64A3__) \
1765 +|| defined(__AVR_ATxmega64A3U__) \
1766 +|| defined(__AVR_ATxmega64A4U__) \
1767 || defined(__AVR_ATxmega128A1__) \
1768 || defined(__AVR_ATxmega128A1U__) \
1769 || defined(__AVR_ATxmega128A3__) \
1770 +|| defined(__AVR_ATxmega128A3U__) \
1771 +|| defined(__AVR_ATxmega128A4U__) \
1772 || defined(__AVR_ATxmega192A3__) \
1773 +|| defined(__AVR_ATxmega192A3U__) \
1774 || defined(__AVR_ATxmega256A3__) \
1775 -|| defined(__AVR_ATxmega256A3B__)
1776 +|| defined(__AVR_ATxmega256A3U__) \
1777 +|| defined(__AVR_ATxmega256A3B__) \
1778 +|| defined(__AVR_ATxmega256A3BU__) \
1779 +|| defined(__AVR_ATxmega384C3__)
1782 #define power_aes_enable() (PR_PRGEN &= (uint8_t)~(PR_AES_bm))
1783 #define power_aes_disable() (PR_PRGEN |= (uint8_t)PR_AES_bm)
1784 @@ -389,6 +400,44 @@ find out which macros are applicable to
1785 #define power_usartf1_enable() (PR_PRPF &= (uint8_t)~(PR_USART1_bm))
1786 #define power_usartf1_disable() (PR_PRPF |= (uint8_t)PR_USART1_bm)
1788 +#if defined(__AVR_ATxmega384C3__) \
1789 +|| defined(__AVR_ATxmega256A3BU__) \
1790 +|| defined(__AVR_ATxmega16A4U__) \
1791 +|| defined(__AVR_ATxmega32A4U__) \
1792 +|| defined(__AVR_ATxmega64A3U__) \
1793 +|| defined(__AVR_ATxmega64A4U__) \
1794 +|| defined(__AVR_ATxmega128A3U__) \
1795 +|| defined(__AVR_ATxmega128A4U__) \
1796 +|| defined(__AVR_ATxmega192A3U__) \
1797 +|| defined(__AVR_ATxmega256A3U__)
1799 +#define power_usb_enable() (PR_PRGEN &= (uint8_t)~(PR_USB_bm))
1800 +#define power_usb_disable() (PR_PRGEN &= (uint8_t)(PR_USB_bm))
1802 +#define power_all_enable() \
1804 + PR_PRGEN &= (uint8_t)~(PR_AES_bm|PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm|PR_USB_bm); \
1805 + PR_PRPA &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
1806 + PR_PRPB &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
1807 + PR_PRPC &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1808 + PR_PRPD &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1809 + PR_PRPE &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1810 + PR_PRPF &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1813 +#define power_all_disable() \
1815 + PR_PRGEN |= (uint8_t)(PR_AES_bm|PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm|PR_USB_bm); \
1816 + PR_PRPA |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
1817 + PR_PRPB |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
1818 + PR_PRPC |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1819 + PR_PRPD |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1820 + PR_PRPE |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1821 + PR_PRPF |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1826 #define power_all_enable() \
1828 PR_PRGEN &= (uint8_t)~(PR_AES_bm|PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \
1829 @@ -413,22 +462,121 @@ do { \
1835 +#if defined(__AVR_ATxmega16C4__) \
1836 +|| defined(__AVR_ATxmega32C4__) \
1837 +|| defined(__AVR_ATxmega64C3__) \
1838 +|| defined(__AVR_ATxmega128C3__) \
1839 +|| defined(__AVR_ATxmega192C3__) \
1840 +|| defined(__AVR_ATxmega256C3__)
1842 +#define power_usb_enable() (PR_PRGEN &= (uint8_t)~(PR_USB_bm))
1843 +#define power_usb_disable() (PR_PRGEN &= (uint8_t)(PR_USB_bm))
1845 +#define power_aes_enable() (PR_PRGEN &= (uint8_t)~(PR_AES_bm))
1846 +#define power_aes_disable() (PR_PRGEN |= (uint8_t)PR_AES_bm)
1848 +#define power_rtc_enable() (PR_PRGEN &= (uint8_t)~(PR_RTC_bm))
1849 +#define power_rtc_disable() (PR_PRGEN |= (uint8_t)PR_RTC_bm)
1851 +#define power_evsys_enable() (PR_PRGEN &= (uint8_t)~(PR_EVSYS_bm))
1852 +#define power_evsys_disable() (PR_PRGEN |= (uint8_t)PR_EVSYS_bm)
1854 +#define power_dma_enable() (PR_PRGEN &= (uint8_t)~(PR_DMA_bm))
1855 +#define power_dma_disable() (PR_PRGEN |= (uint8_t)PR_DMA_bm)
1857 +#define power_adca_enable() (PR_PRPA &= (uint8_t)~(PR_ADC_bm))
1858 +#define power_adca_disable() (PR_PRPA |= (uint8_t)PR_ADC_bm)
1860 +#define power_aca_enable() (PR_PRPA &= (uint8_t)~(PR_AC_bm))
1861 +#define power_aca_disable() (PR_PRPA |= (uint8_t)PR_AC_bm)
1863 +#define power_twic_enable() (PR_PRPC &= (uint8_t)~(PR_TWI_bm))
1864 +#define power_twic_disable() (PR_PRPC |= (uint8_t)PR_TWI_bm)
1865 +#define power_twie_enable() (PR_PRPE &= (uint8_t)~(PR_TWI_bm))
1866 +#define power_twie_disable() (PR_PRPE |= (uint8_t)PR_TWI_bm)
1868 +#define power_usartc1_enable() (PR_PRPC &= (uint8_t)~(PR_USART1_bm))
1869 +#define power_usartc1_disable() (PR_PRPC |= (uint8_t)PR_USART1_bm)
1871 +#define power_usartc0_enable() (PR_PRPC &= (uint8_t)~(PR_USART0_bm))
1872 +#define power_usartc0_disable() (PR_PRPC |= (uint8_t)PR_USART0_bm)
1873 +#define power_usartd0_enable() (PR_PRPD &= (uint8_t)~(PR_USART0_bm))
1874 +#define power_usartd0_disable() (PR_PRPD |= (uint8_t)PR_USART0_bm)
1875 +#define power_usarte0_enable() (PR_PRPE &= (uint8_t)~(PR_USART0_bm))
1876 +#define power_usarte0_disable() (PR_PRPE |= (uint8_t)PR_USART0_bm)
1877 +#define power_usartf0_enable() (PR_PRPF &= (uint8_t)~(PR_USART0_bm))
1878 +#define power_usartf0_disable() (PR_PRPF |= (uint8_t)PR_USART0_bm)
1880 +#define power_spic_enable() (PR_PRPC &= (uint8_t)~(PR_SPI_bm))
1881 +#define power_spic_disable() (PR_PRPC |= (uint8_t)PR_SPI_bm)
1882 +#define power_spid_enable() (PR_PRPD &= (uint8_t)~(PR_SPI_bm))
1883 +#define power_spid_disable() (PR_PRPD |= (uint8_t)PR_SPI_bm)
1885 +#define power_hiresc_enable() (PR_PRPC &= (uint8_t)~(PR_HIRES_bm))
1886 +#define power_hiresc_disable() (PR_PRPC |= (uint8_t)PR_HIRES_bm)
1888 +#define power_tc1c_enable() (PR_PRPC &= (uint8_t)~(PR_TC1_bm))
1889 +#define power_tc1c_disable() (PR_PRPC |= (uint8_t)PR_TC1_bm)
1891 +#define power_tc0c_enable() (PR_PRPC &= (uint8_t)~(PR_TC0_bm))
1892 +#define power_tc0c_disable() (PR_PRPC |= (uint8_t)PR_TC0_bm)
1893 +#define power_tc0d_enable() (PR_PRPD &= (uint8_t)~(PR_TC0_bm))
1894 +#define power_tc0d_disable() (PR_PRPD |= (uint8_t)PR_TC0_bm)
1895 +#define power_tc0e_enable() (PR_PRPE &= (uint8_t)~(PR_TC0_bm))
1896 +#define power_tc0e_disable() (PR_PRPE |= (uint8_t)PR_TC0_bm)
1897 +#define power_tc0f_enable() (PR_PRPF &= (uint8_t)~(PR_TC0_bm))
1898 +#define power_tc0f_disable() (PR_PRPF |= (uint8_t)PR_TC0_bm)
1900 +#define power_all_enable() \
1902 + PR_PRGEN &= (uint8_t)~(PR_USB_bm|PR_AES_bm|PR_DMA_bm|PR_RTC_bm|PR_EVSYS_bm); \
1903 + PR_PRPA &= (uint8_t)~(PR_ADC_bm|PR_AC_bm); \
1904 + PR_PRPC &= (uint8_t)~(PR_TWI_bm|PR_USART0_bm|PR_USART1_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1905 + PR_PRPD &= (uint8_t)~(PR_USART0_bm|PR_SPI_bm|PR_TC0_bm); \
1906 + PR_PRPE &= (uint8_t)~(PR_TWI_bm|PR_USART0_bm|PR_TC0_bm); \
1907 + PR_PRPF &= (uint8_t)~(PR_USART0_bm|PR_TC0_bm); \
1910 +#define power_all_disable() \
1912 + PR_PRGEN |= (uint8_t)(PR_USB_bm|PR_AES_bm|PR_DMA_bm|PR_RTC_bm|PR_EVSYS_bm); \
1913 + PR_PRPA |= (uint8_t)(PR_ADC_bm|PR_AC_bm); \
1914 + PR_PRPC |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_USART1_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
1915 + PR_PRPD |= (uint8_t)(PR_USART0_bm|PR_SPI_bm|PR_TC0_bm); \
1916 + PR_PRPE |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_TC0_bm); \
1917 + PR_PRPF |= (uint8_t)(PR_USART0_bm|PR_TC0_bm); \
1922 #if defined(__AVR_ATxmega16A4__) \
1923 +|| defined(__AVR_ATxmega16A4U__) \
1924 || defined(__AVR_ATxmega16D4__) \
1925 || defined(__AVR_ATxmega32A4__) \
1926 +|| defined(__AVR_ATxmega32A4U__) \
1927 || defined(__AVR_ATxmega32D4__) \
1928 || defined(__AVR_ATxmega64A1__) \
1929 || defined(__AVR_ATxmega64A1U__) \
1930 || defined(__AVR_ATxmega64A3__) \
1931 +|| defined(__AVR_ATxmega64A3U__) \
1932 +|| defined(__AVR_ATxmega64A4U__) \
1933 || defined(__AVR_ATxmega64D3__) \
1934 || defined(__AVR_ATxmega128A1__) \
1935 || defined(__AVR_ATxmega128A1U__) \
1936 || defined(__AVR_ATxmega128A3__) \
1937 +|| defined(__AVR_ATxmega128A3U__) \
1938 +|| defined(__AVR_ATxmega128A4U__) \
1939 || defined(__AVR_ATxmega128D3__) \
1940 || defined(__AVR_ATxmega192A3__) \
1941 +|| defined(__AVR_ATxmega192A3U__) \
1942 || defined(__AVR_ATxmega192D3__) \
1943 || defined(__AVR_ATxmega256A3__) \
1944 -|| defined(__AVR_ATxmega256A3B__)
1945 +|| defined(__AVR_ATxmega256A3U__) \
1946 +|| defined(__AVR_ATxmega256A3B__) \
1947 +|| defined(__AVR_ATxmega256A3BU__) \
1948 +|| defined(__AVR_ATxmega384C3__)
1951 #define power_rtc_enable() (PR_PRGEN &= (uint8_t)~(PR_RTC_bm))
1952 @@ -503,6 +651,77 @@ do { \
1956 +#if defined(__AVR_ATxmega64D4__) \
1957 +|| defined(__AVR_ATxmega128D4__)
1959 +#define power_rtc_enable() (PR_PRGEN &= (uint8_t)~(PR_RTC_bm))
1960 +#define power_rtc_disable() (PR_PRGEN |= (uint8_t)PR_RTC_bm)
1962 +#define power_evsys_enable() (PR_PRGEN &= (uint8_t)~(PR_EVSYS_bm))
1963 +#define power_evsys_disable() (PR_PRGEN |= (uint8_t)PR_EVSYS_bm)
1965 +#define power_adca_enable() (PR_PRPA &= (uint8_t)~(PR_ADC_bm))
1966 +#define power_adca_disable() (PR_PRPA |= (uint8_t)PR_ADC_bm)
1968 +#define power_aca_enable() (PR_PRPA &= (uint8_t)~(PR_AC_bm))
1969 +#define power_aca_disable() (PR_PRPA |= (uint8_t)PR_AC_bm)
1971 +#define power_twic_enable() (PR_PRPC &= (uint8_t)~(PR_TWI_bm))
1972 +#define power_twic_disable() (PR_PRPC |= (uint8_t)PR_TWI_bm)
1973 +#define power_twie_enable() (PR_PRPE &= (uint8_t)~(PR_TWI_bm))
1974 +#define power_twie_disable() (PR_PRPE |= (uint8_t)PR_TWI_bm)
1976 +#define power_usartc0_enable() (PR_PRPC &= (uint8_t)~(PR_USART0_bm))
1977 +#define power_usartc0_disable() (PR_PRPC |= (uint8_t)PR_USART0_bm)
1978 +#define power_usartd0_enable() (PR_PRPD &= (uint8_t)~(PR_USART0_bm))
1979 +#define power_usartd0_disable() (PR_PRPD |= (uint8_t)PR_USART0_bm)
1980 +#define power_usarte0_enable() (PR_PRPE &= (uint8_t)~(PR_USART0_bm))
1981 +#define power_usarte0_disable() (PR_PRPE |= (uint8_t)PR_USART0_bm)
1982 +#define power_usartf0_enable() (PR_PRPF &= (uint8_t)~(PR_USART0_bm))
1983 +#define power_usartf0_disable() (PR_PRPF |= (uint8_t)PR_USART0_bm)
1985 +#define power_spic_enable() (PR_PRPC &= (uint8_t)~(PR_SPI_bm))
1986 +#define power_spic_disable() (PR_PRPC |= (uint8_t)PR_SPI_bm)
1987 +#define power_spid_enable() (PR_PRPD &= (uint8_t)~(PR_SPI_bm))
1988 +#define power_spid_disable() (PR_PRPD |= (uint8_t)PR_SPI_bm)
1990 +#define power_hiresc_enable() (PR_PRPC &= (uint8_t)~(PR_HIRES_bm))
1991 +#define power_hiresc_disable() (PR_PRPC |= (uint8_t)PR_HIRES_bm)
1993 +#define power_tc1c_enable() (PR_PRPC &= (uint8_t)~(PR_TC1_bm))
1994 +#define power_tc1c_disable() (PR_PRPC |= (uint8_t)PR_TC1_bm)
1996 +#define power_tc0c_enable() (PR_PRPC &= (uint8_t)~(PR_TC0_bm))
1997 +#define power_tc0c_disable() (PR_PRPC |= (uint8_t)PR_TC0_bm)
1998 +#define power_tc0d_enable() (PR_PRPD &= (uint8_t)~(PR_TC0_bm))
1999 +#define power_tc0d_disable() (PR_PRPD |= (uint8_t)PR_TC0_bm)
2000 +#define power_tc0e_enable() (PR_PRPE &= (uint8_t)~(PR_TC0_bm))
2001 +#define power_tc0e_disable() (PR_PRPE |= (uint8_t)PR_TC0_bm)
2002 +#define power_tc0f_enable() (PR_PRPF &= (uint8_t)~(PR_TC0_bm))
2003 +#define power_tc0f_disable() (PR_PRPF |= (uint8_t)PR_TC0_bm)
2005 +#define power_all_enable() \
2007 + PR_PRGEN &= (uint8_t)~(PR_RTC_bm|PR_EVSYS_bm); \
2008 + PR_PRPA &= (uint8_t)~(PR_ADC_bm|PR_AC_bm); \
2009 + PR_PRPC &= (uint8_t)~(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
2010 + PR_PRPD &= (uint8_t)~(PR_USART0_bm|PR_SPI_bm|PR_TC0_bm); \
2011 + PR_PRPE &= (uint8_t)~(PR_TWI_bm|PR_USART0_bm|PR_TC0_bm); \
2012 + PR_PRPF &= (uint8_t)~(PR_USART0_bm|PR_TC0_bm); \
2015 +#define power_all_disable() \
2017 + PR_PRGEN |= (uint8_t)(PR_RTC_bm|PR_EVSYS_bm); \
2018 + PR_PRPA |= (uint8_t)(PR_ADC_bm|PR_AC_bm); \
2019 + PR_PRPC |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
2020 + PR_PRPD |= (uint8_t)(PR_USART0_bm|PR_SPI_bm|PR_TC0_bm); \
2021 + PR_PRPE |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_TC0_bm); \
2022 + PR_PRPF |= (uint8_t)(PR_USART0_bm|PR_TC0_bm); \
2027 #if defined(__AVR_ATxmega16D4__) \
2028 || defined(__AVR_ATxmega32D4__) \
2029 || defined(__AVR_ATxmega64D3__) \
2030 @@ -532,6 +751,78 @@ do { \
2031 PR_PRPF |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
2034 +#elif defined (__AVR_ATxmega64B1__) \
2035 +|| defined (__AVR_ATxmega64B3__) \
2036 +|| defined (__AVR_ATxmega128B1__) \
2037 +|| defined (__AVR_ATxmega128B3__)
2038 +#define power_lcd_enable() (PR_PRGEN &= (uint8_t)~(PR_LCD_bm))
2039 +#define power_lcd_disable() (PR_PRGEN |= (uint8_t)PR_LCD_bm)
2041 +#define power_usb_enable() (PR_PRGEN &= (uint8_t)~(PR_USB_bm))
2042 +#define power_usb_disable() (PR_PRGEN |= (uint8_t)PR_USB_bm)
2044 +#define power_aes_enable() (PR_PRGEN &= (uint8_t)~(PR_AES_bm))
2045 +#define power_aes_disable() (PR_PRGEN |= (uint8_t)PR_AES_bm)
2047 +#define power_rtc_enable() (PR_PRGEN &= (uint8_t)~(PR_RTC_bm))
2048 +#define power_rtc_disable() (PR_PRGEN |= (uint8_t)PR_RTC_bm)
2050 +#define power_evsys_enable() (PR_PRGEN &= (uint8_t)~(PR_EVSYS_bm))
2051 +#define power_evsys_disable() (PR_PRGEN |= (uint8_t)PR_EVSYS_bm)
2053 +#define power_dma_enable() (PR_PRGEN &= (uint8_t)~(PR_DMA_bm))
2054 +#define power_dma_disable() (PR_PRGEN |= (uint8_t)PR_DMA_bm)
2056 +#define power_adca_enable() (PR_PRPA &= (uint8_t)~(PR_ADC_bm))
2057 +#define power_adca_disable() (PR_PRPA |= (uint8_t)PR_ADC_bm)
2058 +#define power_adcb_enable() (PR_PRPB &= (uint8_t)~(PR_ADC_bm))
2059 +#define power_adcb_disable() (PR_PRPB |= (uint8_t)PR_ADC_bm)
2061 +#define power_aca_enable() (PR_PRPA &= (uint8_t)~(PR_AC_bm))
2062 +#define power_aca_disable() (PR_PRPA |= (uint8_t)PR_AC_bm)
2063 +#define power_acb_enable() (PR_PRPB &= (uint8_t)~(PR_AC_bm))
2064 +#define power_acb_disable() (PR_PRPB |= (uint8_t)PR_AC_bm)
2066 +#define power_twic_enable() (PR_PRPC &= (uint8_t)~(PR_TWI_bm))
2067 +#define power_twic_disable() (PR_PRPC |= (uint8_t)PR_TWI_bm)
2069 +#define power_usartc0_enable() (PR_PRPC &= (uint8_t)~(PR_USART0_bm))
2070 +#define power_usartc0_disable() (PR_PRPC |= (uint8_t)PR_USART0_bm)
2071 +#define power_usarte0_enable() (PR_PRPE &= (uint8_t)~(PR_USART0_bm))
2072 +#define power_usarte0_disable() (PR_PRPE |= (uint8_t)PR_USART0_bm)
2074 +#define power_spic_enable() (PR_PRPC &= (uint8_t)~(PR_SPI_bm))
2075 +#define power_spic_disable() (PR_PRPC |= (uint8_t)PR_SPI_bm)
2077 +#define power_hiresc_enable() (PR_PRPC &= (uint8_t)~(PR_HIRES_bm))
2078 +#define power_hiresc_disable() (PR_PRPC |= (uint8_t)PR_HIRES_bm)
2080 +#define power_tc1c_enable() (PR_PRPC &= (uint8_t)~(PR_TC1_bm))
2081 +#define power_tc1c_disable() (PR_PRPC |= (uint8_t)PR_TC1_bm)
2083 +#define power_tc0c_enable() (PR_PRPC &= (uint8_t)~(PR_TC0_bm))
2084 +#define power_tc0c_disable() (PR_PRPC |= (uint8_t)PR_TC0_bm)
2085 +#define power_tc0e_enable() (PR_PRPE &= (uint8_t)~(PR_TC0_bm))
2086 +#define power_tc0e_disable() (PR_PRPE |= (uint8_t)PR_TC0_bm)
2088 +#define power_all_enable() \
2090 + PR_PRGEN &= (uint8_t)~(PR_LCD_bm|PR_USB_bm|PR_AES_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \
2091 + PR_PRPA &= (uint8_t)~(PR_ADC_bm|PR_AC_bm); \
2092 + PR_PRPB &= (uint8_t)~(PR_ADC_bm|PR_AC_bm); \
2093 + PR_PRPC &= (uint8_t)~(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
2094 + PR_PRPE &= (uint8_t)~(PR_USART0_bm|PR_TC0_bm); \
2097 +#define power_all_disable() \
2099 + PR_PRGEN |= (uint8_t)(PR_LCD_bm|PR_USB_bm|PR_AES_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \
2100 + PR_PRPA |= (uint8_t)(PR_ADC_bm|PR_AC_bm); \
2101 + PR_PRPB |= (uint8_t)(PR_ADC_bm|PR_AC_bm); \
2102 + PR_PRPC |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
2103 + PR_PRPE |= (uint8_t)(PR_USART0_bm|PR_TC0_bm); \
2106 #elif defined(__AVR_ATmega640__) \
2107 || defined(__AVR_ATmega1280__) \
2108 || defined(__AVR_ATmega1281__) \
2109 @@ -841,7 +1132,8 @@ do{ \
2110 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
2113 -#elif defined(__AVR_AT90PWM81__)
2114 +#elif defined(__AVR_AT90PWM81__) \
2115 +|| defined(__AVR_AT90PWM161__)
2117 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC))
2118 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC))
2119 @@ -867,10 +1159,13 @@ do{ \
2120 #elif defined(__AVR_ATmega165__) \
2121 || defined(__AVR_ATmega165A__) \
2122 || defined(__AVR_ATmega165P__) \
2123 +|| defined(__AVR_ATmega165PA__) \
2124 || defined(__AVR_ATmega325__) \
2125 || defined(__AVR_ATmega325A__) \
2126 +|| defined(__AVR_ATmega325PA__) \
2127 || defined(__AVR_ATmega3250__) \
2128 || defined(__AVR_ATmega3250A__) \
2129 +|| defined(__AVR_ATmega3250PA__) \
2130 || defined(__AVR_ATmega645__) \
2131 || defined(__AVR_ATmega645A__) \
2132 || defined(__AVR_ATmega645P__) \
2133 @@ -905,6 +1200,7 @@ do{ \
2134 || defined(__AVR_ATmega3290__) \
2135 || defined(__AVR_ATmega3290A__) \
2136 || defined(__AVR_ATmega3290P__) \
2137 +|| defined(__AVR_ATmega3290PA__) \
2138 || defined(__AVR_ATmega649__) \
2139 || defined(__AVR_ATmega649A__) \
2140 || defined(__AVR_ATmega649P__) \
2141 @@ -968,7 +1264,8 @@ do{ \
2142 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI)))
2145 -#elif defined(__AVR_ATmega644__)
2146 +#elif defined(__AVR_ATmega644__) \
2147 +|| defined(__AVR_ATmega164PA__)
2149 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC))
2150 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC))
2151 @@ -1016,6 +1313,7 @@ do{ \
2153 #elif defined(__AVR_ATmega48__) \
2154 || defined(__AVR_ATmega48A__) \
2155 +|| defined(__AVR_ATmega48PA__) \
2156 || defined(__AVR_ATmega48P__) \
2157 || defined(__AVR_ATmega88__) \
2158 || defined(__AVR_ATmega88A__) \
2159 @@ -1024,10 +1322,12 @@ do{ \
2160 || defined(__AVR_ATmega168__) \
2161 || defined(__AVR_ATmega168A__) \
2162 || defined(__AVR_ATmega168P__) \
2163 +|| defined(__AVR_ATmega168PA__) \
2164 || defined(__AVR_ATmega328__) \
2165 || defined(__AVR_ATmega328P__) \
2166 || defined(__AVR_ATtiny48__) \
2167 -|| defined(__AVR_ATtiny88__)
2168 +|| defined(__AVR_ATtiny88__) \
2169 +|| defined(__AVR_ATtiny828__)
2171 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC))
2172 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC))
2173 @@ -1044,15 +1344,27 @@ do{ \
2174 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1))
2175 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1))
2177 +#if !defined(__AVR_ATtiny828__)
2179 #define power_timer2_enable() (PRR &= (uint8_t)~(1 << PRTIM2))
2180 #define power_timer2_disable() (PRR |= (uint8_t)(1 << PRTIM2))
2184 #define power_twi_enable() (PRR &= (uint8_t)~(1 << PRTWI))
2185 #define power_twi_disable() (PRR |= (uint8_t)(1 << PRTWI))
2187 +#if defined(__AVR_ATtiny828__)
2189 +#define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
2190 +#define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
2194 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI)))
2195 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI)))
2199 #elif defined(__AVR_ATtiny24__) \
2200 || defined(__AVR_ATtiny24A__) \
2201 @@ -1087,6 +1399,43 @@ do{ \
2202 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRUSI)))
2203 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRUSI)))
2205 +#elif defined(__AVR_ATmega1284__)
2207 +#define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC))
2208 +#define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC))
2210 +#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI))
2211 +#define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI))
2213 +#define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI))
2214 +#define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI))
2216 +#define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0))
2217 +#define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0))
2219 +#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1))
2220 +#define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1))
2222 +#define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2))
2223 +#define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2))
2225 +#define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3))
2226 +#define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3))
2228 +#define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0))
2229 +#define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0))
2231 +#define power_all_enable() \
2233 + PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \
2234 + PRR1 &= (uint8_t)~(1<<PRTIM3); \
2237 +#define power_all_disable() \
2239 + PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \
2240 + PRR1 |= (uint8_t)(1<<PRTIM3); \
2243 #elif defined(__AVR_ATmega1284P__)
2245 @@ -1160,6 +1509,70 @@ do{ \
2246 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRVADC)|(1<<PRSPI)|(1<<PRVRM)))
2249 +#elif defined (__AVR_ATA5790__) \
2250 +|| defined (__AVR_ATA5795__)
2252 +// Enable the voltage monitor
2253 +#define power_vmonitor_enable() (PRR0 &= (uint8_t)~(1 << PRVM))
2254 +#define power_vmonitor_disable() (PRR0 |= (uint8_t)(1 << PRVM))
2256 +#define power_irdriver_enable() (PRR0 &= (uint8_t)~(1 << PRDS))
2257 +#define power_irdriver_disable() (PRR0 |= (uint8_t)(1 << PRDS))
2259 +#define power_crypto_enable() (PRR0 &= (uint8_t)~(1 << PRCU))
2260 +#define power_crypto_disable() (PRR0 |= (uint8_t)(1 << PRCU))
2262 +#define power_timermodulator_enable() (PRR0 &= (uint8_t)~(1 << PRTM))
2263 +#define power_timermodulator_disable() (PRR0 |= (uint8_t)(1 << PRTM))
2265 +#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRT1))
2266 +#define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRT1))
2268 +#define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRT2))
2269 +#define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRT2))
2271 +#define power_timer3_enable() (PRR0 &= (uint8_t)~(1 << PRT3))
2272 +#define power_timer3_disable() (PRR0 |= (uint8_t)(1 << PRT3))
2274 +#define power_spi_enable() (PRR1 &= (uint8_t)~(1 << PRSPI))
2275 +#define power_spi_disable() (PRR1 |= (uint8_t)(1 << PRSPI))
2277 +#define power_cinterface_enable() (PRR1 &= (uint8_t)~(1 << PRCI))
2278 +#define power_cinterface_disable() (PRR1 |= (uint8_t)(1 << PRCI))
2280 +#if defined(__AVR_ATA5790__)
2282 +#define power_lfreceiver_enable() (PRR0 &= (uint8_t)~(1 << PRLFR))
2283 +#define power_lfreceiver_disable() (PRR0 |= (uint8_t)(1 << PRLFR))
2285 +#define power_all_enable() \
2287 + PRR0 &= (uint8_t)~((1<<PRVM)|(1<<PRDS)|(1<<PRCU)|(1<<PRTM)|(1<<PRT3)|(1<<PRT2)|(1<<PRT1)|(1<<PRLFR)); \
2288 + PRR1 &= (uint8_t)~((1<<PRSPI)|(1<<PRCI)); \
2291 +#define power_all_disable() \
2293 + PRR0 |= (uint8_t)((1<<PRVM)|(1<<PRDS)|(1<<PRCU)|(1<<PRTM)|(1<<PRT3)|(1<<PRT2)|(1<<PRT1)|(1<<PRLFR)); \
2294 + PRR1 |= (uint8_t)((1<<PRSPI)|(1<<PRCI)); \
2297 +#elif defined(__AVR_ATA5795__)
2299 +#define power_all_enable() \
2301 + PRR0 &= (uint8_t)~((1<<PRVM)|(1<<PRDS)|(1<<PRCU)|(1<<PRTM)|(1<<PRT3)|(1<<PRT2)|(1<<PRT1)); \
2302 + PRR1 &= (uint8_t)~((1<<PRSPI)|(1<<PRCI)); \
2305 +#define power_all_disable() \
2307 + PRR0 |= (uint8_t)((1<<PRVM)|(1<<PRDS)|(1<<PRCU)|(1<<PRTM)|(1<<PRT3)|(1<<PRT2)|(1<<PRT1)); \
2308 + PRR1 |= (uint8_t)((1<<PRSPI)|(1<<PRCI)); \
2313 #elif defined(__AVR_ATmega16M1__) \
2314 || defined(__AVR_ATmega32C1__) \
2315 || defined(__AVR_ATmega32M1__) \
2316 @@ -1192,8 +1605,9 @@ do{ \
2319 #elif defined(__AVR_ATtiny167__) \
2320 -|| defined(__AVR_ATtiny87__)
2322 +|| defined(__AVR_ATtiny87__) \
2323 +|| defined(__AVR_ATA5505__) \
2324 +|| defined(__AVR_ATA5272__)
2326 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC))
2327 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC))
2328 @@ -1217,6 +1631,33 @@ do{ \
2329 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN)))
2332 +#elif defined(__AVR_ATtiny1634__)
2334 +#define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC))
2335 +#define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC))
2337 +#define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0))
2338 +#define power_usart0_disable() (PRR |= (uint8_t)(1 << PRUSART0))
2340 +#define power_usart1_enable() (PRR &= (uint8_t)~(1 << PRUSART1))
2341 +#define power_usart1_disable() (PRR |= (uint8_t)(1 << PRUSART1))
2343 +#define power_usi_enable() (PRR &= (uint8_t)~(1 << PRUSI))
2344 +#define power_usi_disable() (PRR |= (uint8_t)(1 << PRUSI))
2346 +#define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0))
2347 +#define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0))
2349 +#define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1))
2350 +#define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1))
2352 +#define power_twi_enable() (PRR &= (uint8_t)~(1 << PRTWI))
2353 +#define power_twi_disable() (PRR |= (uint8_t)(1 << PRTWI))
2355 +#define power_all_enable() (PRR &= (uint8_t)~((1 << PRTWI)|(1 << PRUSI)|(1 << PRTIM0)|(1 << PRTIM1)|(1 << PRUSART0)|(1 << PRUSART1)|(1 << PRADC)))
2356 +#define power_all_disable() (PRR |= (uint8_t)((1 << PRTWI)|(1 << PRUSI)|(1 << PRTIM0)|(1 << PRTIM1)|(1 << PRUSART0)|(1 << PRUSART1)|(1 << PRADC)))
2359 #elif defined(__AVR_AT90USB82__) \
2360 || defined(__AVR_AT90USB162__) \
2361 || defined(__AVR_ATmega8U2__) \
2362 @@ -1350,6 +1791,8 @@ do{ \
2363 || defined(__AVR_AT90PWM2B__) \
2364 || defined(__AVR_AT90PWM3__) \
2365 || defined(__AVR_AT90PWM3B__) \
2366 +|| defined(__AVR_AT90PWM81__) \
2367 +|| defined(__AVR_AT90PWM161__) \
2368 || defined(__AVR_AT90PWM216__) \
2369 || defined(__AVR_AT90PWM316__) \
2370 || defined(__AVR_AT90SCR100__) \
2371 @@ -1359,18 +1802,24 @@ do{ \
2372 || defined(__AVR_AT90USB1286__) \
2373 || defined(__AVR_AT90USB1287__) \
2374 || defined(__AVR_AT90USB162__) \
2375 +|| defined(__AVR_ATA5505__) \
2376 +|| defined(__AVR_ATA5272__) \
2377 || defined(__AVR_ATmega1280__) \
2378 || defined(__AVR_ATmega1281__) \
2379 +|| defined(__AVR_ATmega1284__) \
2380 || defined(__AVR_ATmega128RFA1__) \
2381 || defined(__AVR_ATmega1284P__) \
2382 || defined(__AVR_ATmega162__) \
2383 || defined(__AVR_ATmega164A__) \
2384 || defined(__AVR_ATmega164P__) \
2385 +|| defined(__AVR_ATmega164PA__) \
2386 || defined(__AVR_ATmega165__) \
2387 || defined(__AVR_ATmega165A__) \
2388 || defined(__AVR_ATmega165P__) \
2389 +|| defined(__AVR_ATmega165PA__) \
2390 || defined(__AVR_ATmega168__) \
2391 || defined(__AVR_ATmega168P__) \
2392 +|| defined(__AVR_ATmega168PA__) \
2393 || defined(__AVR_ATmega169__) \
2394 || defined(__AVR_ATmega169A__) \
2395 || defined(__AVR_ATmega169P__) \
2396 @@ -1382,8 +1831,10 @@ do{ \
2397 || defined(__AVR_ATmega324P__) \
2398 || defined(__AVR_ATmega325__) \
2399 || defined(__AVR_ATmega325A__) \
2400 +|| defined(__AVR_ATmega325PA__) \
2401 || defined(__AVR_ATmega3250__) \
2402 || defined(__AVR_ATmega3250A__) \
2403 +|| defined(__AVR_ATmega3250PA__) \
2404 || defined(__AVR_ATmega328__) \
2405 || defined(__AVR_ATmega328P__) \
2406 || defined(__AVR_ATmega329__) \
2407 @@ -1392,12 +1843,15 @@ do{ \
2408 || defined(__AVR_ATmega329PA__) \
2409 || defined(__AVR_ATmega3290__) \
2410 || defined(__AVR_ATmega3290A__) \
2411 +|| defined(__AVR_ATmega3290PA__) \
2412 || defined(__AVR_ATmega32C1__) \
2413 || defined(__AVR_ATmega32M1__) \
2414 || defined(__AVR_ATmega32U2__) \
2415 || defined(__AVR_ATmega32U4__) \
2416 || defined(__AVR_ATmega32U6__) \
2417 || defined(__AVR_ATmega48__) \
2418 +|| defined(__AVR_ATmega48A__) \
2419 +|| defined(__AVR_ATmega48PA__) \
2420 || defined(__AVR_ATmega48P__) \
2421 || defined(__AVR_ATmega640__) \
2422 || defined(__AVR_ATmega649P__) \
2423 @@ -1541,6 +1995,158 @@ void clock_prescale_set(clock_div_t __x)
2425 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)))
2427 +#elif defined(__AVR_ATA5790__) \
2428 +|| defined (__AVR_ATA5795__)
2439 + clock_div_128 = 7,
2442 +static __inline__ void system_clock_prescale_set(clock_div_t) __attribute__((__always_inline__));
2444 +void system_clock_prescale_set(clock_div_t __x)
2446 + uint8_t __tmp = _BV(CLKPCE);
2447 + __asm__ __volatile__ (
2448 + "in __tmp_reg__,__SREG__" "\n\t"
2450 + "out %1, %0" "\n\t"
2451 + "out %1, %2" "\n\t"
2452 + "out __SREG__, __tmp_reg__"
2453 + : /* no outputs */
2455 + "I" (_SFR_IO_ADDR(CLKPR)),
2460 +#define system_clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)))
2464 + timer_clock_div_reset = 0,
2465 + timer_clock_div_1 = 1,
2466 + timer_clock_div_2 = 2,
2467 + timer_clock_div_4 = 3,
2468 + timer_clock_div_8 = 4,
2469 + timer_clock_div_16 = 5,
2470 + timer_clock_div_32 = 6,
2471 + timer_clock_div_64 = 7
2472 +} timer_clock_div_t;
2474 +static __inline__ void timer_clock_prescale_set(timer_clock_div_t) __attribute__((__always_inline__));
2476 +void timer_clock_prescale_set(timer_clock_div_t __x)
2479 + __asm__ __volatile__ (
2480 + "in __tmp_reg__,__SREG__" "\n\t"
2482 + "in %[temp],%[clkpr]" "\n\t"
2483 + "out %[clkpr],%[enable]" "\n\t"
2484 + "andi %[temp],%[not_CLTPS]" "\n\t"
2485 + "or %[temp], %[set_value]" "\n\t"
2486 + "out %[clkpr],%[temp]" "\n\t"
2488 + "out __SREG__,__tmp_reg__" "\n\t"
2489 + : /* no outputs */
2490 + : [temp] "r" (__t),
2491 + [clkpr] "I" (_SFR_IO_ADDR(CLKPR)),
2492 + [enable] "r" (_BV(CLKPCE)),
2493 + [not_CLTPS] "M" (0xFF & (~ ((1 << CLTPS2) | (1 << CLTPS1) | (1 << CLTPS0)))),
2494 + [set_value] "r" ((__x & 7) << 3)
2498 +#define timer_clock_prescale_get() (timer_clock_div_t)(CLKPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2)))
2500 +#elif defined(__AVR_ATA6285__) \
2501 +|| defined(__AVR_ATA6286__)
2515 +static __inline__ void system_clock_prescale_set(clock_div_t) __attribute__((__always_inline__));
2517 +void system_clock_prescale_set(clock_div_t __x)
2520 + __asm__ __volatile__ (
2521 + "in __tmp_reg__,__SREG__" "\n\t"
2523 + "in %[temp],%[clpr]" "\n\t"
2524 + "out %[clpr],%[enable]" "\n\t"
2525 + "andi %[temp],%[not_CLKPS]" "\n\t"
2526 + "or %[temp], %[set_value]" "\n\t"
2527 + "out %[clpr],%[temp]" "\n\t"
2529 + "out __SREG__,__tmp_reg__" "\n\t"
2530 + : /* no outputs */
2531 + : [temp] "r" (__t),
2532 + [clpr] "I" (_SFR_IO_ADDR(CLKPR)),
2533 + [enable] "r" _BV(CLPCE),
2534 + [not_CLKPS] "M" (0xFF & (~ ((1 << CLKPS2) | (1 << CLKPS1) | (1 << CLKPS0)))),
2535 + [set_value] "r" (__x & 7)
2539 +#define system_clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)))
2543 + timer_clock_div_reset = 0,
2544 + timer_clock_div_1 = 1,
2545 + timer_clock_div_2 = 2,
2546 + timer_clock_div_4 = 3,
2547 + timer_clock_div_8 = 4,
2548 + timer_clock_div_16 = 5,
2549 + timer_clock_div_32 = 6,
2550 + timer_clock_div_64 = 7
2551 +} timer_clock_div_t;
2553 +static __inline__ void timer_clock_prescale_set(timer_clock_div_t) __attribute__((__always_inline__));
2555 +void timer_clock_prescale_set(timer_clock_div_t __x)
2558 + __asm__ __volatile__ (
2559 + "in __tmp_reg__,__SREG__" "\n\t"
2561 + "in %[temp],%[clpr]" "\n\t"
2562 + "out %[clpr],%[enable]" "\n\t"
2563 + "andi %[temp],%[not_CLTPS]" "\n\t"
2564 + "or %[temp], %[set_value]" "\n\t"
2565 + "out %[clpr],%[temp]" "\n\t"
2567 + "out __SREG__,__tmp_reg__" "\n\t"
2568 + : /* no outputs */
2569 + : [temp] "r" (__t),
2570 + [clpr] "I" (_SFR_IO_ADDR(CLKPR)),
2571 + [enable] "r" (_BV(CLPCE)),
2572 + [not_CLTPS] "M" (0xFF & (~ ((1 << CLTPS2) | (1 << CLTPS1) | (1 << CLTPS0)))),
2573 + [set_value] "r" ((__x & 7) << 3)
2577 +#define timer_clock_prescale_get() (timer_clock_div_t)(CLKPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2)))
2579 #elif defined(__AVR_ATtiny24__) \
2580 || defined(__AVR_ATtiny24A__) \
2581 || defined(__AVR_ATtiny44__) \
2582 diff -Naurp include/avr/sleep.h include/avr/sleep.h
2583 --- include/avr/sleep.h 2012-11-22 19:55:03.000000000 +0530
2584 +++ include/avr/sleep.h 2012-11-22 19:58:10.000000000 +0530
2588 #elif defined(__AVR_ATtiny167__) \
2589 -|| defined(__AVR_ATtiny87__)
2590 +|| defined(__AVR_ATtiny87__) \
2591 +|| defined(__AVR_ATtiny828__)
2593 #define SLEEP_MODE_IDLE 0
2594 #define SLEEP_MODE_ADC _BV(SM0)
2598 #elif defined(__AVR_AT90S4434__) \
2599 +|| defined(__AVR_ATA5505__) \
2600 +|| defined(__AVR_ATA5272__) \
2601 || defined(__AVR_AT76C711__) \
2602 || defined(__AVR_AT90S8535__) \
2603 || defined(__AVR_ATmega103__) \
2605 || defined(__AVR_ATtiny461A__) \
2606 || defined(__AVR_ATtiny861__) \
2607 || defined(__AVR_ATtiny861A__) \
2608 -|| defined(__AVR_ATtiny43U__)
2609 +|| defined(__AVR_ATtiny43U__) \
2610 +|| defined(__AVR_ATtiny1634__)
2612 #define SLEEP_MODE_IDLE 0
2613 #define SLEEP_MODE_ADC _BV(SM0)
2616 #elif defined(__AVR_AT90PWM216__) \
2617 || defined(__AVR_AT90PWM316__) \
2618 +|| defined(__AVR_AT90PWM161__) \
2619 || defined(__AVR_AT90PWM81__) \
2620 || defined(__AVR_AT90PWM1__) \
2621 || defined(__AVR_AT90PWM2__) \
2622 @@ -354,8 +359,10 @@
2623 || defined(__AVR_AT90USB646__) \
2624 || defined(__AVR_AT90USB647__) \
2625 || defined(__AVR_ATmega128__) \
2626 +|| defined(__AVR_ATmega128A__) \
2627 || defined(__AVR_ATmega1280__) \
2628 || defined(__AVR_ATmega1281__) \
2629 +|| defined(__AVR_ATmega1284__) \
2630 || defined(__AVR_ATmega1284P__) \
2631 || defined(__AVR_ATmega128RFA1__) \
2632 || defined(__AVR_ATmega16__) \
2633 @@ -363,13 +370,16 @@
2634 || defined(__AVR_ATmega162__) \
2635 || defined(__AVR_ATmega164A__) \
2636 || defined(__AVR_ATmega164P__) \
2637 +|| defined(__AVR_ATmega164PA__) \
2638 || defined(__AVR_ATmega168A__) \
2639 || defined(__AVR_ATmega168P__) \
2640 +|| defined(__AVR_ATmega168PA__) \
2641 || defined(__AVR_ATmega16HVA2__) \
2642 || defined(__AVR_ATmega16U4__) \
2643 || defined(__AVR_ATmega2560__) \
2644 || defined(__AVR_ATmega2561__) \
2645 || defined(__AVR_ATmega32__) \
2646 +|| defined(__AVR_ATmega32A__) \
2647 || defined(__AVR_ATmega323__) \
2648 || defined(__AVR_ATmega324A__) \
2649 || defined(__AVR_ATmega324P__) \
2650 @@ -380,8 +390,10 @@
2651 || defined(__AVR_ATmega32U4__) \
2652 || defined(__AVR_ATmega32U6__) \
2653 || defined(__AVR_ATmega48A__) \
2654 +|| defined(__AVR_ATmega48PA__) \
2655 || defined(__AVR_ATmega48P__) \
2656 || defined(__AVR_ATmega64__) \
2657 +|| defined(__AVR_ATmega64A__) \
2658 || defined(__AVR_ATmega640__) \
2659 || defined(__AVR_ATmega644__) \
2660 || defined(__AVR_ATmega644A__) \
2661 @@ -407,21 +419,26 @@
2662 _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
2665 -#elif defined(__AVR_ATmega8__) \
2666 +#elif defined(__AVR_ATmega8A__) \
2667 +|| defined(__AVR_ATmega8__) \
2668 || defined(__AVR_ATmega6450A__) \
2669 || defined(__AVR_ATmega6450P__) \
2670 || defined(__AVR_ATmega645A__) \
2671 || defined(__AVR_ATmega645P__) \
2672 || defined(__AVR_ATmega3250A__) \
2673 +|| defined(__AVR_ATmega3250PA__) \
2674 || defined(__AVR_ATmega325A__) \
2675 +|| defined(__AVR_ATmega325PA__) \
2676 || defined(__AVR_ATmega165A__) \
2677 || defined(__AVR_ATmega165P__) \
2678 +|| defined(__AVR_ATmega165PA__) \
2679 || defined(__AVR_ATmega169A__) \
2680 || defined(__AVR_ATmega169P__) \
2681 || defined(__AVR_ATmega169PA__) \
2682 || defined(__AVR_ATmega329A__) \
2683 || defined(__AVR_ATmega329PA__) \
2684 || defined(__AVR_ATmega3290A__) \
2685 +|| defined(__AVR_ATmega3290PA__) \
2686 || defined(__AVR_ATmega649A__) \
2687 || defined(__AVR_ATmega649P__) \
2688 || defined(__AVR_ATmega6490A__) \
2689 @@ -458,22 +475,45 @@
2692 #elif defined(__AVR_ATxmega16A4__) \
2693 +|| defined(__AVR_ATxmega16A4U__) \
2694 +|| defined(__AVR_ATxmega16C4__) \
2695 || defined(__AVR_ATxmega16D4__) \
2696 || defined(__AVR_ATxmega32A4__) \
2697 +|| defined(__AVR_ATxmega32A4U__) \
2698 +|| defined(__AVR_ATxmega32C4__) \
2699 || defined(__AVR_ATxmega32D4__) \
2700 || defined(__AVR_ATxmega64A1__) \
2701 || defined(__AVR_ATxmega64A1U__) \
2702 || defined(__AVR_ATxmega64A3__) \
2703 +|| defined(__AVR_ATxmega64A3U__) \
2704 +|| defined(__AVR_ATxmega64A4U__) \
2705 +|| defined(__AVR_ATxmega64B1__) \
2706 +|| defined(__AVR_ATxmega64B3__) \
2707 +|| defined(__AVR_ATxmega64C3__) \
2708 || defined(__AVR_ATxmega64D3__) \
2709 +|| defined(__AVR_ATxmega64D4__) \
2710 || defined(__AVR_ATxmega128A1__) \
2711 || defined(__AVR_ATxmega128A1U__) \
2712 || defined(__AVR_ATxmega128A3__) \
2713 +|| defined(__AVR_ATxmega128A3U__) \
2714 +|| defined(__AVR_ATxmega128A4U__) \
2715 +|| defined(__AVR_ATxmega128B1__) \
2716 +|| defined(__AVR_ATxmega128B3__) \
2717 +|| defined(__AVR_ATxmega128C3__) \
2718 || defined(__AVR_ATxmega128D3__) \
2719 +|| defined(__AVR_ATxmega128D4__) \
2720 || defined(__AVR_ATxmega192A3__) \
2721 +|| defined(__AVR_ATxmega192A3U__) \
2722 +|| defined(__AVR_ATxmega192C3__) \
2723 || defined(__AVR_ATxmega192D3__) \
2724 || defined(__AVR_ATxmega256A3__) \
2725 +|| defined(__AVR_ATxmega256A3U__) \
2726 +|| defined(__AVR_ATxmega256C3__) \
2727 || defined(__AVR_ATxmega256D3__) \
2728 -|| defined(__AVR_ATxmega256A3B__)
2729 +|| defined(__AVR_ATxmega256A3B__) \
2730 +|| defined(__AVR_ATxmega256A3BU__) \
2731 +|| defined(__AVR_ATxmega384C3__) \
2732 +|| defined(__AVR_ATxmega384D3__)
2734 #define SLEEP_MODE_IDLE (0)
2735 #define SLEEP_MODE_PWR_DOWN (SLEEP_SMODE1_bm)
2737 _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
2740 -#elif defined(__AVR_ATA6289__)
2741 +#elif defined(__AVR_ATA6285__) \
2742 +|| defined(__AVR_ATA6286__) \
2743 +|| defined(__AVR_ATA6289__)
2745 #define SLEEP_MODE_IDLE (0)
2746 #define SLEEP_MODE_SENSOR_NOISE_REDUCTION (_BV(SM0))
2747 @@ -515,6 +557,19 @@
2748 _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
2751 +#elif defined (__AVR_ATA5790__) \
2752 +|| defined (__AVR_ATA5795__)
2754 + #define SLEEP_MODE_IDLE (0)
2755 + #define SLEEP_MODE_EXT_PWR_SAVE (_BV(SM0))
2756 + #define SLEEP_MODE_PWR_DOWN (_BV(SM1))
2757 + #define SLEEP_MODE_PWR_SAVE (_BV(SM1) | _BV(SM0))
2759 + #define set_sleep_mode(mode) \
2761 + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
2764 #elif defined(__AVR_ATtiny4__) \
2765 || defined(__AVR_ATtiny5__) \
2766 || defined(__AVR_ATtiny9__) \
2767 diff -Naurp include/avr/wdt.h include/avr/wdt.h
2768 --- include/avr/wdt.h 2011-12-29 14:21:50.000000000 +0530
2769 +++ include/avr/wdt.h 2012-11-22 19:48:48.000000000 +0530
2770 @@ -131,21 +131,44 @@
2773 #if defined(__AVR_ATxmega16A4__) \
2774 +|| defined(__AVR_ATxmega16A4U__) \
2775 +|| defined(__AVR_ATxmega16C4__) \
2776 || defined(__AVR_ATxmega16D4__) \
2777 || defined(__AVR_ATxmega32A4__) \
2778 +|| defined(__AVR_ATxmega32A4U__) \
2779 +|| defined(__AVR_ATxmega32C4__) \
2780 || defined(__AVR_ATxmega32D4__) \
2781 || defined(__AVR_ATxmega64A1U__) \
2782 || defined(__AVR_ATxmega64A3__) \
2783 +|| defined(__AVR_ATxmega64A3U__) \
2784 +|| defined(__AVR_ATxmega64A4U__) \
2785 +|| defined(__AVR_ATxmega64B1__) \
2786 +|| defined(__AVR_ATxmega64B3__) \
2787 +|| defined(__AVR_ATxmega64C3__) \
2788 || defined(__AVR_ATxmega64D3__) \
2789 +|| defined(__AVR_ATxmega64D4__) \
2790 || defined(__AVR_ATxmega128A1__) \
2791 || defined(__AVR_ATxmega128A1U__) \
2792 || defined(__AVR_ATxmega128A3__) \
2793 +|| defined(__AVR_ATxmega128A3U__) \
2794 +|| defined(__AVR_ATxmega128A4U__) \
2795 +|| defined(__AVR_ATxmega128B1__) \
2796 +|| defined(__AVR_ATxmega128B3__) \
2797 +|| defined(__AVR_ATxmega128C3__) \
2798 || defined(__AVR_ATxmega128D3__) \
2799 +|| defined(__AVR_ATxmega128D4__) \
2800 || defined(__AVR_ATxmega192A3__) \
2801 +|| defined(__AVR_ATxmega192A3U__) \
2802 +|| defined(__AVR_ATxmega192C3__) \
2803 || defined(__AVR_ATxmega192D3__) \
2804 || defined(__AVR_ATxmega256A3__) \
2805 +|| defined(__AVR_ATxmega256A3U__) \
2806 +|| defined(__AVR_ATxmega256C3__) \
2807 || defined(__AVR_ATxmega256D3__) \
2808 -|| defined(__AVR_ATxmega256A3B__)
2809 +|| defined(__AVR_ATxmega256A3B__) \
2810 +|| defined(__AVR_ATxmega256A3BU__) \
2811 +|| defined(__AVR_ATxmega384C3__) \
2812 +|| defined(__AVR_ATxmega384D3__)
2815 wdt_enable(WDT_PER_8KCLK_gc);
2816 @@ -177,6 +200,7 @@ __asm__ __volatile__ ( \
2817 || defined(__AVR_AT90PWM3__) \
2818 || defined(__AVR_AT90PWM316__) \
2819 || defined(__AVR_AT90PWM3B__) \
2820 +|| defined(__AVR_AT90PWM161__) \
2821 || defined(__AVR_AT90PWM81__) \
2822 || defined(__AVR_AT90USB1286__) \
2823 || defined(__AVR_AT90USB1287__) \
2824 @@ -184,19 +208,24 @@ __asm__ __volatile__ ( \
2825 || defined(__AVR_AT90USB646__) \
2826 || defined(__AVR_AT90USB647__) \
2827 || defined(__AVR_AT90USB82__) \
2828 +|| defined(__AVR_ATmega128A__) \
2829 || defined(__AVR_ATmega1280__) \
2830 || defined(__AVR_ATmega1281__) \
2831 +|| defined(__AVR_ATmega1284__) \
2832 || defined(__AVR_ATmega1284P__) \
2833 || defined(__AVR_ATmega128RFA1__) \
2834 || defined(__AVR_ATmega164__) \
2835 || defined(__AVR_ATmega164A__) \
2836 || defined(__AVR_ATmega164P__) \
2837 +|| defined(__AVR_ATmega164PA__) \
2838 || defined(__AVR_ATmega165__) \
2839 || defined(__AVR_ATmega165A__) \
2840 || defined(__AVR_ATmega165P__) \
2841 +|| defined(__AVR_ATmega165PA__) \
2842 || defined(__AVR_ATmega168__) \
2843 || defined(__AVR_ATmega168A__) \
2844 || defined(__AVR_ATmega168P__) \
2845 +|| defined(__AVR_ATmega168PA__) \
2846 || defined(__AVR_ATmega169__) \
2847 || defined(__AVR_ATmega169A__) \
2848 || defined(__AVR_ATmega169P__) \
2849 @@ -210,6 +239,7 @@ __asm__ __volatile__ ( \
2850 || defined(__AVR_ATmega16U4__) \
2851 || defined(__AVR_ATmega2560__) \
2852 || defined(__AVR_ATmega2561__) \
2853 +|| defined(__AVR_ATmega32A__) \
2854 || defined(__AVR_ATmega324__) \
2855 || defined(__AVR_ATmega324A__) \
2856 || defined(__AVR_ATmega324P__) \
2857 @@ -217,9 +247,11 @@ __asm__ __volatile__ ( \
2858 || defined(__AVR_ATmega325__) \
2859 || defined(__AVR_ATmega325A__) \
2860 || defined(__AVR_ATmega325P__) \
2861 +|| defined(__AVR_ATmega325PA__) \
2862 || defined(__AVR_ATmega3250__) \
2863 || defined(__AVR_ATmega3250A__) \
2864 || defined(__AVR_ATmega3250P__) \
2865 +|| defined(__AVR_ATmega3250PA__) \
2866 || defined(__AVR_ATmega328__) \
2867 || defined(__AVR_ATmega328P__) \
2868 || defined(__AVR_ATmega329__) \
2869 @@ -229,6 +261,7 @@ __asm__ __volatile__ ( \
2870 || defined(__AVR_ATmega3290__) \
2871 || defined(__AVR_ATmega3290A__) \
2872 || defined(__AVR_ATmega3290P__) \
2873 +|| defined(__AVR_ATmega3290PA__) \
2874 || defined(__AVR_ATmega32C1__) \
2875 || defined(__AVR_ATmega32HVB__) \
2876 || defined(__AVR_ATmega32HVBREVB__) \
2877 @@ -239,7 +272,9 @@ __asm__ __volatile__ ( \
2878 || defined(__AVR_ATmega406__) \
2879 || defined(__AVR_ATmega48__) \
2880 || defined(__AVR_ATmega48A__) \
2881 +|| defined(__AVR_ATmega48PA__) \
2882 || defined(__AVR_ATmega48P__) \
2883 +|| defined(__AVR_ATmega64A__) \
2884 || defined(__AVR_ATmega640__) \
2885 || defined(__AVR_ATmega644__) \
2886 || defined(__AVR_ATmega644A__) \
2887 @@ -260,6 +295,7 @@ __asm__ __volatile__ ( \
2888 || defined(__AVR_ATmega64C1__) \
2889 || defined(__AVR_ATmega64HVE__) \
2890 || defined(__AVR_ATmega64M1__) \
2891 +|| defined(__AVR_ATmega8A__) \
2892 || defined(__AVR_ATmega88__) \
2893 || defined(__AVR_ATmega88A__) \
2894 || defined(__AVR_ATmega88P__) \
2895 @@ -271,7 +307,13 @@ __asm__ __volatile__ ( \
2896 || defined(__AVR_ATtiny87__) \
2897 || defined(__AVR_ATtiny167__) \
2898 || defined(__AVR_AT90SCR100__) \
2899 -|| defined(__AVR_ATA6289__)
2900 +|| defined(__AVR_ATA6285__) \
2901 +|| defined(__AVR_ATA6286__) \
2902 +|| defined(__AVR_ATA6289__) \
2903 +|| defined(__AVR_ATA5272__) \
2904 +|| defined(__AVR_ATA5505__) \
2905 +|| defined(__AVR_ATA5790__) \
2906 +|| defined(__AVR_ATA5795__)
2908 /* Use STS instruction. */
2910 @@ -416,7 +458,7 @@ __asm__ __volatile__ ( \
2911 ATmega8HVA, ATmega16HVA, ATmega32HVB,
2912 ATmega406, ATmega1284P,
2913 AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
2915 + AT90PWM81, AT90PWM161,
2916 AT90USB82, AT90USB162,
2917 AT90USB646, AT90USB647, AT90USB1286, AT90USB1287,
2919 @@ -430,17 +472,20 @@ __asm__ __volatile__ ( \
2920 ATtiny24, ATtiny44, ATtiny84, ATtiny84A,
2921 ATtiny25, ATtiny45, ATtiny85,
2922 ATtiny261, ATtiny461, ATtiny861,
2923 - ATmega48, ATmega88, ATmega168,
2924 + ATmega48, ATmega48A, ATmega48PA, ATmega88, ATmega168,
2925 ATmega48P, ATmega88P, ATmega168P, ATmega328P,
2926 ATmega164P, ATmega324P, ATmega644P, ATmega644,
2927 ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561,
2928 ATmega8HVA, ATmega16HVA, ATmega32HVB,
2929 ATmega406, ATmega1284P,
2930 AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
2932 + AT90PWM81, AT90PWM161,
2933 AT90USB82, AT90USB162,
2934 AT90USB646, AT90USB647, AT90USB1286, AT90USB1287,
2935 - ATtiny48, ATtiny88.
2936 + ATtiny48, ATtiny88,
2937 + ATxmega16a4u, ATxmega32a4u,
2938 + ATxmega16c4, ATxmega32c4,
2939 + ATxmega128c3, ATxmega192c3, ATxmega256c3.