--- /dev/null
+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. */