[packages/crossavr-libc] - rel 4 - updated to Atmel official AVR8-GNU toolchain version 3.4.2 - disabled models unknown to gc
baggins
baggins at pld-linux.org
Wed Jun 12 13:31:49 CEST 2013
commit 69ed15f0652daf5758f1c682f51337144a5f3d5b
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Wed Jun 12 13:30:28 2013 +0200
- rel 4
- updated to Atmel official AVR8-GNU toolchain version 3.4.2
- disabled models unknown to gcc due to gcc compile problems
305-avr-libc-avrtc-309.patch | 235 +
400-avr-libc-public-devices.patch | 136 +-
401-avr-libc-atmega_rfr2.patch | 71 +-
402-avr-libc-atxmega32_16_8e5.patch | 42 +-
403-avr-libc-atmega64hve2.patch | 150 +
404-avr-libc-atmega64_128_2564RFR2.patch | 326 +
405-avr-libc-ata5790n.patch | 140 +
406-avr-libc-ata5831.patch | 441 +
407-avr-libc-public-power_h-doc.patch | 1185 +
500-avr-libc-bug12507.patch | 21 +-
501-avr-libc-bug12584.patch | 14 +-
502-avr-libc-bug12838.patch | 51 +-
503-avr-libc-headersio.patch | 28 +-
504-avr-libc-bugavrtc-448.patch | 13 +-
506-avr-libc-optimize_dox.patch | 26 +-
508-avr-libc-renametiny10.patch | 61 +
509-avr-libc-avrtc446.patch | 69 +
510-avr-libc-enable-xml-doc.patch | 155 +
511-avr-libc-tiny-stack-backported.patch | 232 +
999-avr-libc-new-headers.patch | 143679 ++++++++++++++++------------
crossavr-libc.spec | 56 +-
disable-unknown.patch | 319 +
22 files changed, 83855 insertions(+), 63595 deletions(-)
---
diff --git a/crossavr-libc.spec b/crossavr-libc.spec
index 6a3016b..b00203d 100644
--- a/crossavr-libc.spec
+++ b/crossavr-libc.spec
@@ -2,31 +2,40 @@ Summary: AVR libc
Summary(pl.UTF-8): libc na AVR
Name: crossavr-libc
Version: 1.8.0
-Release: 3
+Release: 4
Epoch: 1
License: Modified BSD (see included LICENSE)
Group: Development/Tools
Patch0: %{name}-builtins.patch
+Patch1: disable-unknown.patch
# Patches 1xx are taken form Atmel official AVR8-GNU toolchain version 3.4.1.830
Patch100: 300-avr-libc-bug15254.patch
Patch101: 301-avr-libc-bugavrtc-436.patch
Patch102: 302-avr-libc-bug-avrtc-441.patch
Patch103: 303-avr-libc-avrtc536.patch
Patch104: 304-avr-libc-avrtc-608.patch
-Patch105: 400-avr-libc-public-devices.patch
-Patch106: 401-avr-libc-atmega_rfr2.patch
-Patch107: 402-avr-libc-atxmega32_16_8e5.patch
-Patch108: 403-avr-libc-powerh-doc.patch
-Patch109: 500-avr-libc-bug12507.patch
-Patch110: 501-avr-libc-bug12584.patch
-Patch111: 502-avr-libc-bug12838.patch
-Patch112: 503-avr-libc-headersio.patch
-Patch113: 504-avr-libc-bugavrtc-448.patch
-Patch114: 505-avr-libc-avrtc-519.patch
-Patch115: 506-avr-libc-optimize_dox.patch
-Patch116: 507-avr-libc-avrtc570.patch
-Patch117: 508-avr-libc-avrtc446.patch
-Patch118: 999-avr-libc-new-headers.patch
+Patch105: 305-avr-libc-avrtc-309.patch
+Patch106: 400-avr-libc-public-devices.patch
+Patch107: 401-avr-libc-atmega_rfr2.patch
+Patch108: 402-avr-libc-atxmega32_16_8e5.patch
+Patch109: 403-avr-libc-atmega64hve2.patch
+Patch110: 404-avr-libc-atmega64_128_2564RFR2.patch
+Patch111: 405-avr-libc-ata5790n.patch
+Patch112: 406-avr-libc-ata5831.patch
+Patch113: 407-avr-libc-public-power_h-doc.patch
+Patch114: 500-avr-libc-bug12507.patch
+Patch115: 501-avr-libc-bug12584.patch
+Patch116: 502-avr-libc-bug12838.patch
+Patch117: 503-avr-libc-headersio.patch
+Patch118: 504-avr-libc-bugavrtc-448.patch
+Patch119: 505-avr-libc-avrtc-519.patch
+Patch120: 506-avr-libc-optimize_dox.patch
+Patch121: 507-avr-libc-avrtc570.patch
+Patch122: 508-avr-libc-renametiny10.patch
+Patch123: 509-avr-libc-avrtc446.patch
+Patch124: 510-avr-libc-enable-xml-doc.patch
+Patch125: 511-avr-libc-tiny-stack-backported.patch
+Patch300: 999-avr-libc-new-headers.patch
Source0: http://download.savannah.gnu.org/releases/avr-libc/avr-libc-%{version}.tar.bz2
# Source0-md5: 54c71798f24c96bab206be098062344f
Source1: http://download.savannah.gnu.org/releases/avr-libc/avr-libc-user-manual-%{version}.tar.bz2
@@ -34,7 +43,7 @@ Source1: http://download.savannah.gnu.org/releases/avr-libc/avr-libc-user-manual
Source2: http://download.savannah.gnu.org/releases/avr-libc/avr-libc-manpages-%{version}.tar.bz2
# Source2-md5: 35af895d775015731b77d027a9e07cca
URL: http://www.nongnu.org/avr-libc/
-BuildRequires: crossavr-binutils >= 2.14
+BuildRequires: crossavr-binutils >= 2.23.1
BuildRequires: crossavr-gcc >= 1:3.3
Requires: crossavr-gcc >= 1:3.3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -72,7 +81,16 @@ AVR.
%patch115 -p0
%patch116 -p0
%patch117 -p0
-%patch118 -p1
+%patch118 -p0
+%patch119 -p0
+%patch120 -p0
+%patch121 -p0
+%patch122 -p0
+%patch123 -p0
+%patch124 -p0
+%patch125 -p0
+%patch300 -p1
+%patch1 -p1
%build
./bootstrap
@@ -121,5 +139,9 @@ rm -rf $RPM_BUILD_ROOT
%{arch}/lib/*.[oa]
%dir %{arch}/lib/avr*
%{arch}/lib/avr*/*.[oa]
+%dir %{arch}/lib/avr*/tiny-stack
+%{arch}/lib/avr*/tiny-stack/*.[oa]
+%dir %{arch}/lib/tiny-stack
+%{arch}/lib/tiny-stack/*.[oa]
%{_datadir}/%{name}-%{version}
%{_examplesdir}/%{name}-%{version}
diff --git a/305-avr-libc-avrtc-309.patch b/305-avr-libc-avrtc-309.patch
new file mode 100644
index 0000000..d7cb152
--- /dev/null
+++ b/305-avr-libc-avrtc-309.patch
@@ -0,0 +1,235 @@
+diff -Naurp include/avr/sleep.h include/avr/sleep.h
+--- include/avr/sleep.h 2012-11-22 12:15:17.000000000 +0530
++++ include/avr/sleep.h 2012-11-22 12:12:27.000000000 +0530
+@@ -256,6 +256,33 @@
+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \
+ } while(0)
+
++#elif defined(__AVR_ATmega16HVA__) \
++|| defined(__AVR_ATmega8HVA__)
++
++ #define SLEEP_MODE_IDLE (0)
++ #define SLEEP_MODE_ADC _BV(SM0)
++ #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1))
++ #define SLEEP_MODE_PWR_OFF _BV(SM2)
++
++
++ #define set_sleep_mode(mode) \
++ do { \
++ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
++ } while(0)
++
++#elif defined(__AVR_ATmega406__)
++
++ #define SLEEP_MODE_IDLE (0)
++ #define SLEEP_MODE_ADC _BV(SM0)
++ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
++ #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1))
++ #define SLEEP_MODE_PWR_OFF _BV(SM2)
++
++ #define set_sleep_mode(mode) \
++ do { \
++ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
++ } while(0)
++
+ #elif defined(__AVR_ATtiny2313__) \
+ || defined(__AVR_ATtiny2313A__) \
+ || defined(__AVR_ATtiny4313__)
+@@ -269,7 +296,8 @@
+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \
+ } while(0)
+
+-#elif defined(__AVR_AT94K__)
++#elif defined(__AVR_AT94K__) \
++|| defined(__AVR_ATmega64HVE__)
+
+ #define SLEEP_MODE_IDLE 0
+ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
+@@ -301,7 +329,15 @@
+
+ #elif defined(__AVR_AT90PWM216__) \
+ || defined(__AVR_AT90PWM316__) \
+-|| defined(__AVR_AT90PWM81__)
++|| defined(__AVR_AT90PWM81__) \
++|| defined(__AVR_AT90PWM1__) \
++|| defined(__AVR_AT90PWM2__) \
++|| defined(__AVR_AT90PWM2B__) \
++|| defined(__AVR_AT90PWM3__) \
++|| defined(__AVR_AT90PWM3B__) \
++|| defined(__AVR_ATmega32M1__) \
++|| defined(__AVR_ATmega16M1__) \
++|| defined(__AVR_ATmega64M1__)
+
+ #define SLEEP_MODE_IDLE 0
+ #define SLEEP_MODE_ADC _BV(SM0)
+@@ -313,17 +349,7 @@
+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
+ } while(0)
+
+-#elif defined(__AVR_AT90CAN128__) \
+-|| defined(__AVR_AT90CAN32__) \
+-|| defined(__AVR_AT90CAN64__) \
+-|| defined(__AVR_AT90PWM1__) \
+-|| defined(__AVR_AT90PWM2__) \
+-|| defined(__AVR_AT90PWM2B__) \
+-|| defined(__AVR_AT90PWM3__) \
+-|| defined(__AVR_AT90PWM3B__) \
+-|| defined(__AVR_AT90USB162__) \
+-|| defined(__AVR_AT90USB82__) \
+-|| defined(__AVR_AT90USB1286__) \
++#elif defined(__AVR_AT90USB1286__) \
+ || defined(__AVR_AT90USB1287__) \
+ || defined(__AVR_AT90USB646__) \
+ || defined(__AVR_AT90USB647__) \
+@@ -337,20 +363,9 @@
+ || defined(__AVR_ATmega162__) \
+ || defined(__AVR_ATmega164A__) \
+ || defined(__AVR_ATmega164P__) \
+-|| defined(__AVR_ATmega165__) \
+-|| defined(__AVR_ATmega165A__) \
+-|| defined(__AVR_ATmega165P__) \
+-|| defined(__AVR_ATmega168__) \
+ || defined(__AVR_ATmega168A__) \
+ || defined(__AVR_ATmega168P__) \
+-|| defined(__AVR_ATmega169__) \
+-|| defined(__AVR_ATmega169A__) \
+-|| defined(__AVR_ATmega169P__) \
+-|| defined(__AVR_ATmega169PA__) \
+-|| defined(__AVR_ATmega16HVA__) \
+ || defined(__AVR_ATmega16HVA2__) \
+-|| defined(__AVR_ATmega16M1__) \
+-|| defined(__AVR_ATmega16U2__) \
+ || defined(__AVR_ATmega16U4__) \
+ || defined(__AVR_ATmega2560__) \
+ || defined(__AVR_ATmega2561__) \
+@@ -359,26 +374,11 @@
+ || defined(__AVR_ATmega324A__) \
+ || defined(__AVR_ATmega324P__) \
+ || defined(__AVR_ATmega324PA__) \
+-|| defined(__AVR_ATmega325__) \
+-|| defined(__AVR_ATmega325A__) \
+-|| defined(__AVR_ATmega3250__) \
+-|| defined(__AVR_ATmega3250A__) \
+ || defined(__AVR_ATmega328__) \
+ || defined(__AVR_ATmega328P__) \
+-|| defined(__AVR_ATmega329__) \
+-|| defined(__AVR_ATmega329A__) \
+-|| defined(__AVR_ATmega329P__) \
+-|| defined(__AVR_ATmega329PA__) \
+-|| defined(__AVR_ATmega3290__) \
+-|| defined(__AVR_ATmega3290A__) \
+-|| defined(__AVR_ATmega3290P__) \
+ || defined(__AVR_ATmega32C1__) \
+-|| defined(__AVR_ATmega32M1__) \
+-|| defined(__AVR_ATmega32U2__) \
+ || defined(__AVR_ATmega32U4__) \
+ || defined(__AVR_ATmega32U6__) \
+-|| defined(__AVR_ATmega406__) \
+-|| defined(__AVR_ATmega48__) \
+ || defined(__AVR_ATmega48A__) \
+ || defined(__AVR_ATmega48P__) \
+ || defined(__AVR_ATmega64__) \
+@@ -387,31 +387,12 @@
+ || defined(__AVR_ATmega644A__) \
+ || defined(__AVR_ATmega644P__) \
+ || defined(__AVR_ATmega644PA__) \
+-|| defined(__AVR_ATmega645__) \
+-|| defined(__AVR_ATmega645A__) \
+-|| defined(__AVR_ATmega645P__) \
+-|| defined(__AVR_ATmega6450__) \
+-|| defined(__AVR_ATmega6450A__) \
+-|| defined(__AVR_ATmega6450P__) \
+-|| defined(__AVR_ATmega649__) \
+-|| defined(__AVR_ATmega649A__) \
+-|| defined(__AVR_ATmega6490__) \
+-|| defined(__AVR_ATmega6490A__) \
+-|| defined(__AVR_ATmega6490P__) \
+-|| defined(__AVR_ATmega649P__) \
+ || defined(__AVR_ATmega64C1__) \
+-|| defined(__AVR_ATmega64HVE__) \
+-|| defined(__AVR_ATmega64M1__) \
+-|| defined(__AVR_ATmega8__) \
+ || defined(__AVR_ATmega8515__) \
+ || defined(__AVR_ATmega8535__) \
+-|| defined(__AVR_ATmega88__) \
+ || defined(__AVR_ATmega88A__) \
+ || defined(__AVR_ATmega88P__) \
+-|| defined(__AVR_ATmega88PA__) \
+-|| defined(__AVR_ATmega8HVA__) \
+-|| defined(__AVR_ATmega8U2__)
+-
++|| defined(__AVR_ATmega88PA__)
+
+ #define SLEEP_MODE_IDLE (0)
+ #define SLEEP_MODE_ADC _BV(SM0)
+@@ -426,6 +407,56 @@
+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
+ } while(0)
+
++#elif defined(__AVR_ATmega8__) \
++|| defined(__AVR_ATmega6450A__) \
++|| defined(__AVR_ATmega6450P__) \
++|| defined(__AVR_ATmega645A__) \
++|| defined(__AVR_ATmega645P__) \
++|| defined(__AVR_ATmega3250A__) \
++|| defined(__AVR_ATmega325A__) \
++|| defined(__AVR_ATmega165A__) \
++|| defined(__AVR_ATmega165P__) \
++|| defined(__AVR_ATmega169A__) \
++|| defined(__AVR_ATmega169P__) \
++|| defined(__AVR_ATmega169PA__) \
++|| defined(__AVR_ATmega329A__) \
++|| defined(__AVR_ATmega329PA__) \
++|| defined(__AVR_ATmega3290A__) \
++|| defined(__AVR_ATmega649A__) \
++|| defined(__AVR_ATmega649P__) \
++|| defined(__AVR_ATmega6490A__) \
++|| defined(__AVR_ATmega6490P__) \
++|| defined(__AVR_ATmega165__) \
++|| defined(__AVR_ATmega169__) \
++|| defined(__AVR_ATmega48__) \
++|| defined(__AVR_ATmega88__) \
++|| defined(__AVR_ATmega168__) \
++|| defined(__AVR_ATmega325__) \
++|| defined(__AVR_ATmega3250__) \
++|| defined(__AVR_ATmega645__) \
++|| defined(__AVR_ATmega6450__) \
++|| defined(__AVR_ATmega329__) \
++|| defined(__AVR_ATmega329P__) \
++|| defined(__AVR_ATmega3290__) \
++|| defined(__AVR_ATmega3290P__) \
++|| defined(__AVR_ATmega649__) \
++|| defined(__AVR_ATmega6490__) \
++|| defined(__AVR_AT90CAN128__) \
++|| defined(__AVR_AT90CAN32__) \
++|| defined(__AVR_AT90CAN64__)
++
++ #define SLEEP_MODE_IDLE (0)
++ #define SLEEP_MODE_ADC _BV(SM0)
++ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
++ #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1))
++ #define SLEEP_MODE_STANDBY (_BV(SM1) | _BV(SM2))
++
++
++ #define set_sleep_mode(mode) \
++ do { \
++ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
++ } while(0)
++
+ #elif defined(__AVR_ATxmega16A4__) \
+ || defined(__AVR_ATxmega16D4__) \
+ || defined(__AVR_ATxmega32A4__) \
+@@ -455,7 +486,12 @@
+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(SLEEP_SMODE2_bm | SLEEP_SMODE1_bm | SLEEP_SMODE0_bm)) | (mode)); \
+ } while(0)
+
+-#elif defined(__AVR_AT90SCR100__)
++#elif defined(__AVR_AT90SCR100__) \
++|| defined(__AVR_ATmega8U2__) \
++|| defined(__AVR_ATmega16U2__) \
++|| defined(__AVR_ATmega32U2__) \
++|| defined(__AVR_AT90USB162__) \
++|| defined(__AVR_AT90USB82__)
+
+ #define SLEEP_MODE_IDLE (0)
+ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
diff --git a/400-avr-libc-public-devices.patch b/400-avr-libc-public-devices.patch
index 2752635..30aa935 100644
--- a/400-avr-libc-public-devices.patch
+++ b/400-avr-libc-public-devices.patch
@@ -1,6 +1,6 @@
diff -Naurp configure.ac configure.ac
---- configure.ac 2012-11-05 12:21:09.000000000 +0530
-+++ configure.ac 2012-11-05 12:23:27.000000000 +0530
+--- configure.ac 2011-12-29 14:21:55.000000000 +0530
++++ configure.ac 2012-11-22 19:48:48.000000000 +0530
@@ -461,6 +461,9 @@ AM_CONDITIONAL(HAS_avr25, test "x$HAS_av
CHECK_AVR_DEVICE(ata6289)
AM_CONDITIONAL(HAS_ata6289, test "x$HAS_ata6289" = "xyes")
@@ -489,8 +489,8 @@ diff -Naurp configure.ac configure.ac
diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
---- devtools/gen-avr-lib-tree.sh 2012-11-05 12:21:09.000000000 +0530
-+++ devtools/gen-avr-lib-tree.sh 2012-11-05 12:23:27.000000000 +0530
+--- devtools/gen-avr-lib-tree.sh 2011-12-29 14:21:50.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2012-11-22 19:48:48.000000000 +0530
@@ -84,6 +84,7 @@ attiny861:crttn861.o:${DEV_DEFS}:${CFLAG
AVR25_DEV_INFO="\
at86rf401:crt86401.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
@@ -671,8 +671,8 @@ diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
AVRTINY10_DEV_INFO="\
diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
---- doc/api/main_page.dox 2012-11-05 12:21:09.000000000 +0530
-+++ doc/api/main_page.dox 2012-11-05 12:23:27.000000000 +0530
+--- doc/api/main_page.dox 2011-12-29 14:21:53.000000000 +0530
++++ doc/api/main_page.dox 2012-11-22 19:48:48.000000000 +0530
@@ -94,8 +94,10 @@ compile-time.
- atmega103
@@ -832,8 +832,8 @@ diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
- m3000 \ref supp_dev_footnote_four "[4]"
diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
---- doc/api/using-tools.dox 2012-11-05 12:21:09.000000000 +0530
-+++ doc/api/using-tools.dox 2012-11-05 12:23:27.000000000 +0530
+--- doc/api/using-tools.dox 2011-12-29 14:21:53.000000000 +0530
++++ doc/api/using-tools.dox 2012-11-22 19:48:48.000000000 +0530
@@ -231,6 +231,7 @@ AVR will be defined as well when using t
<tr><td>avr2/avr25 [1]</td><td>at86rf401</td><td>__AVR_AT86RF401__</td></tr>
@@ -1001,8 +1001,8 @@ diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
<tr><td>avrtiny10</td><td>attiny4</td><td>__AVR_ATtiny4__</td></tr>
<tr><td>avrtiny10</td><td>attiny5</td><td>__AVR_ATtiny5__</td></tr>
diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
---- include/avr/eeprom.h 2012-11-05 12:21:09.000000000 +0530
-+++ include/avr/eeprom.h 2012-11-05 12:23:27.000000000 +0530
+--- include/avr/eeprom.h 2011-12-29 14:21:50.000000000 +0530
++++ include/avr/eeprom.h 2012-11-22 19:48:48.000000000 +0530
@@ -67,6 +67,8 @@
# define _EEPROM_SUFFIX _90pwm216
#elif defined (__AVR_AT90PWM316__)
@@ -1224,8 +1224,8 @@ diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
#elif defined (__AVR_ATtiny28__)
# define _EEPROM_SUFFIX _tn28
diff -Naurp include/avr/io.h include/avr/io.h
---- include/avr/io.h 2012-11-05 12:21:09.000000000 +0530
-+++ include/avr/io.h 2012-11-05 12:23:27.000000000 +0530
+--- include/avr/io.h 2011-12-29 14:21:50.000000000 +0530
++++ include/avr/io.h 2012-11-22 19:48:48.000000000 +0530
@@ -122,6 +122,8 @@
# include <avr/io90pwm216.h>
#elif defined (__AVR_AT90PWM316__)
@@ -1435,8 +1435,8 @@ diff -Naurp include/avr/io.h include/avr/io.h
# include <avr/ioa6289.h>
/* avr1: the following only supported for assembler programs */
diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
---- include/avr/Makefile.am 2012-11-05 12:21:09.000000000 +0530
-+++ include/avr/Makefile.am 2012-11-05 12:23:27.000000000 +0530
+--- include/avr/Makefile.am 2011-12-29 14:21:50.000000000 +0530
++++ include/avr/Makefile.am 2012-11-22 19:48:48.000000000 +0530
@@ -61,8 +61,15 @@ avr_HEADERS = \
io90pwm216.h \
io90pwm3b.h \
@@ -1575,8 +1575,8 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
parity.h \
pgmspace.h \
diff -Naurp include/avr/power.h include/avr/power.h
---- include/avr/power.h 2012-11-05 12:24:33.000000000 +0530
-+++ include/avr/power.h 2012-11-05 12:23:32.000000000 +0530
+--- include/avr/power.h 2012-11-22 19:55:00.000000000 +0530
++++ include/avr/power.h 2012-11-22 19:48:48.000000000 +0530
@@ -74,25 +74,25 @@ find out which macros are applicable to
<tr>
<td>power_adc_enable()</td>
@@ -2580,8 +2580,8 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATtiny24A__) \
|| defined(__AVR_ATtiny44__) \
diff -Naurp include/avr/sleep.h include/avr/sleep.h
---- include/avr/sleep.h 2012-11-05 12:24:33.000000000 +0530
-+++ include/avr/sleep.h 2012-11-05 12:23:27.000000000 +0530
+--- include/avr/sleep.h 2012-11-22 19:55:03.000000000 +0530
++++ include/avr/sleep.h 2012-11-22 19:58:10.000000000 +0530
@@ -210,7 +210,8 @@
} while(0)
@@ -2601,7 +2601,7 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_AT76C711__) \
|| defined(__AVR_AT90S8535__) \
|| defined(__AVR_ATmega103__) \
-@@ -287,7 +290,8 @@
+@@ -315,7 +318,8 @@
|| defined(__AVR_ATtiny461A__) \
|| defined(__AVR_ATtiny861__) \
|| defined(__AVR_ATtiny861A__) \
@@ -2611,15 +2611,15 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
#define SLEEP_MODE_IDLE 0
#define SLEEP_MODE_ADC _BV(SM0)
-@@ -301,6 +305,7 @@
+@@ -329,6 +333,7 @@
#elif defined(__AVR_AT90PWM216__) \
|| defined(__AVR_AT90PWM316__) \
+|| defined(__AVR_AT90PWM161__) \
- || defined(__AVR_AT90PWM81__)
-
- #define SLEEP_MODE_IDLE 0
-@@ -328,8 +333,10 @@
+ || defined(__AVR_AT90PWM81__) \
+ || defined(__AVR_AT90PWM1__) \
+ || defined(__AVR_AT90PWM2__) \
+@@ -354,8 +359,10 @@
|| defined(__AVR_AT90USB646__) \
|| defined(__AVR_AT90USB647__) \
|| defined(__AVR_ATmega128__) \
@@ -2630,23 +2630,16 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATmega1284P__) \
|| defined(__AVR_ATmega128RFA1__) \
|| defined(__AVR_ATmega16__) \
-@@ -337,12 +344,15 @@
+@@ -363,13 +370,16 @@
|| defined(__AVR_ATmega162__) \
|| defined(__AVR_ATmega164A__) \
|| defined(__AVR_ATmega164P__) \
+|| defined(__AVR_ATmega164PA__) \
- || defined(__AVR_ATmega165__) \
- || defined(__AVR_ATmega165A__) \
- || defined(__AVR_ATmega165P__) \
-+|| defined(__AVR_ATmega165PA__) \
- || defined(__AVR_ATmega168__) \
|| defined(__AVR_ATmega168A__) \
|| defined(__AVR_ATmega168P__) \
+|| defined(__AVR_ATmega168PA__) \
- || defined(__AVR_ATmega169__) \
- || defined(__AVR_ATmega169A__) \
- || defined(__AVR_ATmega169P__) \
-@@ -355,14 +365,17 @@
+ || defined(__AVR_ATmega16HVA2__) \
+ || defined(__AVR_ATmega16U4__) \
|| defined(__AVR_ATmega2560__) \
|| defined(__AVR_ATmega2561__) \
|| defined(__AVR_ATmega32__) \
@@ -2654,27 +2647,9 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATmega323__) \
|| defined(__AVR_ATmega324A__) \
|| defined(__AVR_ATmega324P__) \
- || defined(__AVR_ATmega324PA__) \
- || defined(__AVR_ATmega325__) \
- || defined(__AVR_ATmega325A__) \
-+|| defined(__AVR_ATmega325PA__) \
- || defined(__AVR_ATmega3250__) \
- || defined(__AVR_ATmega3250A__) \
-+|| defined(__AVR_ATmega3250PA__) \
- || defined(__AVR_ATmega328__) \
- || defined(__AVR_ATmega328P__) \
- || defined(__AVR_ATmega329__) \
-@@ -372,6 +385,7 @@
- || defined(__AVR_ATmega3290__) \
- || defined(__AVR_ATmega3290A__) \
- || defined(__AVR_ATmega3290P__) \
-+|| defined(__AVR_ATmega3290PA__) \
- || defined(__AVR_ATmega32C1__) \
- || defined(__AVR_ATmega32M1__) \
- || defined(__AVR_ATmega32U2__) \
-@@ -380,8 +394,10 @@
- || defined(__AVR_ATmega406__) \
- || defined(__AVR_ATmega48__) \
+@@ -380,8 +390,10 @@
+ || defined(__AVR_ATmega32U4__) \
+ || defined(__AVR_ATmega32U6__) \
|| defined(__AVR_ATmega48A__) \
+|| defined(__AVR_ATmega48PA__) \
|| defined(__AVR_ATmega48P__) \
@@ -2683,24 +2658,37 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATmega640__) \
|| defined(__AVR_ATmega644__) \
|| defined(__AVR_ATmega644A__) \
-@@ -426,23 +442,60 @@
+@@ -407,21 +419,26 @@
_SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
} while(0)
-+#elif defined(__AVR_ATmega8A__)
-+
-+ #define SLEEP_MODE_IDLE (0)
-+ #define SLEEP_MODE_ADC _BV(SM0)
-+ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
-+ #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1))
-+ #define SLEEP_MODE_STANDBY (_BV(SM1) | _BV(SM2))
-+
-+
-+ #define set_sleep_mode(mode) \
-+ do { \
-+ _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
-+ } while(0)
-+
+-#elif defined(__AVR_ATmega8__) \
++#elif defined(__AVR_ATmega8A__) \
++|| defined(__AVR_ATmega8__) \
+ || defined(__AVR_ATmega6450A__) \
+ || defined(__AVR_ATmega6450P__) \
+ || defined(__AVR_ATmega645A__) \
+ || defined(__AVR_ATmega645P__) \
+ || defined(__AVR_ATmega3250A__) \
++|| defined(__AVR_ATmega3250PA__) \
+ || defined(__AVR_ATmega325A__) \
++|| defined(__AVR_ATmega325PA__) \
+ || defined(__AVR_ATmega165A__) \
+ || defined(__AVR_ATmega165P__) \
++|| defined(__AVR_ATmega165PA__) \
+ || defined(__AVR_ATmega169A__) \
+ || defined(__AVR_ATmega169P__) \
+ || defined(__AVR_ATmega169PA__) \
+ || defined(__AVR_ATmega329A__) \
+ || defined(__AVR_ATmega329PA__) \
+ || defined(__AVR_ATmega3290A__) \
++|| defined(__AVR_ATmega3290PA__) \
+ || defined(__AVR_ATmega649A__) \
+ || defined(__AVR_ATmega649P__) \
+ || defined(__AVR_ATmega6490A__) \
+@@ -458,22 +475,45 @@
+ } while(0)
+
#elif defined(__AVR_ATxmega16A4__) \
+|| defined(__AVR_ATxmega16A4U__) \
+|| defined(__AVR_ATxmega16C4__) \
@@ -2745,7 +2733,7 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
#define SLEEP_MODE_IDLE (0)
#define SLEEP_MODE_PWR_DOWN (SLEEP_SMODE1_bm)
-@@ -468,7 +521,9 @@
+@@ -504,7 +544,9 @@
_SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
} while(0)
@@ -2756,7 +2744,7 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
#define SLEEP_MODE_IDLE (0)
#define SLEEP_MODE_SENSOR_NOISE_REDUCTION (_BV(SM0))
-@@ -479,6 +534,19 @@
+@@ -515,6 +557,19 @@
_SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \
} while(0)
@@ -2777,8 +2765,8 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATtiny5__) \
|| defined(__AVR_ATtiny9__) \
diff -Naurp include/avr/wdt.h include/avr/wdt.h
---- include/avr/wdt.h 2012-11-05 12:21:09.000000000 +0530
-+++ include/avr/wdt.h 2012-11-05 12:23:27.000000000 +0530
+--- include/avr/wdt.h 2011-12-29 14:21:50.000000000 +0530
++++ include/avr/wdt.h 2012-11-22 19:48:48.000000000 +0530
@@ -131,21 +131,44 @@
diff --git a/401-avr-libc-atmega_rfr2.patch b/401-avr-libc-atmega_rfr2.patch
index 3583101..29b154e 100644
--- a/401-avr-libc-atmega_rfr2.patch
+++ b/401-avr-libc-atmega_rfr2.patch
@@ -1,6 +1,6 @@
diff -Naurp configure.ac configure.ac
---- configure.ac 2012-11-02 22:59:30.224478546 +0530
-+++ configure.ac 2012-11-02 23:45:09.850063607 +0530
+--- configure.ac 2013-01-29 12:20:43.000000000 +0530
++++ configure.ac 2013-01-29 12:28:06.000000000 +0530
@@ -853,6 +853,9 @@ AM_CONDITIONAL(HAS_atmega32u6, test "x$H
CHECK_AVR_DEVICE(atmega406)
AM_CONDITIONAL(HAS_atmega406, test "x$HAS_atmega406" = "xyes")
@@ -56,8 +56,8 @@ diff -Naurp configure.ac configure.ac
# avrxmega2
diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
---- devtools/gen-avr-lib-tree.sh 2012-11-02 22:59:30.236478603 +0530
-+++ devtools/gen-avr-lib-tree.sh 2012-11-02 23:45:48.582255665 +0530
+--- devtools/gen-avr-lib-tree.sh 2013-01-29 12:20:43.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-01-29 12:28:06.000000000 +0530
@@ -233,6 +233,7 @@ atmega32m1:crtm32m1.o:${DEV_DEFS}:${CFLA
atmega32u4:crtm32u4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
atmega32u6:crtm32u6.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
@@ -85,8 +85,8 @@ diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
AVRXMEGA2_DEV_INFO="\
diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
---- doc/api/main_page.dox 2012-11-02 22:59:30.232478582 +0530
-+++ doc/api/main_page.dox 2012-11-02 23:46:18.278402927 +0530
+--- doc/api/main_page.dox 2013-01-29 12:20:43.000000000 +0530
++++ doc/api/main_page.dox 2013-01-29 12:28:06.000000000 +0530
@@ -321,6 +321,13 @@ compile-time.
- atxmega384c3
- atxmega384d3
@@ -102,8 +102,8 @@ diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
- at94K \ref supp_dev_footnote_two "[2]"
diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
---- doc/api/using-tools.dox 2012-11-02 22:59:30.236478603 +0530
-+++ doc/api/using-tools.dox 2012-11-02 23:46:51.298566654 +0530
+--- doc/api/using-tools.dox 2013-01-29 12:20:43.000000000 +0530
++++ doc/api/using-tools.dox 2013-01-29 12:28:06.000000000 +0530
@@ -364,6 +364,7 @@ AVR will be defined as well when using t
<tr><td>avr5</td><td>atmega32u4</td><td>__AVR_ATmega32U4__</td></tr>
<tr><td>avr5</td><td>atmega32u6</td><td>__AVR_ATmega32U6__</td></tr>
@@ -125,15 +125,15 @@ diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
<tr><td>avrxmega2</td><td>atxmega16a4</td><td>__AVR_ATxmega16A4__</td></tr>
<tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
---- include/avr/eeprom.h 2012-11-02 22:59:30.248478663 +0530
-+++ include/avr/eeprom.h 2012-11-02 23:47:37.218794374 +0530
+--- include/avr/eeprom.h 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/eeprom.h 2013-01-29 12:28:06.000000000 +0530
@@ -107,6 +107,10 @@
# define _EEPROM_SUFFIX _m1284p
#elif defined (__AVR_ATmega128RFA1__)
# define _EEPROM_SUFFIX _m128rfa1
+#elif defined (__AVR_ATmega128RFR2__)
+# define _EEPROM_SUFFIX _m128rfr2
-+#elif defined (__AVR_ATmega256RFA2__)
++#elif defined (__AVR_ATmega256RFR2__)
+# define _EEPROM_SUFFIX _m256rfr2
#elif defined (__AVR_ATmega2560__)
# define _EEPROM_SUFFIX _m2560
@@ -148,8 +148,8 @@ diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
# define _EEPROM_SUFFIX _m64
#elif defined (__AVR_ATmega64A__)
diff -Naurp include/avr/io.h include/avr/io.h
---- include/avr/io.h 2012-11-02 22:59:30.240478629 +0530
-+++ include/avr/io.h 2012-11-02 23:48:29.531053784 +0530
+--- include/avr/io.h 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/io.h 2013-01-29 12:28:06.000000000 +0530
@@ -162,6 +162,10 @@
# include <avr/iom1284p.h>
#elif defined (__AVR_ATmega128RFA1__)
@@ -171,8 +171,8 @@ diff -Naurp include/avr/io.h include/avr/io.h
# include <avr/iom64.h>
#elif defined (__AVR_ATmega64A__)
diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
---- include/avr/Makefile.am 2012-11-02 22:59:30.252478685 +0530
-+++ include/avr/Makefile.am 2012-11-02 23:49:01.439212007 +0530
+--- include/avr/Makefile.am 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/Makefile.am 2013-01-29 12:28:06.000000000 +0530
@@ -84,6 +84,7 @@ avr_HEADERS = \
iom1284.h \
iom1284p.h \
@@ -198,8 +198,8 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
iom8a.h \
iom8515.h \
diff -Naurp include/avr/power.h include/avr/power.h
---- include/avr/power.h 2012-11-02 22:59:30.248478663 +0530
-+++ include/avr/power.h 2012-11-02 23:50:37.735689521 +0530
+--- include/avr/power.h 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/power.h 2013-01-29 12:28:06.000000000 +0530
@@ -928,6 +928,74 @@ do{ \
PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)); \
}while(0)
@@ -312,9 +312,9 @@ diff -Naurp include/avr/power.h include/avr/power.h
#endif
} clock_div_t;
diff -Naurp include/avr/sleep.h include/avr/sleep.h
---- include/avr/sleep.h 2012-11-02 22:59:30.244478644 +0530
-+++ include/avr/sleep.h 2012-11-02 23:51:16.847883478 +0530
-@@ -339,6 +339,7 @@
+--- include/avr/sleep.h 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/sleep.h 2013-01-29 12:28:06.000000000 +0530
+@@ -365,6 +365,7 @@
|| defined(__AVR_ATmega1284__) \
|| defined(__AVR_ATmega1284P__) \
|| defined(__AVR_ATmega128RFA1__) \
@@ -322,7 +322,7 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATmega16__) \
|| defined(__AVR_ATmega16A__) \
|| defined(__AVR_ATmega162__) \
-@@ -364,6 +365,7 @@
+@@ -378,6 +379,7 @@
|| defined(__AVR_ATmega16U4__) \
|| defined(__AVR_ATmega2560__) \
|| defined(__AVR_ATmega2561__) \
@@ -330,57 +330,54 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATmega32__) \
|| defined(__AVR_ATmega32A__) \
|| defined(__AVR_ATmega323__) \
-@@ -418,6 +420,7 @@
+@@ -400,6 +402,7 @@
+ || defined(__AVR_ATmega644P__) \
+ || defined(__AVR_ATmega644PA__) \
|| defined(__AVR_ATmega64C1__) \
- || defined(__AVR_ATmega64HVE__) \
- || defined(__AVR_ATmega64M1__) \
+|| defined(__AVR_ATmega64RFR2__) \
- || defined(__AVR_ATmega8__) \
|| defined(__AVR_ATmega8515__) \
|| defined(__AVR_ATmega8535__) \
+ || defined(__AVR_ATmega88A__) \
diff -Naurp include/avr/wdt.h include/avr/wdt.h
---- include/avr/wdt.h 2012-11-02 22:59:30.252478685 +0530
-+++ include/avr/wdt.h 2012-11-02 23:41:05.480851849 +0530
-@@ -214,6 +214,8 @@ __asm__ __volatile__ ( \
+--- include/avr/wdt.h 2013-01-29 12:20:43.000000000 +0530
++++ include/avr/wdt.h 2013-01-29 12:30:47.000000000 +0530
+@@ -214,6 +214,7 @@ __asm__ __volatile__ ( \
|| defined(__AVR_ATmega1284__) \
|| defined(__AVR_ATmega1284P__) \
|| defined(__AVR_ATmega128RFA1__) \
-+|| defined(__AVR_ATmega128RFA2__) \
+|| defined(__AVR_ATmega128RFR2__) \
|| defined(__AVR_ATmega164__) \
|| defined(__AVR_ATmega164A__) \
|| defined(__AVR_ATmega164P__) \
-@@ -239,6 +241,8 @@ __asm__ __volatile__ ( \
+@@ -239,6 +240,7 @@ __asm__ __volatile__ ( \
|| defined(__AVR_ATmega16U4__) \
|| defined(__AVR_ATmega2560__) \
|| defined(__AVR_ATmega2561__) \
-+|| defined(__AVR_ATmega256RFA2__) \
+|| defined(__AVR_ATmega256RFR2__) \
|| defined(__AVR_ATmega32A__) \
|| defined(__AVR_ATmega324__) \
|| defined(__AVR_ATmega324A__) \
-@@ -275,6 +279,8 @@ __asm__ __volatile__ ( \
+@@ -275,6 +277,7 @@ __asm__ __volatile__ ( \
|| defined(__AVR_ATmega48PA__) \
|| defined(__AVR_ATmega48P__) \
|| defined(__AVR_ATmega64A__) \
-+|| defined(__AVR_ATmega64RFA2__) \
+|| defined(__AVR_ATmega64RFR2__) \
|| defined(__AVR_ATmega640__) \
|| defined(__AVR_ATmega644__) \
|| defined(__AVR_ATmega644A__) \
-@@ -457,6 +463,7 @@ __asm__ __volatile__ ( \
+@@ -457,6 +460,7 @@ __asm__ __volatile__ ( \
ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561,
ATmega8HVA, ATmega16HVA, ATmega32HVB,
ATmega406, ATmega1284P,
-+ ATmega256RFA2, ATmega256RFR2, ATmega128RFA2, ATmega128RFR2, ATmega64RFA2, ATmega64RFR2,
++ ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
AT90PWM81, AT90PWM161,
AT90USB82, AT90USB162,
-@@ -478,6 +485,7 @@ __asm__ __volatile__ ( \
+@@ -478,6 +482,7 @@ __asm__ __volatile__ ( \
ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561,
ATmega8HVA, ATmega16HVA, ATmega32HVB,
ATmega406, ATmega1284P,
-+ ATmega256RFA2, ATmega256RFR2, ATmega128RFA2, ATmega128RFR2, ATmega64RFA2, ATmega64RFR2,
++ ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
AT90PWM81, AT90PWM161,
AT90USB82, AT90USB162,
diff --git a/402-avr-libc-atxmega32_16_8e5.patch b/402-avr-libc-atxmega32_16_8e5.patch
index 15a3d96..0045cdd 100644
--- a/402-avr-libc-atxmega32_16_8e5.patch
+++ b/402-avr-libc-atxmega32_16_8e5.patch
@@ -1,6 +1,6 @@
diff -Naurp configure.ac configure.ac
---- configure.ac 2012-11-05 11:57:38.000000000 +0530
-+++ configure.ac 2012-11-05 11:58:43.000000000 +0530
+--- configure.ac 2013-01-29 12:35:00.000000000 +0530
++++ configure.ac 2013-01-29 12:37:55.000000000 +0530
@@ -1005,7 +1005,15 @@ AM_CONDITIONAL(HAS_atxmega32c4, test "x$
CHECK_AVR_DEVICE(atxmega32d4)
@@ -28,8 +28,8 @@ diff -Naurp configure.ac configure.ac
# avrxmega4
diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
---- devtools/gen-avr-lib-tree.sh 2012-11-05 11:57:38.000000000 +0530
-+++ devtools/gen-avr-lib-tree.sh 2012-11-05 12:17:35.000000000 +0530
+--- devtools/gen-avr-lib-tree.sh 2013-01-29 12:35:00.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-01-29 12:37:55.000000000 +0530
@@ -292,7 +292,10 @@ atxmega16d4:crtx16d4.o:${DEV_DEFS}:${CFL
atxmega32a4:crtx32a4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
atxmega32a4u:crtx32a4u.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
@@ -43,8 +43,8 @@ diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
AVRXMEGA4_DEV_INFO="\
diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
---- doc/api/main_page.dox 2012-11-05 11:57:38.000000000 +0530
-+++ doc/api/main_page.dox 2012-11-05 11:58:43.000000000 +0530
+--- doc/api/main_page.dox 2013-01-29 12:35:00.000000000 +0530
++++ doc/api/main_page.dox 2013-01-29 12:37:55.000000000 +0530
@@ -288,6 +288,9 @@ compile-time.
- atxmega32a4u
- atxmega32c4
@@ -56,8 +56,8 @@ diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
- atxmega64a1u
- atxmega64a3
diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
---- doc/api/using-tools.dox 2012-11-05 11:57:38.000000000 +0530
-+++ doc/api/using-tools.dox 2012-11-05 11:58:43.000000000 +0530
+--- doc/api/using-tools.dox 2013-01-29 12:35:00.000000000 +0530
++++ doc/api/using-tools.dox 2013-01-29 12:37:55.000000000 +0530
@@ -408,6 +408,9 @@ AVR will be defined as well when using t
<tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
<tr><td>avrxmega2</td><td>atxmega16c4</td><td>__AVR_ATxmega16C4__</td></tr>
@@ -69,8 +69,8 @@ diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
<tr><td>avrxmega2</td><td>atxmega32a4u</td><td>__AVR_ATxmega32A4U__</td></tr>
<tr><td>avrxmega2</td><td>atxmega32c4</td><td>__AVR_ATxmega32C4__</td></tr>
diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
---- include/avr/eeprom.h 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/eeprom.h 2012-11-05 11:58:43.000000000 +0530
+--- include/avr/eeprom.h 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/eeprom.h 2013-01-29 12:37:55.000000000 +0530
@@ -401,6 +401,12 @@
# define _EEPROM_SUFFIX _x32c4
#elif defined (__AVR_ATxmega32D4__)
@@ -85,8 +85,8 @@ diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
# define _EEPROM_SUFFIX _x64a1
#elif defined (__AVR_ATxmega64A1U__)
diff -Naurp include/avr/io.h include/avr/io.h
---- include/avr/io.h 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/io.h 2012-11-05 11:58:43.000000000 +0530
+--- include/avr/io.h 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/io.h 2013-01-29 12:37:55.000000000 +0530
@@ -426,6 +426,12 @@
# include <avr/iox32c4.h>
#elif defined (__AVR_ATxmega32D4__)
@@ -101,8 +101,8 @@ diff -Naurp include/avr/io.h include/avr/io.h
# include <avr/iox64a1.h>
#elif defined (__AVR_ATxmega64A1U__)
diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
---- include/avr/Makefile.am 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/Makefile.am 2012-11-05 11:58:43.000000000 +0530
+--- include/avr/Makefile.am 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/Makefile.am 2013-01-29 12:37:55.000000000 +0530
@@ -246,6 +246,9 @@ avr_HEADERS = \
iox32a4u.h \
iox32c4.h \
@@ -114,8 +114,8 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
iox64a1u.h \
iox64a3.h \
diff -Naurp include/avr/power.h include/avr/power.h
---- include/avr/power.h 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/power.h 2012-11-05 11:58:43.000000000 +0530
+--- include/avr/power.h 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/power.h 2013-01-29 12:37:55.000000000 +0530
@@ -751,6 +751,74 @@ do { \
PR_PRPF |= (uint8_t)(PR_TWI_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \
} while(0)
@@ -192,9 +192,9 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined (__AVR_ATxmega64B3__) \
|| defined (__AVR_ATxmega128B1__) \
diff -Naurp include/avr/sleep.h include/avr/sleep.h
---- include/avr/sleep.h 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/sleep.h 2012-11-05 11:58:43.000000000 +0530
-@@ -467,6 +467,9 @@
+--- include/avr/sleep.h 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/sleep.h 2013-01-29 12:37:55.000000000 +0530
+@@ -485,6 +485,9 @@
|| defined(__AVR_ATxmega32A4U__) \
|| defined(__AVR_ATxmega32C4__) \
|| defined(__AVR_ATxmega32D4__) \
@@ -205,8 +205,8 @@ diff -Naurp include/avr/sleep.h include/avr/sleep.h
|| defined(__AVR_ATxmega64A1U__) \
|| defined(__AVR_ATxmega64A3__) \
diff -Naurp include/avr/wdt.h include/avr/wdt.h
---- include/avr/wdt.h 2012-11-05 11:57:38.000000000 +0530
-+++ include/avr/wdt.h 2012-11-05 11:58:43.000000000 +0530
+--- include/avr/wdt.h 2013-01-29 12:35:00.000000000 +0530
++++ include/avr/wdt.h 2013-01-29 12:37:55.000000000 +0530
@@ -138,6 +138,9 @@
|| defined(__AVR_ATxmega32A4U__) \
|| defined(__AVR_ATxmega32C4__) \
diff --git a/403-avr-libc-atmega64hve2.patch b/403-avr-libc-atmega64hve2.patch
new file mode 100644
index 0000000..62c0138
--- /dev/null
+++ b/403-avr-libc-atmega64hve2.patch
@@ -0,0 +1,150 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2012-12-12 13:24:34.000000000 +0530
++++ configure.ac 2012-12-12 13:25:18.000000000 +0530
+@@ -919,6 +919,9 @@ AM_CONDITIONAL(HAS_atmega64c1, test "x$H
+ CHECK_AVR_DEVICE(atmega64hve)
+ AM_CONDITIONAL(HAS_atmega64hve, test "x$HAS_atmega64hve" = "xyes")
+
++CHECK_AVR_DEVICE(atmega64hve2)
++AM_CONDITIONAL(HAS_atmega64hve2, test "x$HAS_atmega64hve2" = "xyes")
++
+ CHECK_AVR_DEVICE(atmega64m1)
+ AM_CONDITIONAL(HAS_atmega64m1, test "x$HAS_atmega64m1" = "xyes")
+
+@@ -1405,6 +1408,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr5/atmega6490p/Makefile
+ avr/lib/avr5/atmega64c1/Makefile
+ avr/lib/avr5/atmega64hve/Makefile
++ avr/lib/avr5/atmega64hve2/Makefile
+ avr/lib/avr5/atmega64m1/Makefile
+ avr/lib/avr5/atmega128/Makefile
+ avr/lib/avr5/atmega1280/Makefile
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2012-12-12 13:24:34.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2012-12-12 13:26:38.000000000 +0530
+@@ -255,6 +255,7 @@ atmega6490a:crtm6490a.o:${DEV_DEFS}:${CF
+ atmega6490p:crtm6490p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64c1:crtm64c1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64hve:crtm64hve.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++atmega64hve2:crtm64hve2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64m1:crtm64m1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega128:crtm128.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega1280:crtm1280.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
+--- doc/api/main_page.dox 2012-12-12 13:24:34.000000000 +0530
++++ doc/api/main_page.dox 2012-12-12 13:30:18.000000000 +0530
+@@ -261,6 +261,7 @@ compile-time.
+ - atmega32hvb
+ - atmega32hvbrevb
+ - atmega64hve
++- atmega64hve2
+ - atmega406
+
+ \par USB AVR Devices:
+diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
+--- doc/api/using-tools.dox 2012-12-12 13:24:34.000000000 +0530
++++ doc/api/using-tools.dox 2012-12-12 13:30:52.000000000 +0530
+@@ -386,6 +386,7 @@ AVR will be defined as well when using t
+ <tr><td>avr5</td><td>atmega649p</td><td>__AVR_ATmega649P__</td></tr>
+ <tr><td>avr5</td><td>atmega64c1</td><td>__AVR_ATmega64C1__</td></tr>
+ <tr><td>avr5</td><td>atmega64hve</td><td>__AVR_ATmega64HVE__</td></tr>
++ <tr><td>avr5</td><td>atmega64hve2</td><td>__AVR_ATmega64HVE2__</td></tr>
+ <tr><td>avr5</td><td>atmega64m1</td><td>__AVR_ATmega64M1__</td></tr>
+ <tr><td>avr5</td><td>m3000</td><td>__AVR_M3000__</td></tr>
+
+diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
+--- include/avr/eeprom.h 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/eeprom.h 2012-12-12 13:29:02.000000000 +0530
+@@ -229,6 +229,8 @@
+ # define _EEPROM_SUFFIX _m32hvbrevb
+ #elif defined (__AVR_ATmega64HVE__)
+ # define _EEPROM_SUFFIX _m64hve
++#elif defined (__AVR_ATmega64HVE2__)
++# define _EEPROM_SUFFIX _m64hve2
+ #elif defined (__AVR_ATmega406__)
+ # define _EEPROM_SUFFIX _m406
+ #elif defined (__AVR_ATmega16__)
+diff -Naurp include/avr/io.h include/avr/io.h
+--- include/avr/io.h 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/io.h 2012-12-12 13:29:49.000000000 +0530
+@@ -214,6 +214,8 @@
+ # include <avr/iom649p.h>
+ #elif defined (__AVR_ATmega64HVE__)
+ # include <avr/iom64hve.h>
++#elif defined (__AVR_ATmega64HVE2__)
++# include <avr/iom64hve2.h>
+ #elif defined (__AVR_ATmega103__)
+ # include <avr/iom103.h>
+ #elif defined (__AVR_ATmega32__)
+diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
+--- include/avr/Makefile.am 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/Makefile.am 2012-12-12 13:27:11.000000000 +0530
+@@ -149,6 +149,7 @@ avr_HEADERS = \
+ iom6490.h \
+ iom64c1.h \
+ iom64hve.h \
++ iom64hve2.h \
+ iom64m1.h \
+ iom64rfr2.h \
+ iom8.h \
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/power.h 2012-12-13 11:02:12.000000000 +0530
+@@ -1709,6 +1709,23 @@ do{ \
+
+ #endif
+
++#elif defined(__AVR_ATmega64HVE2__)
++
++#define power_lin_enable() (PRR0 &= (uint8_t)~(1 << PRLIN))
++#define power_lin_disable() (PRR0 |= (uint8_t)(1 << PRLIN))
++
++#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI))
++#define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI))
++
++#define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0))
++#define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0))
++
++#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1))
++#define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1))
++
++#define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)))
++#define power_all_disable() (PRR0 |= (uint8_t)((1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)))
++
+ #elif defined(__AVR_ATmega16M1__) \
+ || defined(__AVR_ATmega32C1__) \
+ || defined(__AVR_ATmega32M1__) \
+@@ -2107,7 +2107,8 @@ Gets and returns the clock prescaler reg
+ #elif defined(__AVR_ATmega16HVB__) \
+ || defined(__AVR_ATmega16HVBREVB__) \
+ || defined(__AVR_ATmega32HVB__) \
+-|| defined(__AVR_ATmega32HVBREVB__)
++|| defined(__AVR_ATmega32HVBREVB__) \
++|| defined(__AVR_ATmega64HVE2__)
+
+ typedef enum
+ {
+diff -Naurp include/avr/sleep.h include/avr/sleep.h
+--- include/avr/sleep.h 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/sleep.h 2012-12-12 13:28:16.000000000 +0530
+@@ -300,7 +300,8 @@
+ } while(0)
+
+ #elif defined(__AVR_AT94K__) \
+-|| defined(__AVR_ATmega64HVE__)
++|| defined(__AVR_ATmega64HVE__) \
++|| defined(__AVR_ATmega64HVE2__)
+
+ #define SLEEP_MODE_IDLE 0
+ #define SLEEP_MODE_PWR_DOWN _BV(SM1)
+diff -Naurp include/avr/wdt.h include/avr/wdt.h
+--- include/avr/wdt.h 2012-12-12 13:24:34.000000000 +0530
++++ include/avr/wdt.h 2012-12-12 13:29:22.000000000 +0530
+@@ -300,6 +300,7 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATmega649P__) \
+ || defined(__AVR_ATmega64C1__) \
+ || defined(__AVR_ATmega64HVE__) \
++|| defined(__AVR_ATmega64HVE2__) \
+ || defined(__AVR_ATmega64M1__) \
+ || defined(__AVR_ATmega8A__) \
+ || defined(__AVR_ATmega88__) \
diff --git a/404-avr-libc-atmega64_128_2564RFR2.patch b/404-avr-libc-atmega64_128_2564RFR2.patch
new file mode 100644
index 0000000..7d95100
--- /dev/null
+++ b/404-avr-libc-atmega64_128_2564RFR2.patch
@@ -0,0 +1,326 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2012-12-05 14:11:26.000000000 +0530
++++ configure.ac 2012-12-05 14:14:04.000000000 +0530
+@@ -856,6 +856,9 @@ AM_CONDITIONAL(HAS_atmega64rfa2, test "x
+ CHECK_AVR_DEVICE(atmega64rfr2)
+ AM_CONDITIONAL(HAS_atmega64rfr2, test "x$HAS_atmega64rfr2" = "xyes")
+
++CHECK_AVR_DEVICE(atmega644rfr2)
++AM_CONDITIONAL(HAS_atmega644rfr2, test "x$HAS_atmega644rfr2" = "xyes")
++
+ CHECK_AVR_DEVICE(atmega64)
+ AM_CONDITIONAL(HAS_atmega64, test "x$HAS_atmega64" = "xyes")
+
+@@ -966,6 +969,9 @@ AM_CONDITIONAL(HAS_atmega128rfa2, test "
+ CHECK_AVR_DEVICE(atmega128rfr2)
+ AM_CONDITIONAL(HAS_atmega128rfr2, test "x$HAS_atmega128rfr2" = "xyes")
+
++CHECK_AVR_DEVICE(atmega1284rfr2)
++AM_CONDITIONAL(HAS_atmega1284rfr2, test "x$HAS_atmega1284rfr2" = "xyes")
++
+
+ # avr6
+ CHECK_AVR_DEVICE(avr6)
+@@ -980,6 +986,9 @@ AM_CONDITIONAL(HAS_atmega256rfa2, test "
+ CHECK_AVR_DEVICE(atmega256rfr2)
+ AM_CONDITIONAL(HAS_atmega256rfr2, test "x$HAS_atmega256rfr2" = "xyes")
+
++CHECK_AVR_DEVICE(atmega2564rfr2)
++AM_CONDITIONAL(HAS_atmega2564rfr2, test "x$HAS_atmega2564rfr2" = "xyes")
++
+
+ # avrxmega2
+ CHECK_AVR_DEVICE(avrxmega2)
+@@ -1387,6 +1396,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr5/atmega32u6/Makefile
+ avr/lib/avr5/atmega406/Makefile
+ avr/lib/avr5/atmega64rfr2/Makefile
++ avr/lib/avr5/atmega644rfr2/Makefile
+ avr/lib/avr5/atmega64/Makefile
+ avr/lib/avr5/atmega64a/Makefile
+ avr/lib/avr5/atmega640/Makefile
+@@ -1429,6 +1439,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr51/atmega1284p/Makefile
+ avr/lib/avr51/atmega128rfa1/Makefile
+ avr/lib/avr51/atmega128rfr2/Makefile
++ avr/lib/avr51/atmega1284rfr2/Makefile
+ avr/lib/avr51/at90can128/Makefile
+ avr/lib/avr51/at90usb1286/Makefile
+ avr/lib/avr51/at90usb1287/Makefile
+@@ -1440,6 +1451,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr6/atmega2560/Makefile
+ avr/lib/avr6/atmega2561/Makefile
+ avr/lib/avr6/atmega256rfr2/Makefile
++ avr/lib/avr6/atmega2564rfr2/Makefile
+ ])
+
+ # avrxmega2
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2012-12-05 14:11:26.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2012-12-05 14:15:25.000000000 +0530
+@@ -234,6 +234,7 @@ atmega406:crtm406.o:${DEV_DEFS}:${CFLAGS
+ atmega32u6:crtm32u6.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega406:crtm406.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64rfr2:crtm64rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++atmega644rfr2:crtm644rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64:crtm64.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega64a:crtm64a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega640:crtm640.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -274,6 +275,7 @@ atmega1284p:crtm1284p.o:${DEV_DEFS}:${CF
+ atmega1284p:crtm1284p.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ atmega128rfa1:crtm128rfa1.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ atmega128rfr2:crtm128rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++atmega1284rfr2:crtm1284rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ at90can128:crtcan128.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ at90usb1286:crtusb1286.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ at90usb1287:crtusb1287.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
+@@ -282,7 +284,8 @@ AVR6_DEV_INFO="\
+ AVR6_DEV_INFO="\
+ atmega2560:crtm2560.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ atmega2561:crtm2561.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-atmega256rfr2:crtm256rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
++atmega256rfr2:crtm256rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++atmega2564rfr2:crtm2564rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
+
+ AVRXMEGA2_DEV_INFO="\
+diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
+--- doc/api/main_page.dox 2012-12-05 14:11:26.000000000 +0530
++++ doc/api/main_page.dox 2012-12-05 14:27:27.000000000 +0530
+@@ -328,9 +328,12 @@ compile-time.
+ \par Wireless AVR devices:
+
+ -atmega64rfr2
++-atmega644rfr2
+ -atmega128rfa1
+ -atmega128rfr2
++-atmega1284rfr2
+ -atmega256rfr2
++-atmega2564rfr2
+
+ \par Miscellaneous Devices:
+
+diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
+--- doc/api/using-tools.dox 2012-12-05 14:11:26.000000000 +0530
++++ doc/api/using-tools.dox 2012-12-05 14:28:38.000000000 +0530
+@@ -365,6 +365,7 @@ AVR will be defined as well when using t
+ <tr><td>avr5</td><td>atmega32u6</td><td>__AVR_ATmega32U6__</td></tr>
+ <tr><td>avr5</td><td>atmega406</td><td>__AVR_ATmega406__</td></tr>
+ <tr><td>avr5</td><td>atmega64rfr2</td><td>__AVR_ATmega64RFR2__</td></tr>
++ <tr><td>avr5</td><td>atmega644rfr2</td><td>__AVR_ATmega644RFR2__</td></tr>
+ <tr><td>avr5</td><td>atmega64</td><td>__AVR_ATmega64__</td></tr>
+ <tr><td>avr5</td><td>atmega64a</td><td>__AVR_ATmega64A__</td></tr>
+ <tr><td>avr5</td><td>atmega640</td><td>__AVR_ATmega640__</td></tr>
+@@ -400,10 +401,12 @@ AVR will be defined as well when using t
+ <tr><td>avr5/avr51 [3]</td><td>atmega1284</td><td>__AVR_ATmega1284__</td></tr>
+ <tr><td>avr5/avr51 [3]</td><td>atmega1284p</td><td>__AVR_ATmega1284P__</td></tr>
+ <tr><td>avr5/avr51 [3]</td><td>atmega128rfr2</td><td>__AVR_ATmega128RFR2__</td></tr>
++ <tr><td>avr5/avr51 [3]</td><td>atmega1284rfr2</td><td>__AVR_ATmega1284RFR2__</td></tr>
+
+ <tr><td>avr6</td><td>atmega2560</td><td>__AVR_ATmega2560__</td></tr>
+ <tr><td>avr6</td><td>atmega2561</td><td>__AVR_ATmega2561__</td></tr>
+ <tr><td>avr6</td><td>atmega256rfr2</td><td>__AVR_ATmega256RFR2__</td></tr>
++ <tr><td>avr6</td><td>atmega2564rfr2</td><td>__AVR_ATmega2564RFR2__</td></tr>
+
+ <tr><td>avrxmega2</td><td>atxmega16a4</td><td>__AVR_ATxmega16A4__</td></tr>
+ <tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
+diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
+--- include/avr/eeprom.h 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/eeprom.h 2012-12-05 14:25:24.000000000 +0530
+@@ -109,8 +109,12 @@
+ # define _EEPROM_SUFFIX _m128rfa1
+ #elif defined (__AVR_ATmega128RFR2__)
+ # define _EEPROM_SUFFIX _m128rfr2
++#elif defined (__AVR_ATmega1284RFR2__)
++# define _EEPROM_SUFFIX _m1284rfr2
+ #elif defined (__AVR_ATmega256RFR2__)
+ # define _EEPROM_SUFFIX _m256rfr2
++#elif defined (__AVR_ATmega2564RFR2__)
++# define _EEPROM_SUFFIX _m2564rfr2
+ #elif defined (__AVR_ATmega2560__)
+ # define _EEPROM_SUFFIX _m2560
+ #elif defined (__AVR_ATmega2561__)
+@@ -135,6 +139,8 @@
+ # define _EEPROM_SUFFIX _usb1287
+ #elif defined (__AVR_ATmega64RFR2__)
+ # define _EEPROM_SUFFIX _m64rfr2
++#elif defined (__AVR_ATmega644RFR2__)
++# define _EEPROM_SUFFIX _m644rfr2
+ #elif defined (__AVR_ATmega64__)
+ # define _EEPROM_SUFFIX _m64
+ #elif defined (__AVR_ATmega64A__)
+diff -Naurp include/avr/io.h include/avr/io.h
+--- include/avr/io.h 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/io.h 2012-12-05 14:26:42.000000000 +0530
+@@ -164,8 +164,12 @@
+ # include <avr/iom128rfa1.h>
+ #elif defined (__AVR_ATmega128RFR2__)
+ # include <avr/iom128rfr2.h>
++#elif defined (__AVR_ATmega1284RFR2__)
++# include <avr/iom1284rfr2.h>
+ #elif defined (__AVR_ATmega256RFR2__)
+ # include <avr/iom256rfr2.h>
++#elif defined (__AVR_ATmega2564RFR2__)
++# include <avr/iom2564rfr2.h>
+ #elif defined (__AVR_ATmega2560__)
+ # include <avr/iom2560.h>
+ #elif defined (__AVR_ATmega2561__)
+@@ -190,6 +194,8 @@
+ # include <avr/iousb1287.h>
+ #elif defined (__AVR_ATmega64RFR2__)
+ # include <avr/iom64rfr2.h>
++#elif defined (__AVR_ATmega644RFR2__)
++# include <avr/iom644rfr2.h>
+ #elif defined (__AVR_ATmega64__)
+ # include <avr/iom64.h>
+ #elif defined (__AVR_ATmega64A__)
+diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
+--- include/avr/Makefile.am 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/Makefile.am 2012-12-05 14:16:26.000000000 +0530
+@@ -85,6 +85,7 @@ avr_HEADERS = \
+ iom1284p.h \
+ iom128rfa1.h \
+ iom128rfr2.h \
++ iom1284rfr2.h \
+ iom16.h \
+ iom16a.h \
+ iom161.h \
+@@ -111,6 +112,7 @@ avr_HEADERS = \
+ iom2560.h \
+ iom2561.h \
+ iom256rfr2.h \
++ iom2564rfr2.h \
+ iom3000.h \
+ iom32.h \
+ iom32a.h \
+@@ -152,6 +154,7 @@ avr_HEADERS = \
+ iom64hve2.h \
+ iom64m1.h \
+ iom64rfr2.h \
++ iom644rfr2.h \
+ iom8.h \
+ iom8a.h \
+ iom8515.h \
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/power.h 2012-12-05 14:20:01.000000000 +0530
+@@ -997,8 +997,11 @@ do{ \
+ }while(0)
+
+ #elif defined(__AVR_ATmega256RFR2__) \
++|| defined(__AVR_ATmega2564RFR2__) \
+ || defined(__AVR_ATmega128RFR2__) \
++|| defined(__AVR_ATmega1284RFR2__) \
+-|| defined(__AVR_ATmega64RFR2__)
++|| defined(__AVR_ATmega64RFR2__) \
++|| defined(__AVR_ATmega644RFR2__)
+
+ #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC))
+ #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC))
+@@ -1962,6 +1965,7 @@ do{ \
+ || defined(__AVR_ATmega1284__) \
+ || defined(__AVR_ATmega128RFA1__) \
+ || defined(__AVR_ATmega128RFR2__) \
++|| defined(__AVR_ATmega1284RFR2__) \
+ || defined(__AVR_ATmega1284P__) \
+ || defined(__AVR_ATmega162__) \
+ || defined(__AVR_ATmega164A__) \
+@@ -1982,6 +1986,7 @@ do{ \
+ || defined(__AVR_ATmega2560__) \
+ || defined(__AVR_ATmega2561__) \
+ || defined(__AVR_ATmega256RFR2__) \
++|| defined(__AVR_ATmega2564RFR2__) \
+ || defined(__AVR_ATmega324A__) \
+ || defined(__AVR_ATmega324P__) \
+ || defined(__AVR_ATmega325__) \
+@@ -2026,6 +2031,7 @@ do{ \
+ || defined(__AVR_ATmega6490A__) \
+ || defined(__AVR_ATmega6490P__) \
+ || defined(__AVR_ATmega64RFR2__) \
++|| defined(__AVR_ATmega644RFR2__) \
+ || defined(__AVR_ATmega88__) \
+ || defined(__AVR_ATmega88P__) \
+ || defined(__AVR_ATmega8U2__) \
+@@ -2080,8 +2086,11 @@ typedef enum
+ clock_div_256 = 8
+ #if defined(__AVR_ATmega128RFA1__) \
+ || defined(__AVR_ATmega256RFR2__) \
++|| defined(__AVR_ATmega2564RFR2__) \
+ || defined(__AVR_ATmega128RFR2__) \
+-|| defined(__AVR_ATmega64RFR2__)
++|| defined(__AVR_ATmega1284RFR2__) \
++|| defined(__AVR_ATmega64RFR2__) \
++|| defined(__AVR_ATmega644RFR2__)
+ , clock_div_1_rc = 15
+ #endif
+ } clock_div_t;
+diff -Naurp include/avr/sleep.h include/avr/sleep.h
+--- include/avr/sleep.h 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/sleep.h 2012-12-05 14:21:00.000000000 +0530
+@@ -367,6 +367,7 @@
+ || defined(__AVR_ATmega1284P__) \
+ || defined(__AVR_ATmega128RFA1__) \
+ || defined(__AVR_ATmega128RFR2__) \
++|| defined(__AVR_ATmega1284RFR2__) \
+ || defined(__AVR_ATmega16__) \
+ || defined(__AVR_ATmega16A__) \
+ || defined(__AVR_ATmega162__) \
+@@ -381,6 +382,7 @@
+ || defined(__AVR_ATmega2560__) \
+ || defined(__AVR_ATmega2561__) \
+ || defined(__AVR_ATmega256RFR2__) \
++|| defined(__AVR_ATmega2564RFR2__) \
+ || defined(__AVR_ATmega32__) \
+ || defined(__AVR_ATmega32A__) \
+ || defined(__AVR_ATmega323__) \
+@@ -404,6 +406,7 @@
+ || defined(__AVR_ATmega644PA__) \
+ || defined(__AVR_ATmega64C1__) \
+ || defined(__AVR_ATmega64RFR2__) \
++|| defined(__AVR_ATmega644RFR2__) \
+ || defined(__AVR_ATmega8515__) \
+ || defined(__AVR_ATmega8535__) \
+ || defined(__AVR_ATmega88A__) \
+diff -Naurp include/avr/wdt.h include/avr/wdt.h
+--- include/avr/wdt.h 2012-12-05 14:11:26.000000000 +0530
++++ include/avr/wdt.h 2012-12-05 14:23:46.000000000 +0530
+@@ -218,6 +218,7 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATmega1284P__) \
+ || defined(__AVR_ATmega128RFA1__) \
+ || defined(__AVR_ATmega128RFR2__) \
++|| defined(__AVR_ATmega1284RFR2__) \
+ || defined(__AVR_ATmega164__) \
+ || defined(__AVR_ATmega164A__) \
+ || defined(__AVR_ATmega164P__) \
+@@ -244,6 +245,7 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATmega2560__) \
+ || defined(__AVR_ATmega2561__) \
+ || defined(__AVR_ATmega256RFR2__) \
++|| defined(__AVR_ATmega2564RFR2__) \
+ || defined(__AVR_ATmega32A__) \
+ || defined(__AVR_ATmega324__) \
+ || defined(__AVR_ATmega324A__) \
+@@ -281,6 +283,7 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATmega48P__) \
+ || defined(__AVR_ATmega64A__) \
+ || defined(__AVR_ATmega64RFR2__) \
++|| defined(__AVR_ATmega644RFR2__) \
+ || defined(__AVR_ATmega640__) \
+ || defined(__AVR_ATmega644__) \
+ || defined(__AVR_ATmega644A__) \
+@@ -465,6 +468,7 @@ __asm__ __volatile__ ( \
+ ATmega8HVA, ATmega16HVA, ATmega32HVB,
+ ATmega406, ATmega1284P,
+ ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
++ ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2,
+ AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
+ AT90PWM81, AT90PWM161,
+ AT90USB82, AT90USB162,
+@@ -487,6 +491,7 @@ __asm__ __volatile__ ( \
+ ATmega8HVA, ATmega16HVA, ATmega32HVB,
+ ATmega406, ATmega1284P,
+ ATmega256RFR2, ATmega128RFR2, ATmega64RFR2,
++ ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2,
+ AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316,
+ AT90PWM81, AT90PWM161,
+ AT90USB82, AT90USB162,
diff --git a/405-avr-libc-ata5790n.patch b/405-avr-libc-ata5790n.patch
new file mode 100644
index 0000000..0780909
--- /dev/null
+++ b/405-avr-libc-ata5790n.patch
@@ -0,0 +1,140 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2013-03-15 11:55:29.000000000 +0530
++++ configure.ac 2013-03-15 11:56:20.000000000 +0530
+@@ -679,6 +679,9 @@ AM_CONDITIONAL(HAS_at94k, test "x$HAS_at
+ CHECK_AVR_DEVICE(ata5790)
+ AM_CONDITIONAL(HAS_ata5790, test "x$HAS_ata5790" = "xyes")
+
++CHECK_AVR_DEVICE(ata5790n)
++AM_CONDITIONAL(HAS_ata5790n, test "x$HAS_ata5790n" = "xyes")
++
+ CHECK_AVR_DEVICE(ata5795)
+ AM_CONDITIONAL(HAS_ata5795, test "x$HAS_ata5795" = "xyes")
+
+@@ -1337,6 +1340,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr5/at90usb1287/Makefile
+ avr/lib/avr5/at94k/Makefile
+ avr/lib/avr5/ata5790/Makefile
++ avr/lib/avr5/ata5790n/Makefile
+ avr/lib/avr5/ata5795/Makefile
+ avr/lib/avr5/atmega16/Makefile
+ avr/lib/avr5/atmega16a/Makefile
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2013-03-15 11:55:29.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-03-15 11:56:20.000000000 +0530
+@@ -175,6 +175,7 @@ at90usb1286:crtusb1286.o:${DEV_DEFS}:${C
+ at90usb1287:crtusb1287.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ at94k:crtat94k.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata5790:crta5790.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++ata5790n:crta5790n.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata5795:crta5795.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega16:crtm16.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega16a:crtm16a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
+--- doc/api/main_page.dox 2013-03-15 11:55:29.000000000 +0530
++++ doc/api/main_page.dox 2013-03-15 11:56:20.000000000 +0530
+@@ -210,6 +210,7 @@ compile-time.
+ - ata5505
+ - ata5272
+ - ata5790
++- ata5790n
+ - ata5795
+
+ \par CAN AVR Devices:
+diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
+--- doc/api/using-tools.dox 2013-03-15 11:55:29.000000000 +0530
++++ doc/api/using-tools.dox 2013-03-15 11:56:20.000000000 +0530
+@@ -307,6 +307,7 @@ AVR will be defined as well when using t
+ <tr><td>avr5</td><td>at94k</td><td>__AVR_AT94K__</td></tr>
+ <tr><td>avr5</td><td>atmega16</td><td>__AVR_ATmega16__</td></tr>
+ <tr><td>avr5</td><td>ata5790</td><td>__AVR_ATA5790__</td></tr>
++ <tr><td>avr5</td><td>ata5790n</td><td>__AVR_ATA5790N__</td></tr>
+ <tr><td>avr5</td><td>ata5795</td><td>__AVR_ATA5795__</td></tr>
+ <tr><td>avr5</td><td>atmega161</td><td>__AVR_ATmega161__</td></tr>
+ <tr><td>avr5</td><td>atmega162</td><td>__AVR_ATmega162__</td></tr>
+diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
+--- include/avr/eeprom.h 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/eeprom.h 2013-03-15 11:56:20.000000000 +0530
+@@ -491,6 +491,8 @@
+ # define _EEPROM_SUFFIX _a6289
+ #elif defined (__AVR_ATA5790__)
+ # define _EEPROM_SUFFIX _a5790
++#elif defined (__AVR_ATA5790N__)
++# define _EEPROM_SUFFIX _a5790n
+ #elif defined (__AVR_ATA5795__)
+ # define _EEPROM_SUFFIX _a5795
+ /* avr1: the following only supported for assembler programs */
+diff -Naurp include/avr/io.h include/avr/io.h
+--- include/avr/io.h 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/io.h 2013-03-15 11:56:20.000000000 +0530
+@@ -506,6 +506,8 @@
+ # include <avr/iox384d3.h>
+ #elif defined (__AVR_ATA5790__)
+ # include <avr/ioa5790.h>
++#elif defined (__AVR_ATA5790N__)
++# include <avr/ioa5790n.h>
+ #elif defined (__AVR_ATA5272__)
+ # include <avr/ioa5272.h>
+ #elif defined (__AVR_ATA5505__)
+diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
+--- include/avr/Makefile.am 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/Makefile.am 2013-03-15 11:56:20.000000000 +0530
+@@ -67,6 +67,7 @@ avr_HEADERS = \
+ ioa5505.h \
+ ioa5272.h \
+ ioa5790.h \
++ ioa5790n.h \
+ ioa5795.h \
+ ioa6285.h \
+ ioa6286.h \
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/power.h 2013-03-15 11:56:20.000000000 +0530
+@@ -1649,6 +1649,7 @@ do{ \
+
+
+ #elif defined (__AVR_ATA5790__) \
++|| defined (__AVR_ATA5790N__) \
+ || defined (__AVR_ATA5795__)
+
+ // Enable the voltage monitor
+@@ -1679,7 +1680,8 @@ do{ \
+ #define power_cinterface_enable() (PRR1 &= (uint8_t)~(1 << PRCI))
+ #define power_cinterface_disable() (PRR1 |= (uint8_t)(1 << PRCI))
+
+-#if defined(__AVR_ATA5790__)
++#if defined(__AVR_ATA5790__) \
++|| defined(__AVR_ATA5790N__)
+
+ #define power_lfreceiver_enable() (PRR0 &= (uint8_t)~(1 << PRLFR))
+ #define power_lfreceiver_disable() (PRR0 |= (uint8_t)(1 << PRLFR))
+@@ -2165,6 +2167,7 @@ void clock_prescale_set(clock_div_t __x)
+ #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)))
+
+ #elif defined(__AVR_ATA5790__) \
++|| defined (__AVR_ATA5790N__) \
+ || defined (__AVR_ATA5795__)
+
+ typedef enum
+diff -Naurp include/avr/sleep.h include/avr/sleep.h
+--- include/avr/sleep.h 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/sleep.h 2013-03-15 11:56:20.000000000 +0530
+@@ -568,6 +568,7 @@
+ } while(0)
+
+ #elif defined (__AVR_ATA5790__) \
++|| defined (__AVR_ATA5790N__) \
+ || defined (__AVR_ATA5795__)
+
+ #define SLEEP_MODE_IDLE (0)
+diff -Naurp include/avr/wdt.h include/avr/wdt.h
+--- include/avr/wdt.h 2013-03-15 11:55:29.000000000 +0530
++++ include/avr/wdt.h 2013-03-15 11:56:20.000000000 +0530
+@@ -323,6 +323,7 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATA5272__) \
+ || defined(__AVR_ATA5505__) \
+ || defined(__AVR_ATA5790__) \
++|| defined(__AVR_ATA5790N__) \
+ || defined(__AVR_ATA5795__)
+
+ /* Use STS instruction. */
diff --git a/406-avr-libc-ata5831.patch b/406-avr-libc-ata5831.patch
new file mode 100644
index 0000000..7195110
--- /dev/null
+++ b/406-avr-libc-ata5831.patch
@@ -0,0 +1,441 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2013-03-15 12:01:34.000000000 +0530
++++ configure.ac 2013-03-15 12:01:52.000000000 +0530
+@@ -993,6 +993,14 @@ CHECK_AVR_DEVICE(atmega2564rfr2)
+ AM_CONDITIONAL(HAS_atmega2564rfr2, test "x$HAS_atmega2564rfr2" = "xyes")
+
+
++# avr7
++CHECK_AVR_DEVICE(avr7)
++AM_CONDITIONAL(HAS_avr7, test "x$HAS_avr7" = "xyes")
++
++CHECK_AVR_DEVICE(ata5831)
++AM_CONDITIONAL(HAS_ata5831, test "x$HAS_ata5831" = "xyes")
++
++
+ # avrxmega2
+ CHECK_AVR_DEVICE(avrxmega2)
+ AM_CONDITIONAL(HAS_avrxmega2, test "x$HAS_avrxmega2" = "xyes")
+@@ -1458,6 +1466,12 @@ AC_CONFIG_FILES([
+ avr/lib/avr6/atmega2564rfr2/Makefile
+ ])
+
++#avr7
++AC_CONFIG_FILES([
++ avr/lib/avr7/Makefile
++ avr/lib/avr7/ata5831/Makefile
++])
++
+ # avrxmega2
+ AC_CONFIG_FILES([
+ avr/lib/avrxmega2/Makefile
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2013-03-15 12:01:34.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-03-15 12:01:52.000000000 +0530
+@@ -289,6 +289,10 @@ atmega256rfr2:crtm256rfr2.o:${DEV_DEFS}:
+ atmega2564rfr2:crtm2564rfr2.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
+
++AVR7_DEV_INFO="\
++ata5831:crta5831.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
++"
++
+ AVRXMEGA2_DEV_INFO="\
+ atxmega16a4:crtx16a4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atxmega16a4u:crtx16a4u.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -369,6 +373,7 @@ avr4:AVR4_DEV_INFO:${LIB_DEFS}:${CFLAGS_
+ avr5:AVR5_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ avr51:AVR51_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ avr6:AVR6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
++avr7:AVR7_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ avrxmega2:AVRXMEGA2_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ avrxmega4:AVRXMEGA4_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ avrxmega5:AVRXMEGA5_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
+--- doc/api/main_page.dox 2013-03-15 12:01:34.000000000 +0530
++++ doc/api/main_page.dox 2013-03-15 12:01:52.000000000 +0530
+@@ -212,6 +212,7 @@ compile-time.
+ - ata5790
+ - ata5790n
+ - ata5795
++- ata5831
+
+ \par CAN AVR Devices:
+
+diff -Naurp doc/api/using-tools.dox doc/api/using-tools.dox
+--- doc/api/using-tools.dox 2013-03-15 12:01:34.000000000 +0530
++++ doc/api/using-tools.dox 2013-03-15 12:03:29.000000000 +0530
+@@ -180,6 +180,20 @@ AVR will be defined as well when using t
+ </td>
+ <td>"Enhanced" CPU core, 256 KB of ROM</td>
+ </tr>
++ <tr>
++ <td>avr7 [2]</td>
++ <td>
++ __AVR_ARCH__=7<BR>
++ __AVR_MEGA__ [5]<BR>
++ __AVR_ENHANCED__ [5]<BR>
++ __AVR_HAVE_JMP_CALL__ [4]<BR>
++ __AVR_HAVE_MOVW__ [1]<BR>
++ __AVR_HAVE_LPMX__ [1]<BR>
++ __AVR_HAVE_MUL__ [1]<BR>
++ __AVR_2_BYTE_PC__ [2]
++ </td>
++ <td>"Enhanced" CPU core, 20K of Flash that starts at 0x8000</td>
++ </tr>
+ </table>
+ <p>
+ [1] New in GCC 4.2<BR>
+@@ -409,6 +423,8 @@ AVR will be defined as well when using t
+ <tr><td>avr6</td><td>atmega256rfr2</td><td>__AVR_ATmega256RFR2__</td></tr>
+ <tr><td>avr6</td><td>atmega2564rfr2</td><td>__AVR_ATmega2564RFR2__</td></tr>
+
++ <tr><td>avr7</td><td>ata5831</td><td>__AVR_ATA5831__</td></tr>
++
+ <tr><td>avrxmega2</td><td>atxmega16a4</td><td>__AVR_ATxmega16A4__</td></tr>
+ <tr><td>avrxmega2</td><td>atxmega16a4u</td><td>__AVR_ATxmega16A4U__</td></tr>
+ <tr><td>avrxmega2</td><td>atxmega16c4</td><td>__AVR_ATxmega16C4__</td></tr>
+diff -Naurp include/avr/eeprom.h include/avr/eeprom.h
+--- include/avr/eeprom.h 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/eeprom.h 2013-03-15 12:01:52.000000000 +0530
+@@ -495,6 +495,8 @@
+ # define _EEPROM_SUFFIX _a5790n
+ #elif defined (__AVR_ATA5795__)
+ # define _EEPROM_SUFFIX _a5795
++#elif defined (__AVR_ATA5831__)
++# define _EEPROM_SUFFIX _a5831
+ /* avr1: the following only supported for assembler programs */
+ #elif defined (__AVR_ATtiny28__)
+ # define _EEPROM_SUFFIX _tn28
+diff -Naurp include/avr/io.h include/avr/io.h
+--- include/avr/io.h 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/io.h 2013-03-15 12:01:52.000000000 +0530
+@@ -514,6 +514,8 @@
+ # include <avr/ioa5505.h>
+ #elif defined (__AVR_ATA5795__)
+ # include <avr/ioa5795.h>
++#elif defined (__AVR_ATA5831__)
++# include <avr/ioa5831.h>
+ #elif defined (__AVR_ATA6285__)
+ # include <avr/ioa6285.h>
+ #elif defined (__AVR_ATA6286__)
+diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
+--- include/avr/Makefile.am 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/Makefile.am 2013-03-15 12:01:52.000000000 +0530
+@@ -69,6 +69,7 @@ avr_HEADERS = \
+ ioa5790.h \
+ ioa5790n.h \
+ ioa5795.h \
++ ioa5831.h \
+ ioa6285.h \
+ ioa6286.h \
+ ioa6289.h \
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/power.h 2013-03-15 12:01:52.000000000 +0530
+@@ -346,6 +346,163 @@ find out which macros are applicable to
+ <td>Disable all modules.</td>
+ <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>
+ </tr>
++
++ <tr>
++ <td>power_clock_output_enable()</td>
++ <td>Enable clock output module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_clock_output_disable()</td>
++ <td>Enable clock output module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_voltage_monitor_enable()</td>
++ <td>Enable voltage monitor module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_voltage_monitor_disable()</td>
++ <td>Disable voltage monitor module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_crc_enable()</td>
++ <td>Enable CRC module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_crc_disable()</td>
++ <td>Disable CRC module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_transmit_dsp_control_enable()</td>
++ <td>Enable Transmit DSP control module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_transmit_dsp_control_disable()</td>
++ <td>Disable Transmit DSP control module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_receive_dsp_control_enable()</td>
++ <td>Enable Receive DSP control module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_receive_dsp_control_disable()</td>
++ <td>Disable Receive DSP control module</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_sequencer_state_machine_enable()</td>
++ <td>Enable power sequencer state machine</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_sequencer_state_machine_disable()</td>
++ <td>Disable power sequencer state machine</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_tx_modulator_enable()</td>
++ <td>Enable Tx modulator</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_tx_modulator_disable()</td>
++ <td>Disable Tx modulator</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rssi_buffer_enable()</td>
++ <td>Enable RSSI buffer</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rssi_buffer_disable()</td>
++ <td>Disable RSSI buffer</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_id_scan_enable()</td>
++ <td>Enable ID Scan</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_id_scan_disable()</td>
++ <td>Disable ID Scan</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_data_fifo_enable()</td>
++ <td>Enable data FIFO</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_data_fifo_disable()</td>
++ <td>Disable data FIFO</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_preamble_rssi_fifo_enable()</td>
++ <td>Enable preamble/RSSI FIFO</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_preamble_rssi_fifo_disable()</td>
++ <td>Disable preamble/RSSI FIFO</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rx_buffer_A_enable()</td>
++ <td>Enable receive buffer for data path A</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rx_buffer_A_disable()</td>
++ <td>Disable receive buffer for data path A</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rx_buffer_B_enable()</td>
++ <td>Enable receive buffer for data path B</td>
++ <td>ATA5831</td>
++ </tr>
++
++ <tr>
++ <td>power_rx_buffer_B_disable()</td>
++ <td>Disable receive buffer for data path B</td>
++ <td>ATA5831</td>
++ </tr>
++
+ </table>
+ </center>
+ </small>
+@@ -1731,6 +1888,79 @@ do{ \
+ #define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)))
+ #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)))
+
++#elif defined(__AVR_ATA5831__)
++
++#define power_clock_output_enable() (PRR0 &= (uint8_t)~(1 << PRCO))
++#define power_clock_output_disable() (PRR0 |= (uint8_t)(1 << PRCO))
++
++#define power_voltage_monitor_enable() (PRR0 &= (uint8_t)~(1 << PRVM))
++#define power_voltage_monitor_disable() (PRR0 |= (uint8_t)(1 << PRVM))
++
++#define power_crc_enable() (PRR0 &= (uint8_t)~(1 << PRCRC))
++#define power_crc_disable() (PRR0 |= (uint8_t)(1 << PRCRC))
++
++#define power_transmit_dsp_control_enable() (PRR0 &= (uint8_t)~(1 << PRTXDC))
++#define power_transmit_dsp_control_disable() (PRR0 |= (uint8_t)(1 << PRTXDC))
++
++#define power_receive_dsp_control_enable() (PRR0 &= (uint8_t)~(1 << PRRXDC))
++#define power_receive_dsp_control_disable() (PRR0 |= (uint8_t)(1 << PRRXDC))
++
++#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI))
++#define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI))
++
++#define power_timer1_enable() (PRR1 &= (uint8_t)~(1 << PRT1))
++#define power_timer1_disable() (PRR1 |= (uint8_t)(1 << PRT1))
++
++#define power_timer2_enable() (PRR1 &= (uint8_t)~(1 << PRT2))
++#define power_timer2_disable() (PRR1 |= (uint8_t)(1 << PRT2))
++
++#define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRT3))
++#define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRT3))
++
++#define power_timer4_enable() (PRR1 &= (uint8_t)~(1 << PRT4))
++#define power_timer4_disable() (PRR1 |= (uint8_t)(1 << PRT4))
++
++#define power_timer5_enable() (PRR1 &= (uint8_t)~(1 << PRT5))
++#define power_timer5_disable() (PRR1 |= (uint8_t)(1 << PRT5))
++
++#define power_sequencer_state_machine_enable() (PRR2 &= (uint8_t)~(1 << PRSSM))
++#define power_sequencer_state_machine_disable() (PRR2 |= (uint8_t)(1 << PRSSM))
++
++#define power_tx_modulator_enable() (PRR2 &= (uint8_t)~(1 << PRTM))
++#define power_tx_modulator_disable() (PRR2 |= (uint8_t)(1 << PRTM))
++
++#define power_rssi_buffer_enable() (PRR2 &= (uint8_t)~(1 << PRRS))
++#define power_rssi_buffer_disable() (PRR2 |= (uint8_t)(1 << PRRS))
++
++#define power_id_scan_enable() (PRR2 &= (uint8_t)~(1 << PRIDS))
++#define power_id_scan_disable() (PRR2 |= (uint8_t)(1 << PRIDS))
++
++#define power_data_fifo_enable() (PRR2 &= (uint8_t)~(1 << PRDF))
++#define power_data_fifo_disable() (PRR2 |= (uint8_t)(1 << PRDF))
++
++#define power_preamble_rssi_fifo_enable() (PRR2 &= (uint8_t)~(1 << PRSF))
++#define power_preamble_rssi_fifo_disable() (PRR2 |= (uint8_t)(1 << PRSF))
++
++#define power_rx_buffer_A_enable() (PRR2 &= (uint8_t)~(1 << PRXA))
++#define power_rx_buffer_A_disable() (PRR2 |= (uint8_t)(1 << PRXA))
++
++#define power_rx_buffer_B_enable() (PRR2 &= (uint8_t)~(1 << PRXB))
++#define power_rx_buffer_B_disable() (PRR2 |= (uint8_t)(1 << PRXB))
++
++#define power_all_enable() \
++do{ \
++ PRR0 &= (uint8_t)~((1 << PRCO) | (1 << PRVM) | (1 << PRCRC) | (1 << PRTXDC) | (1 << PRRXDC) | (1 << PRSPI)); \
++ PRR1 &= (uint8_t)~((1 << PRT1) | (1 << PRT2) | (1 << PRT3) | (1 << PRT4) | (1 << PRT5)); \
++ PRR2 &= (uint8_t)~((1 << PRSSM) | (1 << PRTM) | (1 << PRRS) | (1 << PRIDS) | (1 << PRDF) | (1 << PRSF) | (1 << PRXA) | (1 << PRXB)); \
++}while(0)
++
++#define power_all_disable() \
++do{ \
++ PRR0 |= (uint8_t)((1 << PRCO) | (1 << PRVM) | (1 << PRCRC) | (1 << PRTXDC) | (1 << PRRXDC) | (1 << PRSPI)); \
++ PRR1 |= (uint8_t)((1 << PRT1) | (1 << PRT2) | (1 << PRT3) | (1 << PRT4) | (1 << PRT5)); \
++ PRR2 |= (uint8_t)((1 << PRSSM) | (1 << PRTM) | (1 << PRRS) | (1 << PRIDS) | (1 << PRDF) | (1 << PRSF) | (1 << PRXA) | (1 << PRXB)); \
++}while(0)
++
+ #elif defined(__AVR_ATmega16M1__) \
+ || defined(__AVR_ATmega32C1__) \
+ || defined(__AVR_ATmega32M1__) \
+@@ -2241,7 +2471,8 @@ void timer_clock_prescale_set(timer_cloc
+ #define timer_clock_prescale_get() (timer_clock_div_t)(CLKPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2)))
+
+ #elif defined(__AVR_ATA6285__) \
+-|| defined(__AVR_ATA6286__)
++|| defined(__AVR_ATA6286__) \
++|| defined(__AVR_ATA5831__)
+
+ typedef enum
+ {
+@@ -2272,7 +2503,12 @@ void system_clock_prescale_set(clock_div
+ "out __SREG__,__tmp_reg__" "\n\t"
+ : /* no outputs */
+ : [temp] "r" (__t),
++#if defined(__AVR_ATA6286__) \
++|| defined(__AVR_ATA6285__)
+ [clpr] "I" (_SFR_IO_ADDR(CLKPR)),
++#elif defined(__AVR_ATA5831__)
++ [clpr] "I" (_SFR_IO_ADDR(CLPR)),
++#endif
+ [enable] "r" _BV(CLPCE),
+ [not_CLKPS] "M" (0xFF & (~ ((1 << CLKPS2) | (1 << CLKPS1) | (1 << CLKPS0)))),
+ [set_value] "r" (__x & 7)
+@@ -2310,7 +2546,12 @@ void timer_clock_prescale_set(timer_cloc
+ "out __SREG__,__tmp_reg__" "\n\t"
+ : /* no outputs */
+ : [temp] "r" (__t),
++#if defined(__AVR_ATA6286__) \
++|| defined(__AVR_ATA6285__)
+ [clpr] "I" (_SFR_IO_ADDR(CLKPR)),
++#elif defined(__AVR_ATA5831__)
++ [clpr] "I" (_SFR_IO_ADDR(CLPR)),
++#endif
+ [enable] "r" (_BV(CLPCE)),
+ [not_CLTPS] "M" (0xFF & (~ ((1 << CLTPS2) | (1 << CLTPS1) | (1 << CLTPS0)))),
+ [set_value] "r" ((__x & 7) << 3)
+diff -Naurp include/avr/sleep.h include/avr/sleep.h
+--- include/avr/sleep.h 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/sleep.h 2013-03-15 12:01:52.000000000 +0530
+@@ -569,7 +569,8 @@
+
+ #elif defined (__AVR_ATA5790__) \
+ || defined (__AVR_ATA5790N__) \
+-|| defined (__AVR_ATA5795__)
++|| defined (__AVR_ATA5795__) \
++|| defined (__AVR_ATA5831__)
+
+ #define SLEEP_MODE_IDLE (0)
+ #define SLEEP_MODE_EXT_PWR_SAVE (_BV(SM0))
+diff -Naurp include/avr/wdt.h include/avr/wdt.h
+--- include/avr/wdt.h 2013-03-15 12:01:34.000000000 +0530
++++ include/avr/wdt.h 2013-03-15 12:01:52.000000000 +0530
+@@ -324,7 +324,8 @@ __asm__ __volatile__ ( \
+ || defined(__AVR_ATA5505__) \
+ || defined(__AVR_ATA5790__) \
+ || defined(__AVR_ATA5790N__) \
+-|| defined(__AVR_ATA5795__)
++|| defined(__AVR_ATA5795__) \
++|| defined(__AVR_ATA5831__)
+
+ /* Use STS instruction. */
+
diff --git a/407-avr-libc-public-power_h-doc.patch b/407-avr-libc-public-power_h-doc.patch
new file mode 100644
index 0000000..6344fd0
--- /dev/null
+++ b/407-avr-libc-public-power_h-doc.patch
@@ -0,0 +1,1185 @@
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2013-03-15 12:07:15.000000000 +0530
++++ include/avr/power.h 2013-03-15 12:11:59.000000000 +0530
+@@ -72,279 +72,1047 @@ find out which macros are applicable to
+ </tr>
+
+ <tr>
+- <td>power_adc_enable()</td>
+- <td>Enable the Analog to Digital Converter module.</td>
+- <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>
++ <td>power_aca_disable()</td>
++ <td> Disable The Analog Comparator On PortA </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_adc_disable()</td>
+- <td>Disable the Analog to Digital Converter module.</td>
+- <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>
++ <td>power_aca_enable()</td>
++ <td> Enable The Analog Comparator On PortA </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_lcd_enable()</td>
+- <td>Enable the LCD module.</td>
+- <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3</td>
++ <td>power_acb_disable()</td>
++ <td> Disable The Analog Comparator On PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_lcd_disable().</td>
+- <td>Disable the LCD module.</td>
+- <td>ATmega169, ATmega169P, ATmega329, ATmega329A, ATmega3290, ATmega3290A, ATmega649, ATmega6490, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3</td>
++ <td>power_acb_enable()</td>
++ <td> Enable The Analog Comparator On PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_pscr_enable()</td>
+- <td>Enable the Reduced Power Stage Controller module.</td>
+- <td>AT90PWM81</td>
++ <td>power_adc_disable()</td>
++ <td>Disable the Analog to Digital Converter module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40</td>
+ </tr>
+
+ <tr>
+- <td>power_pscr_disable()</td>
+- <td>Disable the Reduced Power Stage Controller module.</td>
+- <td>AT90PWM81</td>
++ <td>power_adc_enable()</td>
++ <td>Enable the Analog to Digital Converter module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40</td>
+ </tr>
+
+ <tr>
+- <td>power_psc0_enable()</td>
+- <td>Enable the Power Stage Controller 0 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_adca_disable()</td>
++ <td> Disable the Analog to Digital Converter module On PortA </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_psc0_disable()</td>
+- <td>Disable the Power Stage Controller 0 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_adca_enable()</td>
++ <td> Enable the Analog to Digital Converter module On PortA </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_psc1_enable()</td>
+- <td>Enable the Power Stage Controller 1 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_adcb_disable()</td>
++ <td> Disable the Analog to Digital Converter module On PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_psc1_disable()</td>
+- <td>Disable the Power Stage Controller 1 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_adcb_enable()</td>
++ <td> Enable the Analog to Digital Converter module On PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_psc2_enable()</td>
+- <td>Enable the Power Stage Controller 2 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM81</td>
++ <td>power_aes_disable()</td>
++ <td> Disable the AES module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, AT90SCR100</td>
+ </tr>
+
+ <tr>
+- <td>power_psc2_disable()</td>
+- <td>Disable the Power Stage Controller 2 module.</td>
+- <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM81</td>
++ <td>power_aes_enable()</td>
++ <td> Enable the AES module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, AT90SCR100</td>
+ </tr>
+
+ <tr>
+- <td>power_spi_enable()</td>
+- <td>Enable the Serial Peripheral Interface module.</td>
+- <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>
++ <td>power_all_disable()</td>
++ <td>Disable all modules.</td>
++ <td>ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64D4, ATxmega128D4, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega192D3, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATtiny828, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40, ATmega64HVE2</td>
+ </tr>
+
+ <tr>
+- <td>power_spi_disable()</td>
+- <td>Disable the Serial Peripheral Interface module.</td>
+- <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>
++ <td>power_all_enable()</td>
++ <td>Enable all modules.</td>
++ <td>ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64D4, ATxmega128D4, ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega192D3, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATtiny828, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40, ATmega64HVE2</td>
+ </tr>
+
+ <tr>
+- <td>power_timer0_enable()</td>
+- <td>Enable the Timer 0 module.</td>
+- <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>
++ <td>power_can_disable()</td>
++ <td> Disable the CAN module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1</td>
+ </tr>
+
+ <tr>
+- <td>power_timer0_disable()</td>
+- <td>Disable the Timer 0 module.</td>
+- <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>
++ <td>power_can_enable()</td>
++ <td> Enable the CAN module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1</td>
+ </tr>
+
+ <tr>
+- <td>power_timer1_enable()</td>
+- <td>Enable the Timer 1 module.</td>
+- <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>
++ <td>power_cinterface_disable()</td>
++ <td> Disable the CINTERFACE module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_timer1_disable()</td>
+- <td>Disable the Timer 1 module.</td>
+- <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>
++ <td>power_cinterface_enable()</td>
++ <td> Enable the CINTERFACE module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_timer2_enable()</td>
+- <td>Enable the Timer 2 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
++ <td>power_crypto_disable()</td>
++ <td> Disable the CRYPTO module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_timer2_disable()</td>
+- <td>Disable the Timer 2 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
++ <td>power_crypto_enable()</td>
++ <td> Enable the CRYPTO module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_timer3_enable()</td>
+- <td>Enable the Timer 3 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
++ <td>power_daca_disable()</td>
++ <td> Disable the DAC module on PortA </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
+- <td>power_timer3_disable()</td>
+- <td>Disable the Timer 3 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287</td>
++ <td>power_daca_enable()</td>
++ <td> Enable the DAC module on PortA </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
+- <td>power_timer4_enable()</td>
+- <td>Enable the Timer 4 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561</td>
++ <td>power_dacb_disable()</td>
++ <td> Disable the DAC module on PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
+ </tr>
+
+ <tr>
+- <td>power_timer4_disable()</td>
+- <td>Disable the Timer 4 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561</td>
++ <td>power_dacb_enable()</td>
++ <td> Enable the DAC module on PortB </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
+ </tr>
+
+ <tr>
+- <td>power_timer5_enable()</td>
+- <td>Enable the Timer 5 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561</td>
++ <td>power_dma_disable()</td>
++ <td> Disable the DMA module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_timer5_disable()</td>
+- <td>Disable the Timer 5 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561</td>
++ <td>power_dma_enable()</td>
++ <td> Enable the DMA module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_twi_enable()</td>
+- <td>Enable the Two Wire Interface module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
++ <td>power_ebi_disable()</td>
++ <td> Disable the EBI module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
+ </tr>
+
+ <tr>
+- <td>power_twi_disable()</td>
+- <td>Disable the Two Wire Interface module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega1284, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATxmega16A4U, ATxmega32A4U</td>
++ <td>power_ebi_enable()</td>
++ <td> Enable the EBI module </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
+ </tr>
+
+ <tr>
+- <td>power_usart_enable()</td>
+- <td>Enable the USART module.</td>
+- <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_edma_disable()</td>
++ <td> Disable EDMA module </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
+- <td>power_usart_disable()</td>
+- <td>Disable the USART module.</td>
+- <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
++ <td>power_edma_enable()</td>
++ <td> Enable EDMA module </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
+- <td>power_usart0_enable()</td>
+- <td>Enable the USART 0 module.</td>
+- <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>
++ <td>power_evsys_disable()</td>
++ <td> Disable the EVSYS module </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_usart0_disable()</td>
+- <td>Disable the USART 0 module.</td>
+- <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>
++ <td>power_evsys_enable()</td>
++ <td> Enable the EVSYS module </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_usart1_enable()</td>
+- <td>Enable the USART 1 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATxmega16A4U, ATxmega32A4U</td>
++ <td>power_hiresc_disable()</td>
++ <td> Disable the HIRES module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_usart1_disable()</td>
+- <td>Disable the USART 1 module.</td>
+- <td>ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATxmega16A4U, ATxmega32A4U</td>
++ <td>power_hiresc_enable()</td>
++ <td> Enable the HIRES module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
+ </tr>
+
+ <tr>
+- <td>power_usart2_enable()</td>
+- <td>Enable the USART 2 module.</td>
++ <td>power_hiresd_disable()</td>
++ <td> Disable the HIRES module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hiresd_enable()</td>
++ <td> Enable the HIRES module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hirese_disable()</td>
++ <td> Disable the HIRES module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hirese_enable()</td>
++ <td> Enable the HIRES module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hiresf_disable()</td>
++ <td> Disable the HIRES module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hiresf_enable()</td>
++ <td> Enable the HIRES module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_hsspi_disable()</td>
++ <td> Disable the HSPPI module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_hsspi_enable()</td>
++ <td> Enable the HSPPI module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_irdriver_disable()</td>
++ <td> Disable the IRDRIVER module </td>
++ <td>ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_irdriver_enable()</td>
++ <td> Enable the IRDRIVER module </td>
++ <td>ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_kb_disable()</td>
++ <td> Disable the KB module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_kb_enable()</td>
++ <td> Enable the KB module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_lcd_disable()</td>
++ <td>Disable the LCD module.</td>
++ <td>ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P</td>
++ </tr>
++
++ <tr>
++ <td>power_lcd_enable()</td>
++ <td>Enable the LCD module.</td>
++ <td>ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P</td>
++ </tr>
++
++ <tr>
++ <td>power_lfreceiver_disable()</td>
++ <td> Disable the LFRECEIVER module </td>
++ <td>ATA5790</td>
++ </tr>
++
++ <tr>
++ <td>power_lfreceiver_enable()</td>
++ <td> Enable the LFRECEIVER module </td>
++ <td>ATA5790</td>
++ </tr>
++
++ <tr>
++ <td>power_lin_disable()</td>
++ <td> Disable the LIN module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_lin_enable()</td>
++ <td> Enable the LIN module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_pga_disable()</td>
++ <td> Disable PGA module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2 </td>
++ </tr>
++
++ <tr>
++ <td>power_pga_enable()</td>
++ <td> Enable PGA module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2 </td>
++ </tr>
++
++ <tr>
++ <td>power_psc0_disable()</td>
++ <td>Disable the Power Stage Controller 0 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_psc0_enable()</td>
++ <td>Enable the Power Stage Controller 0 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_psc1_disable()</td>
++ <td>Disable the Power Stage Controller 1 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_psc1_enable()</td>
++ <td>Enable the Power Stage Controller 1 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_psc2_disable()</td>
++ <td>Disable the Power Stage Controller 2 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161</td>
++ </tr>
++
++ <tr>
++ <td>power_psc2_enable()</td>
++ <td>Enable the Power Stage Controller 2 module.</td>
++ <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161</td>
++ </tr>
++
++ <tr>
++ <td>power_psc_disable()</td>
++ <td> Disable the Power Stage Controller module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1</td>
++ </tr>
++
++ <tr>
++ <td>power_psc_enable()</td>
++ <td> Enable the Power Stage Controller module </td>
++ <td>ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1</td>
++ </tr>
++
++ <tr>
++ <td>power_pscr_disable()</td>
++ <td>Disable the Reduced Power Stage Controller module.</td>
++ <td>AT90PWM81, AT90PWM161</td>
++ </tr>
++
++ <tr>
++ <td>power_pscr_enable()</td>
++ <td>Enable the Reduced Power Stage Controller module.</td>
++ <td>AT90PWM81, AT90PWM161</td>
++ </tr>
++
++ <tr>
++ <td>power_ram0_disable()</td>
++ <td> Disable SRAM Block 0 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2 </td>
++ </tr>
++
++ <tr>
++ <td>power_ram0_enable()</td>
++ <td> Enable SRAM Block 0 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram1_disable()</td>
++ <td> Disable SRAM Block 1 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram1_enable()</td>
++ <td> Enable SRAM Block 1 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram2_disable()</td>
++ <td> Disable SRAM Block 2 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram2_enable()</td>
++ <td> Enable SRAM Block 2 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram3_disable()</td>
++ <td> Disable SRAM Block 3 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_ram3_enable()</td>
++ <td> Enable SRAM Block 3 module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_rtc_disable()</td>
++ <td> Disable the RTC module </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_rtc_enable()</td>
++ <td> Enable the RTC module </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_sci_disable()</td>
++ <td> Disable the SCI module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_sci_enable()</td>
++ <td> Enable the SCI module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_spi_disable()</td>
++ <td>Disable the Serial Peripheral Interface module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_spi_enable()</td>
++ <td>Enable the Serial Peripheral Interface module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_spic_disable()</td>
++ <td> Disable the SPI module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_spic_enable()</td>
++ <td> Enable the SPI module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_spid_disable()</td>
++ <td> Disable the SPI module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_spid_enable()</td>
++ <td> Enable the SPI module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_spie_disable()</td>
++ <td> Disable the SPI module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_spie_enable()</td>
++ <td> Enable the SPI module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_spif_disable()</td>
++ <td> Disable the SPI module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_spif_enable()</td>
++ <td> Enable the SPI module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0c_disable()</td>
++ <td> Disable the TC0 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0c_enable()</td>
++ <td> Enable the TC0 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0d_disable()</td>
++ <td> Disable the TC0 module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0d_enable()</td>
++ <td> Enable the TC0 module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0e_disable()</td>
++ <td> Disable the TC0 module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0e_enable()</td>
++ <td> Enable the TC0 module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0f_disable()</td>
++ <td> Disable the TC0 module on PortF </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_tc0f_enable()</td>
++ <td> Enable the TC0 module on PortF </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1c_disable()</td>
++ <td> Disable the TC1 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1c_enable()</td>
++ <td> Enable the TC1 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1d_disable()</td>
++ <td> Disable the TC1 module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1d_enable()</td>
++ <td> Enable the TC1 module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1e_disable()</td>
++ <td> Disable the TC1 module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1e_enable()</td>
++ <td> Enable the TC1 module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1f_disable()</td>
++ <td> Disable the TC1 module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc1f_enable()</td>
++ <td> Enable the TC1 module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_tc4c_disable()</td>
++ <td> Disable Timer/Counter4 module on port C </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_tc4c_enable()</td>
++ <td> Enable Timer/Counter4 module on port C </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_tc5c_disable()</td>
++ <td> Disable Timer/Counter5 module on port C </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_tc5c_enable()</td>
++ <td> Enable Timer/Counter5 module on port C </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_tc5d_disable()</td>
++ <td> Disable Timer/Counter5 module on port D </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_tc5d_enable()</td>
++ <td> Enable Timer/Counter5 module on port D </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_timer0_disable()</td>
++ <td>Disable the Timer 0 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer0_enable()</td>
++ <td>Enable the Timer 0 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer1_disable()</td>
++ <td>Disable the Timer 1 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer1_enable()</td>
++ <td>Enable the Timer 1 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90PWM161, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATA5790, ATA5795, ATmega16M1, ATmega32C1, ATmega32M1, ATmega64C1, ATmega64M1, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100, ATtiny20, ATtiny40, ATmega64HVE2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer2_disable()</td>
++ <td>Disable the Timer 2 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATA5790, ATA5795, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_timer2_enable()</td>
++ <td>Enable the Timer 2 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATA5790, ATA5795, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_timer3_disable()</td>
++ <td>Disable the Timer 3 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega1284, ATmega1284P, ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_timer3_enable()</td>
++ <td>Enable the Timer 3 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega1284, ATmega1284P, ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_timer4_disable()</td>
++ <td>Disable the Timer 4 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer4_enable()</td>
++ <td>Enable the Timer 4 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer5_disable()</td>
++ <td> Disable TIMER5 module </td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_timer5_enable()</td>
++ <td> Enable TIMER5 module </td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_timermodulator_disable()</td>
++ <td> Disable the TIMERMODULATOR module </td>
++ <td>ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_timermodulator_enable()</td>
++ <td> Enable the TIMERMODULATOR module </td>
++ <td>ATA5790, ATA5795</td>
++ </tr>
++
++ <tr>
++ <td>power_transceiver_disable()</td>
++ <td> Disable TRANSCEIVER module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2</td>
++ </tr>
++
++ <tr>
++ <td>power_transceiver_enable()</td>
++ <td> Enable TRANSCEIVER module </td>
++ <td>ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2,</td>
++ </tr>
++
++ <tr>
++ <td>power_twi_disable()</td>
++ <td>Disable the Two Wire Interface module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATtiny1634, AT90SCR100, ATtiny20, ATtiny40</td>
++ </tr>
++
++ <tr>
++ <td>power_twi_enable()</td>
++ <td>Enable the Two Wire Interface module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega406, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB, ATtiny1634, AT90SCR100, ATtiny20, ATtiny40</td>
++ </tr>
++
++ <tr>
++ <td>power_twic_disable()</td>
++ <td>Disable the Two Wire Interface module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_twic_enable()</td>
++ <td>Enable the Two Wire Interface module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_twid_disable()</td>
++ <td>Disable the Two Wire Interface module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_twid_enable()</td>
++ <td>Enable the Two Wire Interface module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_twie_disable()</td>
++ <td>Disable the Two Wire Interface module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_twie_enable()</td>
++ <td>Enable the Two Wire Interface module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_twif_disable()</td>
++ <td>Disable the Two Wire Interface module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_twif_enable()</td>
++ <td>Disable the Two Wire Interface module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usart0_disable()</td>
++ <td>Disable the USART 0 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, ATmega32U4, ATmega16U4, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATtiny1634, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usart0_enable()</td>
++ <td>Enable the USART 0 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, ATmega32U4, ATmega16U4, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega325, ATmega325A, ATmega325PA, ATmega3250, ATmega3250A, ATmega3250PA, ATmega645, ATmega645A, ATmega645P, ATmega6450, ATmega6450A, ATmega6450P, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega3290PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega644, ATmega164PA, ATmega48, ATmega48A, ATmega48PA, ATmega48P, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATtiny48, ATtiny88, ATtiny828, ATmega1284, ATmega1284P, ATtiny1634, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usart1_disable()</td>
++ <td>Disable the USART 1 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega1284P, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2</td>
++ </tr>
++
++ <tr>
++ <td>power_usart1_enable()</td>
++ <td>Enable the USART 1 module.</td>
++ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega128RFA1, ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, ATmega164A, ATmega164P, ATmega324A, ATmega324P, ATmega324PA, ATmega644P, ATmega644A, ATmega644PA, ATmega1284P, ATtiny1634, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2</td>
++ </tr>
++
++ <tr>
++ <td>power_usart2_disable()</td>
++ <td>Disable the USART 2 module.</td>
+ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561</td>
+ </tr>
+
+ <tr>
+- <td>power_usart2_disable()</td>
+- <td>Disable the USART 2 module.</td>
++ <td>power_usart2_enable()</td>
++ <td>Enable the USART 2 module.</td>
+ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561</td>
+ </tr>
+
+ <tr>
+- <td>power_usart3_enable()</td>
+- <td>Enable the USART 3 module.</td>
++ <td>power_usart3_disable()</td>
++ <td>Disable the USART 3 module.</td>
+ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561</td>
+ </tr>
+
+ <tr>
+- <td>power_usart3_disable()</td>
+- <td>Disable the USART 3 module.</td>
++ <td>power_usart3_enable()</td>
++ <td>Enable the USART 3 module.</td>
+ <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561</td>
+ </tr>
+
+ <tr>
+- <td>power_usb_enable()</td>
+- <td>Enable the USB module.</td>
+- <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U, ATxmega128c3, ATxmega256c3, ATxmega16c4, ATxmega32c4</td>
++ <td>power_usart_disable()</td>
++ <td>Disable the USART module.</td>
++ <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_usart_enable()</td>
++ <td>Enable the USART module.</td>
++ <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316</td>
++ </tr>
++
++ <tr>
++ <td>power_usartc0_disable()</td>
++ <td> Disable the USART0 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartc0_enable()</td>
++ <td> Enable the USART0 module on PortC </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartc1_disable()</td>
++ <td> Disable the USART1 module on PortC </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartc1_enable()</td>
++ <td> Enable the USART1 module on PortC </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartd0_disable()</td>
++ <td> Disable the USART0 module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_usartd0_enable()</td>
++ <td> Enable the USART0 module on PortD </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
++ </tr>
++
++ <tr>
++ <td>power_usartd1_disable()</td>
++ <td> Disable the USART1 module on PortD </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartd1_enable()</td>
++ <td> Enable the USART1 module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usarte0_disable()</td>
++ <td> Disable the USART0 module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_usarte0_enable()</td>
++ <td> Enable the USART0 module on PortE </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3</td>
++ </tr>
++
++ <tr>
++ <td>power_usarte1_disable()</td>
++ <td> Disable the USART1 module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usarte1_enable()</td>
++ <td> Enable the USART1 module on PortE </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartf0_disable()</td>
++ <td> Disable the USART0 module on PortF </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_usartf0_enable()</td>
++ <td> Enable the USART0 module on PortF </td>
++ <td>ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega16A4, ATxmega16A4U, ATxmega16D4, ATxmega32A4, ATxmega32A4U, ATxmega32D4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64D3, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128D3, ATxmega192A3, ATxmega192A3U, ATxmega192D3, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3, ATxmega64D4, ATxmega128D4</td>
++ </tr>
++
++ <tr>
++ <td>power_usartf1_disable()</td>
++ <td> Disable the USART1 module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usartf1_enable()</td>
++ <td> Enable the USART1 module on PortF </td>
++ <td>ATxmega16A4, ATxmega16A4U, ATxmega32A4U, ATxmega32A4, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega192A3, ATxmega192A3U, ATxmega256A3, ATxmega256A3U, ATxmega256A3B, ATxmega256A3BU, ATxmega384C3</td>
++ </tr>
++
++ <tr>
++ <td>power_usb_disable()</td>
++ <td>Disable the USB module.</td>
++ <td>ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usb_enable()</td>
++ <td>Enable the USB module.</td>
++ <td>ATxmega384C3, ATxmega256A3BU, ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega64A4U, ATxmega128A3U, ATxmega128A4U, ATxmega192A3U, ATxmega256A3U, ATxmega16C4, ATxmega32C4, ATxmega64C3, ATxmega128C3, ATxmega192C3, ATxmega256C3, ATxmega64B1, ATxmega64B3, ATxmega128B1, ATxmega128B3, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega32U4, ATmega16U4, ATmega32U6, AT90USB82, AT90USB162, ATmega8U2, ATmega16U2, ATmega32U2, AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usbh_disable()</td>
++ <td> Disable the USBH module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usbh_enable()</td>
++ <td> Enable the USBH module </td>
++ <td>AT90SCR100</td>
++ </tr>
++
++ <tr>
++ <td>power_usi_disable()</td>
++ <td>Disable the Universal Serial Interface module.</td>
++ <td>ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634</td>
++ </tr>
++
++ <tr>
++ <td>power_usi_enable()</td>
++ <td>Enable the Universal Serial Interface module.</td>
++ <td>ATtiny24, ATtiny24A, ATtiny44, ATtiny44A, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A, ATtiny43U, ATtiny167, ATtiny87, ATA5505, ATA5272, ATtiny1634</td>
++ </tr>
++
++ <tr>
++ <td>power_vadc_disable()</td>
++ <td>Disable the Voltage ADC module.</td>
++ <td>ATmega406, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB</td>
+ </tr>
+
+ <tr>
+- <td>power_usb_disable()</td>
+- <td>Disable the USB module.</td>
+- <td>AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATxmega64B1, ATxmega128B1, ATxmega64B3, ATxmega128B3, ATxmega16A4U, ATxmega32A4U,ATxmega128c3, ATxmega256c3, ATxmega16c4, ATxmega32c4</td>
++ <td>power_vadc_enable()</td>
++ <td>Enable the Voltage ADC module.</td>
++ <td>ATmega406, ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB</td>
+ </tr>
+
+ <tr>
+- <td>power_usi_enable()</td>
+- <td>Enable the Universal Serial Interface module.</td>
+- <td>ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
++ <td>power_vmonitor_disable()</td>
++ <td> Disable the VMONITOR module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_usi_disable()</td>
+- <td>Disable the Universal Serial Interface module.</td>
+- <td>ATtiny24, ATtiny44, ATtiny84, ATtiny84A, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
++ <td>power_vmonitor_enable()</td>
++ <td> Enable the VMONITOR module </td>
++ <td>ATA5790, ATA5795</td>
+ </tr>
+
+ <tr>
+- <td>power_vadc_enable()</td>
+- <td>Enable the Voltage ADC module.</td>
+- <td>ATmega406</td>
++ <td>power_vrm_disable()</td>
++ <td> Disable the VRM module </td>
++ <td>ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB</td>
+ </tr>
+
+ <tr>
+- <td>power_vadc_disable()</td>
+- <td>Disable the Voltage ADC module.</td>
+- <td>ATmega406</td>
++ <td>power_vrm_enable()</td>
++ <td> Enable the VRM module </td>
++ <td>ATmega32HVB, ATmega32HVBREVB, ATmega16HVB, ATmega16HVBREVB</td>
+ </tr>
+
+ <tr>
+- <td>power_all_enable()</td>
+- <td>Enable all modules.</td>
+- <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>
++ <td>power_xcl_disable()</td>
++ <td> Disable XCL module </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
+- <td>power_all_disable()</td>
+- <td>Disable all modules.</td>
+- <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>
++ <td>power_xcl_enable()</td>
++ <td> Enable XCL module </td>
++ <td>ATxmega32E5, ATxmega16E5, ATxmega8E5</td>
+ </tr>
+
+ <tr>
diff --git a/500-avr-libc-bug12507.patch b/500-avr-libc-bug12507.patch
index 1097aff..ed982c0 100644
--- a/500-avr-libc-bug12507.patch
+++ b/500-avr-libc-bug12507.patch
@@ -1,15 +1,12 @@
diff -Naurp include/avr/sleep.h include/avr/sleep.h
---- include/avr/sleep.h 2012-11-03 00:46:16.083399618 +0530
-+++ include/avr/sleep.h 2012-11-03 00:50:15.228585473 +0530
-@@ -374,9 +374,11 @@
- || defined(__AVR_ATmega324PA__) \
- || defined(__AVR_ATmega325__) \
- || defined(__AVR_ATmega325A__) \
+--- include/avr/sleep.h 2013-01-29 13:45:51.000000000 +0530
++++ include/avr/sleep.h 2013-01-29 18:05:21.000000000 +0530
+@@ -455,6 +455,8 @@
+ || defined(__AVR_ATmega48__) \
+ || defined(__AVR_ATmega88__) \
+ || defined(__AVR_ATmega168__) \
+|| defined(__AVR_ATmega325P__) \
- || defined(__AVR_ATmega325PA__) \
- || defined(__AVR_ATmega3250__) \
- || defined(__AVR_ATmega3250A__) \
+|| defined(__AVR_ATmega3250P__) \
- || defined(__AVR_ATmega3250PA__) \
- || defined(__AVR_ATmega328__) \
- || defined(__AVR_ATmega328P__) \
+ || defined(__AVR_ATmega325__) \
+ || defined(__AVR_ATmega3250__) \
+ || defined(__AVR_ATmega645__) \
diff --git a/501-avr-libc-bug12584.patch b/501-avr-libc-bug12584.patch
index 5a666db..f59094d 100644
--- a/501-avr-libc-bug12584.patch
+++ b/501-avr-libc-bug12584.patch
@@ -1,7 +1,7 @@
diff -Naurp include/avr/power.h include/avr/power.h
---- include/avr/power.h 2012-11-05 09:45:43.389789515 +0530
-+++ include/avr/power.h 2012-11-05 09:46:24.889995307 +0530
-@@ -2723,12 +2723,16 @@ do{ \
+--- include/avr/power.h 2013-03-15 12:19:39.000000000 +0530
++++ include/avr/power.h 2013-03-15 12:20:10.000000000 +0530
+@@ -2976,12 +2976,16 @@ do{ \
|| defined(__AVR_ATmega165P__) \
|| defined(__AVR_ATmega165PA__) \
|| defined(__AVR_ATmega168__) \
@@ -18,7 +18,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATmega16U4__) \
|| defined(__AVR_ATmega2560__) \
|| defined(__AVR_ATmega2561__) \
-@@ -2749,6 +2753,7 @@ do{ \
+@@ -3003,6 +3007,7 @@ do{ \
|| defined(__AVR_ATmega329PA__) \
|| defined(__AVR_ATmega3290__) \
|| defined(__AVR_ATmega3290A__) \
@@ -26,7 +26,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATmega3290PA__) \
|| defined(__AVR_ATmega32C1__) \
|| defined(__AVR_ATmega32M1__) \
-@@ -2773,6 +2778,10 @@ do{ \
+@@ -3027,6 +3032,10 @@ do{ \
|| defined(__AVR_ATmega6450P__) \
|| defined(__AVR_ATmega649__) \
|| defined(__AVR_ATmega649A__) \
@@ -37,7 +37,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATmega6490__) \
|| defined(__AVR_ATmega6490A__) \
|| defined(__AVR_ATmega6490P__) \
-@@ -2783,6 +2792,8 @@ do{ \
+@@ -3038,6 +3047,8 @@ do{ \
|| defined(__AVR_ATmega16U2__) \
|| defined(__AVR_ATmega32U2__) \
|| defined(__AVR_ATtiny48__) \
@@ -46,7 +46,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATtiny167__) \
|| defined(__DOXYGEN__)
-@@ -3113,10 +3124,47 @@ void clock_prescale_set(clock_div_t __x)
+@@ -3384,10 +3395,47 @@ void clock_prescale_set(clock_div_t __x)
#define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3)))
diff --git a/502-avr-libc-bug12838.patch b/502-avr-libc-bug12838.patch
index 112c49c..bca4fc0 100644
--- a/502-avr-libc-bug12838.patch
+++ b/502-avr-libc-bug12838.patch
@@ -1,7 +1,7 @@
diff -Naurp include/avr/power.h include/avr/power.h
---- include/avr/power.h 2012-11-03 00:55:56.898279648 +0530
-+++ include/avr/power.h 2012-11-03 00:56:08.170335618 +0530
-@@ -2011,9 +2011,18 @@ do{ \
+--- include/avr/power.h 2013-03-15 12:22:13.000000000 +0530
++++ include/avr/power.h 2013-03-15 12:22:26.000000000 +0530
+@@ -2171,9 +2171,18 @@ do{ \
#define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI))
#define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI))
@@ -20,7 +20,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
#define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0))
#define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0))
-@@ -2032,9 +2041,18 @@ do{ \
+@@ -2192,9 +2201,18 @@ do{ \
#define power_psc2_enable() (PRR &= (uint8_t)~(1 << PRPSC2))
#define power_psc2_disable() (PRR |= (uint8_t)(1 << PRPSC2))
@@ -39,7 +39,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
#elif defined(__AVR_AT90PWM81__) \
|| defined(__AVR_AT90PWM161__)
-@@ -2066,9 +2084,11 @@ do{ \
+@@ -2226,9 +2244,11 @@ do{ \
|| defined(__AVR_ATmega165PA__) \
|| defined(__AVR_ATmega325__) \
|| defined(__AVR_ATmega325A__) \
@@ -51,7 +51,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATmega3250PA__) \
|| defined(__AVR_ATmega645__) \
|| defined(__AVR_ATmega645A__) \
-@@ -2229,8 +2249,6 @@ do{ \
+@@ -2389,8 +2409,6 @@ do{ \
|| defined(__AVR_ATmega168PA__) \
|| defined(__AVR_ATmega328__) \
|| defined(__AVR_ATmega328P__) \
@@ -60,7 +60,7 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATtiny828__)
#define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC))
-@@ -2270,6 +2288,28 @@ do{ \
+@@ -2430,6 +2448,28 @@ do{ \
#endif
@@ -89,32 +89,17 @@ diff -Naurp include/avr/power.h include/avr/power.h
#elif defined(__AVR_ATtiny24__) \
|| defined(__AVR_ATtiny24A__) \
|| defined(__AVR_ATtiny44__) \
-@@ -2477,6 +2517,24 @@ do{ \
+@@ -2639,7 +2679,8 @@ do{ \
#endif
-+#elif defined(__AVR_ATmega64HVE__)
-+
-+
-+#define power_lin_enable() (PRR0 &= (uint8_t)~(1 << PRLIN))
-+#define power_lin_disable() (PRR0 |= (uint8_t)(1 << PRLIN))
-+
-+#define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0))
-+#define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0))
-+
-+#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1))
-+#define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1))
-+
-+#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI))
-+#define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI))
-+
-+#define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
-+#define power_all_disable() (PRR0 |= (uint8_t)((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
-+
- #elif defined(__AVR_ATmega16M1__) \
- || defined(__AVR_ATmega32C1__) \
- || defined(__AVR_ATmega32M1__) \
-@@ -2741,9 +2799,11 @@ do{ \
+-#elif defined(__AVR_ATmega64HVE2__)
++#elif defined(__AVR_ATmega64HVE__) \
++|| defined(__AVR_ATmega64HVE2__)
+
+ #define power_lin_enable() (PRR0 &= (uint8_t)~(1 << PRLIN))
+ #define power_lin_disable() (PRR0 |= (uint8_t)(1 << PRLIN))
+@@ -2995,9 +3036,11 @@ do{ \
|| defined(__AVR_ATmega324P__) \
|| defined(__AVR_ATmega325__) \
|| defined(__AVR_ATmega325A__) \
@@ -126,11 +111,11 @@ diff -Naurp include/avr/power.h include/avr/power.h
|| defined(__AVR_ATmega3250PA__) \
|| defined(__AVR_ATmega328__) \
|| defined(__AVR_ATmega328P__) \
-@@ -2885,6 +2945,7 @@ Gets and returns the clock prescaler reg
+@@ -3143,6 +3186,7 @@ Gets and returns the clock prescaler reg
#elif defined(__AVR_ATmega16HVB__) \
|| defined(__AVR_ATmega16HVBREVB__) \
+|| defined(__AVR_ATmega64HVE__) \
|| defined(__AVR_ATmega32HVB__) \
- || defined(__AVR_ATmega32HVBREVB__)
-
+ || defined(__AVR_ATmega32HVBREVB__) \
+ || defined(__AVR_ATmega64HVE2__)
diff --git a/503-avr-libc-headersio.patch b/503-avr-libc-headersio.patch
index 9e6a6af..b3c8708 100644
--- a/503-avr-libc-headersio.patch
+++ b/503-avr-libc-headersio.patch
@@ -1,7 +1,7 @@
diff -Naurp include/avr/io.h include/avr/io.h
---- include/avr/io.h 2012-11-03 00:46:16.079399592 +0530
-+++ include/avr/io.h 2012-11-03 00:58:30.251040217 +0530
-@@ -196,20 +196,36 @@
+--- include/avr/io.h 2013-03-15 12:07:15.000000000 +0530
++++ include/avr/io.h 2013-03-15 12:24:15.000000000 +0530
+@@ -202,20 +202,36 @@
# include <avr/iom64a.h>
#elif defined (__AVR_ATmega640__)
# include <avr/iom640.h>
@@ -43,7 +43,7 @@ diff -Naurp include/avr/io.h include/avr/io.h
#elif defined (__AVR_ATmega649P__)
# include <avr/iom649p.h>
#elif defined (__AVR_ATmega64HVE__)
-@@ -222,34 +238,48 @@
+@@ -230,34 +246,48 @@
# include <avr/iom32a.h>
#elif defined (__AVR_ATmega323__)
# include <avr/iom323.h>
@@ -105,7 +105,7 @@ diff -Naurp include/avr/io.h include/avr/io.h
#elif defined (__AVR_ATmega32HVB__)
# include <avr/iom32hvb.h>
#elif defined (__AVR_ATmega32HVBREVB__)
-@@ -266,24 +296,32 @@
+@@ -274,24 +304,32 @@
# include <avr/iom162.h>
#elif defined (__AVR_ATmega163__)
# include <avr/iom163.h>
@@ -143,7 +143,7 @@ diff -Naurp include/avr/io.h include/avr/io.h
#elif defined (__AVR_ATmega169P__)
# include <avr/iom169p.h>
#elif defined (__AVR_ATmega169PA__)
-@@ -302,14 +340,18 @@
+@@ -310,14 +348,18 @@
# include <avr/iom8.h>
#elif defined (__AVR_ATmega8A__)
# include <avr/iom8a.h>
@@ -165,9 +165,9 @@ diff -Naurp include/avr/io.h include/avr/io.h
# include <avr/iom88p.h>
#elif defined (__AVR_ATmega88PA__)
diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
---- include/avr/Makefile.am 2012-11-03 00:46:16.079399592 +0530
-+++ include/avr/Makefile.am 2012-11-03 00:58:30.251040217 +0530
-@@ -91,14 +91,19 @@ avr_HEADERS = \
+--- include/avr/Makefile.am 2013-03-15 12:07:15.000000000 +0530
++++ include/avr/Makefile.am 2013-03-15 12:24:15.000000000 +0530
+@@ -94,14 +94,19 @@ avr_HEADERS = \
iom162.h \
iom163.h \
iom164.h \
@@ -187,7 +187,7 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
iom169p.h \
iom169pa.h \
iom16hva.h \
-@@ -115,15 +120,25 @@ avr_HEADERS = \
+@@ -119,15 +124,25 @@ avr_HEADERS = \
iom32.h \
iom32a.h \
iom323.h \
@@ -214,7 +214,7 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
iom3290pa.h \
iom32hvb.h \
iom32hvbrevb.h \
-@@ -132,6 +147,7 @@ avr_HEADERS = \
+@@ -136,6 +151,7 @@ avr_HEADERS = \
iom32u2.h \
iom32u4.h \
iom32u6.h \
@@ -222,7 +222,7 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
iom48.h \
iom48pa.h \
iom48p.h \
-@@ -140,13 +156,21 @@ avr_HEADERS = \
+@@ -144,13 +160,21 @@ avr_HEADERS = \
iom64a.h \
iom640.h \
iom644.h \
@@ -243,8 +243,8 @@ diff -Naurp include/avr/Makefile.am include/avr/Makefile.am
+ iom6490p.h \
iom64c1.h \
iom64hve.h \
- iom64m1.h \
-@@ -156,6 +180,7 @@ avr_HEADERS = \
+ iom64hve2.h \
+@@ -162,6 +186,7 @@ avr_HEADERS = \
iom8515.h \
iom8535.h \
iom88.h \
diff --git a/504-avr-libc-bugavrtc-448.patch b/504-avr-libc-bugavrtc-448.patch
index 93682aa..aa72ba8 100644
--- a/504-avr-libc-bugavrtc-448.patch
+++ b/504-avr-libc-bugavrtc-448.patch
@@ -1,6 +1,6 @@
diff -Naurp include/avr/wdt.h include/avr/wdt.h
---- include/avr/wdt.h 2012-11-03 00:46:16.083399618 +0530
-+++ include/avr/wdt.h 2012-11-03 01:02:09.340126553 +0530
+--- include/avr/wdt.h 2013-03-15 12:07:15.000000000 +0530
++++ include/avr/wdt.h 2013-03-15 12:25:20.000000000 +0530
@@ -107,8 +107,10 @@
#if defined(WDTCSR)
@@ -13,10 +13,10 @@ diff -Naurp include/avr/wdt.h include/avr/wdt.h
#endif
#if defined(WDTOE)
-@@ -355,8 +357,137 @@ __asm__ __volatile__ ( \
- : "r0" \
+@@ -359,6 +361,137 @@ __asm__ __volatile__ ( \
)
+
+#elif defined(__AVR_ATtiny1634__) \
+|| defined(__AVR_ATtiny828__)
+
@@ -140,8 +140,7 @@ diff -Naurp include/avr/wdt.h include/avr/wdt.h
+ [WDVALUE] "r" ((uint8_t)((_BV(WDT_CEN_bp)))) \
+ : "r0" \
+)
-
--
++
+/**
+Undefining explicitly so that it produces an error.
+ */
@@ -149,6 +148,6 @@ diff -Naurp include/avr/wdt.h include/avr/wdt.h
+|| defined(__AVR_M3000__)
+ #undef wdt_enable
+ #undef wdt_disale
+
#else
- /* Use OUT instruction. */
diff --git a/506-avr-libc-optimize_dox.patch b/506-avr-libc-optimize_dox.patch
index 890c1f3..c856478 100644
--- a/506-avr-libc-optimize_dox.patch
+++ b/506-avr-libc-optimize_dox.patch
@@ -1,6 +1,30 @@
+diff -Naurp doc/api/main_page.dox doc/api/main_page.dox
+--- doc/api/main_page.dox 2013-03-15 12:07:15.000000000 +0530
++++ doc/api/main_page.dox 2013-03-15 12:27:25.000000000 +0530
+@@ -329,13 +329,13 @@ compile-time.
+
+ \par Wireless AVR devices:
+
+--atmega64rfr2
+--atmega644rfr2
+--atmega128rfa1
+--atmega128rfr2
+--atmega1284rfr2
+--atmega256rfr2
+--atmega2564rfr2
++- atmega64rfr2
++- atmega644rfr2
++- atmega128rfa1
++- atmega128rfr2
++- atmega1284rfr2
++- atmega256rfr2
++- atmega2564rfr2
+
+ \par Miscellaneous Devices:
+
diff -Naurp doc/api/optimize.dox doc/api/optimize.dox
--- doc/api/optimize.dox 1970-01-01 05:30:00.000000000 +0530
-+++ doc/api/optimize.dox 2012-07-25 14:29:02.000000000 +0530
++++ doc/api/optimize.dox 2013-03-15 12:27:25.000000000 +0530
@@ -0,0 +1,137 @@
+/* Copyright (c) 2010 Jan Waclawek
+ Copyright (c) 2010 Joerg Wunsch
diff --git a/508-avr-libc-renametiny10.patch b/508-avr-libc-renametiny10.patch
new file mode 100644
index 0000000..2ad6ced
--- /dev/null
+++ b/508-avr-libc-renametiny10.patch
@@ -0,0 +1,61 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2013-03-15 12:07:15.000000000 +0530
++++ configure.ac 2013-03-15 12:29:03.000000000 +0530
+@@ -1153,9 +1153,9 @@ CHECK_AVR_DEVICE(atxmega128a4u)
+ AM_CONDITIONAL(HAS_atxmega128a4u, test "x$HAS_atxmega128a4u" = "xyes")
+
+
+-# avrtiny10
+-CHECK_AVR_DEVICE(avrtiny10)
+-AM_CONDITIONAL(HAS_avrtiny10, test "x$HAS_avrtiny10" = "xyes")
++# avrtiny
++CHECK_AVR_DEVICE(avrtiny)
++AM_CONDITIONAL(HAS_avrtiny, test "x$HAS_avrtiny" = "xyes")
+
+ CHECK_AVR_DEVICE(attiny4)
+ AM_CONDITIONAL(HAS_attiny4, test "x$HAS_attiny4" = "xyes")
+@@ -1541,15 +1541,15 @@ AC_CONFIG_FILES([
+ ])
+
+
+-# avrtiny10
++# avrtiny
+ AC_CONFIG_FILES([
+- avr/lib/avrtiny10/Makefile
+- avr/lib/avrtiny10/attiny4/Makefile
+- avr/lib/avrtiny10/attiny5/Makefile
+- avr/lib/avrtiny10/attiny9/Makefile
+- avr/lib/avrtiny10/attiny10/Makefile
+- avr/lib/avrtiny10/attiny20/Makefile
+- avr/lib/avrtiny10/attiny40/Makefile
++ avr/lib/avrtiny/Makefile
++ avr/lib/avrtiny/attiny4/Makefile
++ avr/lib/avrtiny/attiny5/Makefile
++ avr/lib/avrtiny/attiny9/Makefile
++ avr/lib/avrtiny/attiny10/Makefile
++ avr/lib/avrtiny/attiny20/Makefile
++ avr/lib/avrtiny/attiny40/Makefile
+ ])
+
+
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2013-03-15 12:07:15.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-03-15 12:29:03.000000000 +0530
+@@ -351,7 +351,7 @@ atxmega128a1u:crtx128a1u.o:${DEV_DEFS}:$
+ atxmega128a4u:crtx128a4u.o:${DEV_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS}\
+ "
+
+-AVRTINY10_DEV_INFO="\
++AVRTINY_DEV_INFO="\
+ attiny4:crttn4.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny5:crttn5.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny9:crttn9.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -379,7 +379,7 @@ avrxmega4:AVRXMEGA4_DEV_INFO:${LIB_DEFS}
+ avrxmega5:AVRXMEGA5_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ avrxmega6:AVRXMEGA6_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+ avrxmega7:AVRXMEGA7_DEV_INFO:${LIB_DEFS}:${CFLAGS_BIG_MEMORY}:${DEV_ASFLAGS};\
+-avrtiny10:AVRTINY10_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
++avrtiny:AVRTINY_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
+
+ echo "Generating source directories:"
diff --git a/509-avr-libc-avrtc446.patch b/509-avr-libc-avrtc446.patch
new file mode 100644
index 0000000..73ddd9b
--- /dev/null
+++ b/509-avr-libc-avrtc446.patch
@@ -0,0 +1,69 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2013-03-15 12:30:01.000000000 +0530
++++ configure.ac 2013-03-15 12:30:13.000000000 +0530
+@@ -458,9 +458,6 @@ AM_CONDITIONAL(HAS_attiny26, true)
+ CHECK_AVR_DEVICE(avr25)
+ AM_CONDITIONAL(HAS_avr25, test "x$HAS_avr25" = "xyes")
+
+-CHECK_AVR_DEVICE(ata6289)
+-AM_CONDITIONAL(HAS_ata6289, test "x$HAS_ata6289" = "xyes")
+-
+ CHECK_AVR_DEVICE(ata5272)
+ AM_CONDITIONAL(HAS_ata5272, test "x$HAS_ata5272" = "xyes")
+
+@@ -597,6 +594,9 @@ AM_CONDITIONAL(HAS_ata6285, test "x$HAS_
+ CHECK_AVR_DEVICE(ata6286)
+ AM_CONDITIONAL(HAS_ata6286, test "x$HAS_ata6286" = "xyes")
+
++CHECK_AVR_DEVICE(ata6289)
++AM_CONDITIONAL(HAS_ata6289, test "x$HAS_ata6289" = "xyes")
++
+ CHECK_AVR_DEVICE(atmega8a)
+ AM_CONDITIONAL(HAS_atmega8a, test "x$HAS_atmega8a" = "xyes")
+
+@@ -1246,7 +1246,6 @@ AC_CONFIG_FILES([
+ AC_CONFIG_FILES([
+ avr/lib/avr25/Makefile
+ avr/lib/avr25/at86rf401/Makefile
+- avr/lib/avr25/ata6289/Makefile
+ avr/lib/avr25/ata5272/Makefile
+ avr/lib/avr25/attiny13/Makefile
+ avr/lib/avr25/attiny13a/Makefile
+@@ -1311,6 +1310,7 @@ AC_CONFIG_FILES([
+ avr/lib/avr4/Makefile
+ avr/lib/avr4/ata6285/Makefile
+ avr/lib/avr4/ata6286/Makefile
++ avr/lib/avr4/ata6289/Makefile
+ avr/lib/avr4/atmega48/Makefile
+ avr/lib/avr4/atmega48a/Makefile
+ avr/lib/avr4/atmega48pa/Makefile
+diff -Naurp devtools/gen-avr-lib-tree.sh devtools/gen-avr-lib-tree.sh
+--- devtools/gen-avr-lib-tree.sh 2013-03-15 12:30:01.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-03-15 12:30:13.000000000 +0530
+@@ -83,7 +83,6 @@ attiny861:crttn861.o:${DEV_DEFS}:${CFLAG
+
+ AVR25_DEV_INFO="\
+ at86rf401:crt86401.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-ata6289:crta6289.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata5272:crta5272.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny13:crttn13.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny13a:crttn13a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -140,6 +139,7 @@ attiny1634:crttn1634.o:${DEV_DEFS}:${CFL
+ AVR4_DEV_INFO="\
+ ata6285:crta6285.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata6286:crta6286.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
++ata6289:crta6289.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega48:crtm48.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega48a:crtm48a.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ atmega48pa:crtm48pa.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h 2013-03-15 12:24:02.000000000 +0530
++++ include/avr/power.h 2013-03-15 12:31:49.000000000 +0530
+@@ -3295,6 +3295,7 @@ void timer_clock_prescale_set(timer_cloc
+
+ #elif defined(__AVR_ATA6285__) \
+ || defined(__AVR_ATA6286__) \
++|| defined(__AVR_ATA6289__) \
+ || defined(__AVR_ATA5831__)
+
+ typedef enum
diff --git a/510-avr-libc-enable-xml-doc.patch b/510-avr-libc-enable-xml-doc.patch
new file mode 100644
index 0000000..11710c9
--- /dev/null
+++ b/510-avr-libc-enable-xml-doc.patch
@@ -0,0 +1,155 @@
+diff -Naurp configure.ac configure.ac
+--- configure.ac 2012-12-14 15:18:22.000000000 +0530
++++ configure.ac 2012-12-14 19:23:49.000000000 +0530
+@@ -189,6 +189,14 @@ AC_ARG_ENABLE(html-doc,
+ *) AC_MSG_ERROR(bad value ${enableval} for html-doc option) ;;
+ esac], [html_doc=yes])dnl
+
++AC_ARG_ENABLE(xml-doc,
++[ --enable-xml-doc build XML documentation (default)],
++[case "${enableval}" in
++ yes) xml_doc=yes ;;
++ no) xml_doc=no ;;
++ *) AC_MSG_ERROR(bad value ${enableval} for xml-doc option) ;;
++ esac], [xml_doc=yes])dnl
++
+ AC_ARG_ENABLE(pdf-doc,
+ [ --enable-pdf-doc build PDF documentation (default)],
+ [case "${enableval}" in
+@@ -246,6 +254,11 @@ else
+ TARGET_DOX_HTML=dox-html
+ INSTALL_DOX_HTML=install-dox-html
+ fi
++ if test "$xml_doc" = "yes"; then
++ AC_MSG_NOTICE([Enabling XML docs])
++ TARGET_DOX_XML=dox-xml
++ INSTALL_DOX_XML=install-dox-xml
++ fi
+ dnl The creation of man pages is a side-effect of the HTML
+ dnl generation, so a different target is only needed for installation.
+ if test "$man_doc" = "yes"; then
+@@ -257,8 +270,10 @@ fi
+ dnl
+ AC_SUBST(TARGET_DOX_PDF)
+ AC_SUBST(TARGET_DOX_HTML)
++AC_SUBST(TARGET_DOX_XML)
+ AC_SUBST(INSTALL_DOX_PDF)
+ AC_SUBST(INSTALL_DOX_HTML)
++AC_SUBST(INSTALL_DOX_XML)
+ AC_SUBST(INSTALL_DOX_MAN)
+ ])dnl
+
+diff -Naurp doc/api/doxygen.config.in doc/api/doxygen.config.in
+--- doc/api/doxygen.config.in 2011-12-29 14:21:53.000000000 +0530
++++ doc/api/doxygen.config.in 2012-12-14 19:45:20.000000000 +0530
+@@ -1146,13 +1146,13 @@ MAN_LINKS = YES
+ # generate an XML file that captures the structure of
+ # the code including all documentation.
+
+-GENERATE_XML = NO
++GENERATE_XML = YES
+
+ # The XML_OUTPUT tag is used to specify where the XML pages will be put.
+ # If a relative path is entered the value of OUTPUT_DIRECTORY will be
+ # put in front of it. If left blank `xml' will be used as the default path.
+
+-XML_OUTPUT = xml
++XML_OUTPUT = @AVR_LIBC_USER_MANUAL@
+
+ # The XML_SCHEMA tag can be used to specify an XML schema,
+ # which can be used by a validating XML parser to check the
+diff -Naurp doc/api/Makefile.am doc/api/Makefile.am
+--- doc/api/Makefile.am 2011-12-29 14:21:53.000000000 +0530
++++ doc/api/Makefile.am 2012-12-17 14:57:17.000000000 +0530
+@@ -32,7 +32,7 @@
+ #
+ MAINTAINERCLEANFILES = Makefile.in stamp-vti
+
+-CLEANFILES = *.html *.pdf *.ma *.mas \
++CLEANFILES = *.html *.xml *.pdf *.ma *.mas \
+ *.png *.eps fix_png \
+ doxygen.config doxygen-pdf.config
+
+@@ -66,6 +66,7 @@ SUFFIXES = .pdf .fig .png .e
+ DOC_INST_DIR = @DOC_INST_DIR@
+
+ USER_MANUAL = @AVR_LIBC_USER_MANUAL@
++USER_MANUAL_XML = @AVR_LIBC_USER_MANUAL at -xml
+
+ DEMO_LIBS = $(shell cd $(top_srcdir) && find `pwd` \( -name crtm8.o -o -name exit.o \) -print | grep avr4)
+ # As avr-gcc must have been installed already, we can reference its
+@@ -76,7 +77,7 @@ DEMO_INC = $(shell cd $(top_
+ # All demo projects where we need to run "make dox" beforehand.
+ DEMOS = demo largedemo stdiodemo
+
+-all-local: html pdf
++all-local: html xml pdf
+
+ # Before we can build the dox, we need to build the demo project so that some
+ # included files get generated.
+@@ -125,12 +126,15 @@ fix_png: $(wildcard $(USER_MANUAL)/*.png
+ done
+ echo timestamp > fix_png
+
++# Rule for generating XML output
++xml: demo demodox fix_png $(TARGET_DOX_XML)
++
+ # Rule for generating PDF output
+ pdf: demo demodox $(TARGET_DOX_PDF)
+
+ # General rule for installing documentation
+ install-data-local: $(INSTALL_DOX_HTML) $(INSTALL_DOX_PDF) \
+- $(INSTALL_DOX_MAN)
++ $(INSTALL_DOX_MAN) $(INSTALL_DOX_XML)
+
+ uninstall-local:
+ rm -rf $(DOC_INST_DIR)
+@@ -215,6 +219,10 @@ dox-html: demo demodox fix_png $(USER_MA
+
+ $(USER_MANUAL)/index.html: latex_src/refman.tex
+
++dox-xml: demo demodox fix_png $(USER_MANUAL)/index.xml
++
++$(USER_MANUAL)/index.xml: latex_src/refman.tex
++
+ dox-pdf: $(USER_MANUAL).pdf
+
+ $(USER_MANUAL).pdf: latex_src/refman.tex
+@@ -234,6 +242,15 @@ install-dox-html: dox-html
+ $(INSTALL_DATA) $$file $(DOC_INST_DIR)/$$file; \
+ done
+
++install-dox-xml: dox-xml
++ $(mkinstalldirs) $(DOC_INST_DIR)/$(USER_MANUAL_XML)
++ @list='$(wildcard $(USER_MANUAL)/*.xml $(USER_MANUAL)/*.css \
++ $(USER_MANUAL)/*.jpg $(USER_MANUAL)/*.png)'; \
++ for file in $$list ; do \
++ echo " $(INSTALL_DATA) $$file $(DOC_INST_DIR)/$(USER_MANUAL_XML)/"`basename $$file`; \
++ $(INSTALL_DATA) $$file $(DOC_INST_DIR)/$(USER_MANUAL_XML)/`basename $$file`; \
++ done
++
+ install-dox-pdf: dox-pdf
+ $(mkinstalldirs) $(DOC_INST_DIR)
+ $(INSTALL_DATA) $(USER_MANUAL).pdf $(DOC_INST_DIR)/$(USER_MANUAL).pdf
+@@ -242,7 +259,7 @@ install-dox-man: dox-html
+ $(mkinstalldirs) $(DESTDIR)$(mandir)/man3
+ $(INSTALL_DATA) man/man3/*.3 $(DESTDIR)$(mandir)/man3
+
+-.PHONY: html latex pdf demo demodox \
+- dox-html dox-pdf install-pdf install-html \
+- install-dox-html install-dox-pdf \
++.PHONY: html xml latex pdf demo demodox \
++ dox-html dox-xml dox-pdf install-pdf install-html install-xml \
++ install-dox-html install-dox-xml install-dox-pdf \
+ install-dox-man
+diff -Naurp doc/api/tools-install.dox doc/api/tools-install.dox
+--- doc/api/tools-install.dox 2011-12-29 14:21:53.000000000 +0530
++++ doc/api/tools-install.dox 2012-12-14 19:23:49.000000000 +0530
+@@ -613,6 +613,7 @@ Build the tools below in MinGW/MSYS.
+ --enable-doc \
+ --disable-versioned-doc \
+ --enable-html-doc \
++ --enable-xml-doc \
+ --enable-pdf-doc \
+ --enable-man-doc \
+ --mandir=$installdir/man \
diff --git a/511-avr-libc-tiny-stack-backported.patch b/511-avr-libc-tiny-stack-backported.patch
new file mode 100644
index 0000000..dd438b3
--- /dev/null
+++ b/511-avr-libc-tiny-stack-backported.patch
@@ -0,0 +1,232 @@
+--- configure.ac 2013-01-23 18:51:11.000000000 +0530
++++ configure.ac 2013-01-23 18:43:51.000000000 +0530
+@@ -1257,6 +1257,18 @@ AC_CONFIG_FILES([
+ avr/lib/avr2/at86rf401/Makefile
+ ])
+
++#avr2/tiny-stack
++AC_CONFIG_FILES([
++ avr/lib/avr2/tiny-stack/Makefile
++ avr/lib/avr2/tiny-stack/at90s2313/Makefile
++ avr/lib/avr2/tiny-stack/at90s2323/Makefile
++ avr/lib/avr2/tiny-stack/at90s2333/Makefile
++ avr/lib/avr2/tiny-stack/at90s2343/Makefile
++ avr/lib/avr2/tiny-stack/at90s4433/Makefile
++ avr/lib/avr2/tiny-stack/attiny22/Makefile
++ avr/lib/avr2/tiny-stack/attiny26/Makefile
++])
++
+ #avr25
+ AC_CONFIG_FILES([
+ avr/lib/avr25/Makefile
+@@ -1289,6 +1301,20 @@ AC_CONFIG_FILES([
+ avr/lib/avr25/attiny88/Makefile
+ ])
+
++#avr25/tiny-stack
++AC_CONFIG_FILES([
++ avr/lib/avr25/tiny-stack/Makefile
++ avr/lib/avr25/tiny-stack/attiny13/Makefile
++ avr/lib/avr25/tiny-stack/attiny13a/Makefile
++ avr/lib/avr25/tiny-stack/attiny2313/Makefile
++ avr/lib/avr25/tiny-stack/attiny2313a/Makefile
++ avr/lib/avr25/tiny-stack/attiny24/Makefile
++ avr/lib/avr25/tiny-stack/attiny24a/Makefile
++ avr/lib/avr25/tiny-stack/attiny25/Makefile
++ avr/lib/avr25/tiny-stack/attiny261/Makefile
++ avr/lib/avr25/tiny-stack/attiny261a/Makefile
++])
++
+ #avr3
+ AC_CONFIG_FILES([
+ avr/lib/avr3/Makefile
+--- devtools/gen-avr-lib-tree.sh 2013-01-23 19:14:33.000000000 +0530
++++ devtools/gen-avr-lib-tree.sh 2013-01-23 19:14:47.000000000 +0530
+@@ -44,6 +44,7 @@
+ # Define the special flags for special sub-targets.
+
+ CFLAGS_SPACE="-mcall-prologues -Os"
++CFLAGS_TINY_STACK="-mtiny-stack -mcall-prologues -Os"
+ CFLAGS_BIG_MEMORY='-Os $(FNO_JUMP_TABLES)'
+ CFLAGS_SPEED="-Os"
+
+@@ -81,6 +82,17 @@ attiny461:crttn461.o:${DEV_DEFS}:${CFLAG
+ attiny861:crttn861.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
+
++
++AVR12TS_DEV_INFO="\
++at90s2313:crts2313.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2323:crts2323.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2333:crts2333.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s2343:crts2343.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++at90s4433:crts4433.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny22:crttn22.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny26:crttn26.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS}\
++"
++
+ AVR25_DEV_INFO="\
+ at86rf401:crt86401.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ ata5272:crta5272.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -110,6 +122,18 @@ attiny861a:crttn861a.o:${DEV_DEFS}:${CFL
+ attiny87:crttn87.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+ attiny88:crttn88.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+ "
++AVR25TS_DEV_INFO="\
++attiny13:crttn13.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny13a:crttn13a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny2313:crttn2313.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny2313a:crttn2313a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny24:crttn24.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny24a:crttn24a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny25:crttn25.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny261:crttn261.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS};\
++attiny261a:crttn261a.o:${DEV_DEFS}:${CFLAGS_TINY_STACK}:${DEV_ASFLAGS}\
++"
++
+
+ AVR3_DEV_INFO="\
+ atmega103:crtm103.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+@@ -364,22 +388,24 @@ attiny40:crttn40.o:${DEV_DEFS}:${CFLAGS_
+ LIB_DEFS="-D__COMPILING_AVR_LIBC__"
+
+ AVR_ARH_INFO="\
+-avr2:AVR12_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr25:AVR25_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr3:AVR3_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+-avr31:AVR31_DEV_INFO:${LIB_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
<Skipped 163719 lines>
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crossavr-libc.git/commitdiff/69ed15f0652daf5758f1c682f51337144a5f3d5b
More information about the pld-cvs-commit
mailing list