[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