summaryrefslogtreecommitdiffstats
path: root/patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch')
-rw-r--r--patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch b/patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch
new file mode 100644
index 0000000..bbb8b64
--- /dev/null
+++ b/patches/binutils-2.20.1a/atmel/0009-Add-support-for-more-XMEGA-devices.patch
@@ -0,0 +1,101 @@
+From 0a532d69add35e87bd577d6e9341897d8b5080be Mon Sep 17 00:00:00 2001
+From: Stephan Linz <linz@li-pro.net>
+Date: Tue, 19 Apr 2011 00:55:01 +0200
+Subject: [PATCH 9/9] Add support for more XMEGA devices
+
+Add support for a bunch of new AVR XMEGA devices: atxmega64a1u,
+atxmega128a1u, atxmega128b1, atxmega16x1, atxmega32x1
+
+Original ATMEL patch from:
+http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/53-binutils-2.20.1-xmega128a1u-64a1u.patch
+http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/54-binutils-2.20.1-atxmega16x1-32x1.patch
+http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/55-binutils-2.20.1-atxmega128b1.patch
+
+Signed-off-by: Stephan Linz <linz@li-pro.net>
+---
+ binutils/size.c | 1 +
+ gas/config/tc-avr.c | 5 +++++
+ gas/doc/c-avr.texi | 14 ++++++++------
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/binutils/size.c b/binutils/size.c
+index a6c8e6c..f5ca64b 100644
+--- a/binutils/size.c
++++ b/binutils/size.c
+@@ -132,6 +132,7 @@ avr_device_t avr[] =
+ {"atxmega128a1", AVR136K, AVR8K, AVR2K},
+ {"atxmega128a1u", AVR136K, AVR8K, AVR2K},
+ {"atxmega128a3", AVR136K, AVR8K, AVR2K},
++ {"atxmega128b1", AVR136K, AVR8K, AVR2K},
+ {"atxmega128d3", AVR136K, AVR8K, AVR2K},
+
+ {"at43usb320", AVR128K, 608UL, 0UL},
+diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
+index 20501bb..1a22ae7 100644
+--- a/gas/config/tc-avr.c
++++ b/gas/config/tc-avr.c
+@@ -252,12 +252,16 @@ static struct mcu_type_s mcu_types[] =
+ {"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6},
+ {"atxmega16a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
+ {"atxmega16d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
++ {"atxmega16x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
+ {"atxmega32a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
+ {"atxmega32d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
++ {"atxmega32x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
+ {"atxmega64a3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
+ {"atxmega64d3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
+ {"atxmega64a1", AVR_ISA_XMEGA, bfd_mach_avrxmega5},
++ {"atxmega64a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega5},
+ {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
++ {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+ {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+ {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+ {"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+@@ -265,6 +269,7 @@ static struct mcu_type_s mcu_types[] =
+ {"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+ {"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+ {"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
++ {"atxmega128a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega7},
+ {"attiny4", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
+ {"attiny5", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
+ {"attiny9", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
+diff --git a/gas/doc/c-avr.texi b/gas/doc/c-avr.texi
+index c04c546..07637bf 100644
+--- a/gas/doc/c-avr.texi
++++ b/gas/doc/c-avr.texi
+@@ -88,24 +88,26 @@ atmega2560, atmega2561).
+
+ Instruction set avrxmega2 is for the XMEGA AVR core with 8K to 64K program
+ memory space and less than 64K data space (MCU types: atxmega16a4, atxmega16d4,
+-atxmega32d4).
++atxmega16x1, atxmega32a4, atxmega32d4, atxmega32x1).
+
+ Instruction set avrxmega3 is for the XMEGA AVR core with 8K to 64K program
+-memory space and greater than 64K data space (MCU types: atxmega32a4).
++memory space and greater than 64K data space (MCU types: none).
+
+ Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
+ memory space and less than 64K data space (MCU types: atxmega64a3, atxmega64d3).
+
+ Instruction set avrxmega5 is for the XMEGA AVR core with up to 64K program
+-memory space and greater than 64K data space (MCU types: atxmega64a1).
++memory space and greater than 64K data space (MCU types: atxmega64a1,
++atxmega64a1u).
+
+ Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program
+ memory space and less than 64K data space (MCU types: atxmega128a3,
+-atxmega128d3, atxmega192a3, atxmega192d3, atxmega256a3, atxmega256a3b,
+-atxmega192d3).
++atxmega128d3, atxmega192a3, atxmega128b1, atxmega192d3, atxmega256a3,
++atxmega256a3b, atxmega192d3).
+
+ Instruction set avrxmega7 is for the XMEGA AVR core with up to 256K program
+-memory space and greater than 64K data space (MCU types: atxmega128a1).
++memory space and greater than 64K data space (MCU types: atxmega128a1,
++atxmega128a1u).
+
+ @cindex @code{-mall-opcodes} command line option, AVR
+ @item -mall-opcodes
+--
+1.6.0.4
+