From d727e8c26ec6a7e347f36fa2232423325e8d7ed1 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 7 Apr 2006 15:18:08 +0000 Subject: [PATCH] Add support for attiny261, attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, attiny44, attiny84, at90pwm2, at90pwm3, atmega164, atmega324, atmega644, atmega329, atmega3290, atmega649, atmega6490, atmega406, atmega640, atmega1280, atmega1281, at90can32, at90can64, at90usb646, at90usb647, at90usb1286 and at90usb1287. Move atmega48 and atmega88 from AVR_ISA_M8 to AVR_ISA_PWMx. --- gas/ChangeLog | 11 +++++++++++ gas/config/tc-avr.c | 32 ++++++++++++++++++++++++++++++-- include/opcode/ChangeLog | 4 ++++ include/opcode/avr.h | 27 ++++++++++++++------------- 4 files changed, 59 insertions(+), 15 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f6a33a5ef2..925d033ca8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2006-04-07 Joerg Wunsch + + * gas/config/tc-avr.c (mcu_types): Add support for attiny261, + attiny461, attiny861, attiny25, attiny45, attiny85,attiny24, + attiny44, attiny84, at90pwm2, at90pwm3, atmega164, atmega324, + atmega644, atmega329, atmega3290, atmega649, atmega6490, + atmega406, atmega640, atmega1280, atmega1281, at90can32, + at90can64, at90usb646, at90usb647, at90usb1286 and + at90usb1287. + Move atmega48 and atmega88 from AVR_ISA_M8 to AVR_ISA_PWMx. + 2006-04-07 Paul Brook * config/tc-arm.c (parse_operands): Set default error message. diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index d6294f3c5a..7a95033d53 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -89,34 +89,62 @@ static struct mcu_type_s mcu_types[] = {"at86rf401", AVR_ISA_2xxx, bfd_mach_avr2}, {"attiny13", AVR_ISA_TINY2, bfd_mach_avr2}, {"attiny2313",AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny261", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny461", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny861", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny24", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny44", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny84", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny25", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny45", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny85", AVR_ISA_TINY2, bfd_mach_avr2}, {"atmega603", AVR_ISA_M603, bfd_mach_avr3}, /* XXX -> m103 */ {"atmega103", AVR_ISA_M103, bfd_mach_avr3}, {"at43usb320",AVR_ISA_M103, bfd_mach_avr3}, {"at43usb355",AVR_ISA_M603, bfd_mach_avr3}, {"at76c711", AVR_ISA_M603, bfd_mach_avr3}, - {"atmega48", AVR_ISA_M8, bfd_mach_avr4}, + {"atmega48", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega8", AVR_ISA_M8, bfd_mach_avr4}, {"atmega83", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8535 */ {"atmega85", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8 */ - {"atmega88", AVR_ISA_M8, bfd_mach_avr4}, + {"atmega88", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega8515",AVR_ISA_M8, bfd_mach_avr4}, {"atmega8535",AVR_ISA_M8, bfd_mach_avr4}, + {"at90pwm2", AVR_ISA_PWMx, bfd_mach_avr4}, + {"at90pwm3", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega16", AVR_ISA_M323, bfd_mach_avr5}, {"atmega161", AVR_ISA_M161, bfd_mach_avr5}, {"atmega162", AVR_ISA_M323, bfd_mach_avr5}, {"atmega163", AVR_ISA_M161, bfd_mach_avr5}, + {"atmega164", AVR_ISA_M323, bfd_mach_avr5}, {"atmega165", AVR_ISA_M323, bfd_mach_avr5}, {"atmega168", AVR_ISA_M323, bfd_mach_avr5}, {"atmega169", AVR_ISA_M323, bfd_mach_avr5}, {"atmega32", AVR_ISA_M323, bfd_mach_avr5}, {"atmega323", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega324", AVR_ISA_M323, bfd_mach_avr5}, {"atmega325", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega329", AVR_ISA_M323, bfd_mach_avr5}, {"atmega3250",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega3290",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega406", AVR_ISA_M323, bfd_mach_avr5}, {"atmega64", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega640", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega644", AVR_ISA_M323, bfd_mach_avr5}, {"atmega128", AVR_ISA_M128, bfd_mach_avr5}, + {"atmega1280",AVR_ISA_M128, bfd_mach_avr5}, + {"atmega1281",AVR_ISA_M128, bfd_mach_avr5}, {"atmega645", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega649", AVR_ISA_M323, bfd_mach_avr5}, {"atmega6450",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega6490",AVR_ISA_M323, bfd_mach_avr5}, + {"at90can32" ,AVR_ISA_M323, bfd_mach_avr5}, + {"at90can64" ,AVR_ISA_M323, bfd_mach_avr5}, {"at90can128",AVR_ISA_M128, bfd_mach_avr5}, + {"at90usb646", AVR_ISA_M323, bfd_mach_avr5}, + {"at90usb647", AVR_ISA_M323, bfd_mach_avr5}, + {"at90usb1286",AVR_ISA_M128, bfd_mach_avr5}, + {"at90usb1287",AVR_ISA_M128, bfd_mach_avr5}, {"at94k", AVR_ISA_94K, bfd_mach_avr5}, {NULL, 0, 0} }; diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 90bf23faf4..ad4411a2c4 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +2006-04-07 Joerg Wunsch + + * avr.h (AVR_ISA_PWMx): New. + 2006-03-28 Nathan Sidwell * m68k.h (cpu_m68k, cpu_cf, cpu_m68000, cpu_m68008, cpu_m68010, diff --git a/include/opcode/avr.h b/include/opcode/avr.h index b7a80b0961..55bb161034 100644 --- a/include/opcode/avr.h +++ b/include/opcode/avr.h @@ -1,6 +1,6 @@ /* Opcode table for the Atmel AVR micro controllers. - Copyright 2000, 2001, 2004 Free Software Foundation, Inc. + Copyright 2000, 2001, 2004, 2006 Free Software Foundation, Inc. Contributed by Denis Chertykov This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -#define AVR_ISA_1200 0x0001 /* in the beginning there was ... */ +#define AVR_ISA_1200 0x0001 /* In the beginning there was ... */ #define AVR_ISA_LPM 0x0002 /* device has LPM */ #define AVR_ISA_LPMX 0x0004 /* device has LPM Rd,Z[+] */ #define AVR_ISA_SRAM 0x0008 /* device has SRAM (LD, ST, PUSH, POP, ...) */ @@ -32,18 +32,19 @@ #define AVR_ISA_MOVW 0x1000 /* device has MOVW */ #define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM) -#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) +#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK) +#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) #define AVR_ISA_TINY2 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX | \ - AVR_ISA_SPM | AVR_ISA_BRK) -#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \ - AVR_ISA_LPMX | AVR_ISA_SPM) -#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA) -#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM) -#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \ - AVR_ISA_LPMX | AVR_ISA_SPM) -#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX) -#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK) -#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX) + AVR_ISA_SPM | AVR_ISA_BRK) +#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \ + AVR_ISA_LPMX | AVR_ISA_SPM) +#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA) +#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM) +#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \ + AVR_ISA_LPMX | AVR_ISA_SPM) +#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX) +#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK) +#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX) #define AVR_ISA_ALL 0xFFFF