This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, AVR,Committed] Add support for new devices


Hi.

 The attached patch to add support for the new AVR device in GCC.


2008-11-12  Anatoly Sokolov  <aesok@post.ru>

        * config/avr/avr.c (avr_mcu_t): Add atmega16hvb, atmega32hvb,
        atmega4hvd, atmega8hvd, atmega64c1, atmega64m1, atmega16u4 and
        atmega32u6 devices.
        * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
        * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).


Index: gcc/config/avr/avr.h
===================================================================
--- gcc/config/avr/avr.h        (revision 141795)
+++ gcc/config/avr/avr.h        (working copy)
@@ -840,7 +840,7 @@
   mmcu=at90usb162|\
   mmcu=attiny167: -m avr3}\
 %{mmcu=atmega8*|\
-  mmcu=atmega48*|\
+  mmcu=atmega4*|\
   mmcu=at90pwm1|\
   mmcu=at90pwm2|\
   mmcu=at90pwm2b|\
@@ -876,16 +876,21 @@
   mmcu=atmega165*|\
   mmcu=atmega168*|\
   mmcu=atmega169*|\
-  mmcu=atmega8hva|\
-  mmcu=atmega16hva|\
+  mmcu=atmega4hv*|\
+  mmcu=atmega8hv*|\
+  mmcu=atmega16hv*|\
+  mmcu=atmega32hv*|\
   mmcu=attiny48|\
   mmcu=attiny88|\
   mmcu=attiny167|\
   mmcu=at90can*|\
   mmcu=at90pwm*|\
   mmcu=atmega32c1|\
+  mmcu=atmega64c1|\
   mmcu=atmega32m1|\
-  mmcu=atmega32u4|\
+  mmcu=atmega64m1|\
+  mmcu=atmega16u4|\
+  mmcu=atmega32u*|\
   mmcu=at90usb*: -Tdata 0x800100}\
 %{mmcu=atmega640|\
   mmcu=atmega1280|\
@@ -992,13 +997,21 @@
 %{mmcu=atmega6490:crtm6490.o%s} \
 %{mmcu=atmega8hva:crtm8hva.o%s} \
 %{mmcu=atmega16hva:crtm16hva.o%s} \
+%{mmcu=atmega16hvb:crtm16hvb.o%s} \
+%{mmcu=atmega32hvb:crtm32hvb.o%s} \
+%{mmcu=atmega4hvd:crtm4hvd.o%s} \
+%{mmcu=atmega8hvd:crtm8hvd.o%s} \
 %{mmcu=at90can32:crtcan32.o%s} \
 %{mmcu=at90can64:crtcan64.o%s} \
 %{mmcu=at90pwm216:crt90pwm216.o%s} \
 %{mmcu=at90pwm316:crt90pwm316.o%s} \
 %{mmcu=atmega32c1:crtm32c1.o%s} \
+%{mmcu=atmega64c1:crtm64c1.o%s} \
 %{mmcu=atmega32m1:crtm32m1.o%s} \
+%{mmcu=atmega64m1:crtm64m1.o%s} \
+%{mmcu=atmega16u4:crtm16u4.o%s} \
 %{mmcu=atmega32u4:crtm32u4.o%s} \
+%{mmcu=atmega32u6:crtm32u6.o%s} \
 %{mmcu=at90usb646:crtusb646.o%s} \
 %{mmcu=at90usb647:crtusb647.o%s} \
 %{mmcu=at94k:crtat94k.o%s} \
Index: gcc/config/avr/avr.c
===================================================================
--- gcc/config/avr/avr.c        (revision 141795)
+++ gcc/config/avr/avr.c        (working copy)
@@ -214,6 +214,8 @@
   { "atmega8515",   ARCH_AVR4, "__AVR_ATmega8515__" },
   { "atmega8535",   ARCH_AVR4, "__AVR_ATmega8535__" },
   { "atmega8hva",   ARCH_AVR4, "__AVR_ATmega8HVA__" },
+  { "atmega4hvd",   ARCH_AVR4, "__AVR_ATmega4HVD__" },
+  { "atmega8hvd",   ARCH_AVR4, "__AVR_ATmega8HVD__" },
   { "at90pwm1",     ARCH_AVR4, "__AVR_AT90PWM1__" },
   { "at90pwm2",     ARCH_AVR4, "__AVR_AT90PWM2__" },
   { "at90pwm2b",    ARCH_AVR4, "__AVR_AT90PWM2B__" },
@@ -254,13 +256,19 @@
   { "atmega649",    ARCH_AVR5, "__AVR_ATmega649__" },
   { "atmega6490",   ARCH_AVR5, "__AVR_ATmega6490__" },
   { "atmega16hva",  ARCH_AVR5, "__AVR_ATmega16HVA__" },
+  { "atmega16hvb",  ARCH_AVR5, "__AVR_ATmega16HVB__" },
+  { "atmega32hvb",  ARCH_AVR5, "__AVR_ATmega32HVB__" },
   { "at90can32",    ARCH_AVR5, "__AVR_AT90CAN32__" },
   { "at90can64",    ARCH_AVR5, "__AVR_AT90CAN64__" },
   { "at90pwm216",   ARCH_AVR5, "__AVR_AT90PWM216__" },
   { "at90pwm316",   ARCH_AVR5, "__AVR_AT90PWM316__" },
+  { "atmega32c1",   ARCH_AVR5, "__AVR_ATmega32C1__" },
+  { "atmega64c1",   ARCH_AVR5, "__AVR_ATmega64C1__" },
   { "atmega32m1",   ARCH_AVR5, "__AVR_ATmega32M1__" },
-  { "atmega32c1",   ARCH_AVR5, "__AVR_ATmega32C1__" },
+  { "atmega64m1",   ARCH_AVR5, "__AVR_ATmega64M1__" },
+  { "atmega16u4",   ARCH_AVR5, "__AVR_ATmega16U4__" },
   { "atmega32u4",   ARCH_AVR5, "__AVR_ATmega32U4__" },
+  { "atmega32u6",   ARCH_AVR5, "__AVR_ATmega32U6__" },
   { "at90usb646",   ARCH_AVR5, "__AVR_AT90USB646__" },
   { "at90usb647",   ARCH_AVR5, "__AVR_AT90USB647__" },
   { "at94k",        ARCH_AVR5, "__AVR_AT94K__" },
Index: gcc/config/avr/t-avr
===================================================================
--- gcc/config/avr/t-avr        (revision 141795)
+++ gcc/config/avr/t-avr        (working copy)
@@ -73,6 +73,8 @@
        mmcu?avr4=mmcu?atmega88 \
        mmcu?avr4=mmcu?atmega88p \
        mmcu?avr4=mmcu?atmega8hva \
+       mmcu?avr4=mmcu?atmega4hvd \
+       mmcu?avr4=mmcu?atmega8hvd \
        mmcu?avr4=mmcu?at90pwm1 \
        mmcu?avr4=mmcu?at90pwm2 \
        mmcu?avr4=mmcu?at90pwm2b \
@@ -111,13 +113,19 @@
        mmcu?avr5=mmcu?atmega649 \
        mmcu?avr5=mmcu?atmega6490 \
        mmcu?avr5=mmcu?atmega16hva \
+       mmcu?avr5=mmcu?atmega16hvb \
+       mmcu?avr5=mmcu?atmega32hvb \
        mmcu?avr5=mmcu?at90can32 \
        mmcu?avr5=mmcu?at90can64 \
        mmcu?avr5=mmcu?at90pwm216 \
        mmcu?avr5=mmcu?at90pwm316 \
        mmcu?avr5=mmcu?atmega32c1 \
+       mmcu?avr5=mmcu?atmega64c1 \
        mmcu?avr5=mmcu?atmega32m1 \
+       mmcu?avr5=mmcu?atmega64m1 \
+       mmcu?avr5=mmcu?atmega16u4 \
        mmcu?avr5=mmcu?atmega32u4 \
+       mmcu?avr5=mmcu?atmega32u6 \
        mmcu?avr5=mmcu?at90usb646 \
        mmcu?avr5=mmcu?at90usb647 \
        mmcu?avr5=mmcu?at94k \


Anatoliy.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]