-/* Copyright (C) 2009, 2010, 2011
- Free Software Foundation, Inc.
+/* Copyright (C) 2009-2013 Free Software Foundation, Inc.
Contributed by Anatoly Sokolov (aesok@post.ru)
This file is part of GCC.
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
+#ifndef IN_GEN_AVR_MMCU_TEXI
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
+#endif /* IN_GEN_AVR_MMCU_TEXI */
/* List of all known AVR MCU architectures.
Order as of enum avr_arch from avr.h. */
-const struct base_arch_s
+const avr_arch_t
avr_arch_types[] =
{
/* unknown device specified */
/*
A M J LM E E E X R d S S O A
S U M PO L L I M A a t F ff r
- M L P MV P P J E M t a R s c
+ M L P MV P P J E M t a R s c
XW M M M G P a r e h
X P A D t t ID */
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, "1", "avr1" },
{ 0, 1, 1, 1, 1, 1, 1, 1, 1, 0x2000, 0, "107", "avrxmega7" }
};
-const struct mcu_type_s avr_mcu_types[] = {
-#define AVR_MCU(NAME,ARCH,MACRO,SHORT_SP,ERRATA_SKIP,DATA_SEC,N_FLASH,LIB_NAME)\
- { NAME, ARCH, MACRO, SHORT_SP, ERRATA_SKIP, DATA_SEC, N_FLASH, LIB_NAME },
+const avr_arch_info_t
+avr_texinfo[] =
+{
+ { ARCH_AVR1,
+ "This ISA is implemented by the minimal AVR core and supported "
+ "for assembler only." },
+ { ARCH_AVR2,
+ "``Classic'' devices with up to 8@tie{}KiB of program memory." },
+ { ARCH_AVR25,
+ "``Classic'' devices with up to 8@tie{}KiB of program memory and with "
+ "the @code{MOVW} instruction." },
+ { ARCH_AVR3,
+ "``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
+ " program memory." },
+ { ARCH_AVR31,
+ "``Classic'' devices with 128@tie{}KiB of program memory." },
+ { ARCH_AVR35,
+ "``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
+ "program memory and with the @code{MOVW} instruction." },
+ { ARCH_AVR4,
+ "``Enhanced'' devices with up to 8@tie{}KiB of program memory." },
+ { ARCH_AVR5,
+ "``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
+ "program memory." },
+ { ARCH_AVR51,
+ "``Enhanced'' devices with 128@tie{}KiB of program memory." },
+ { ARCH_AVR6,
+ "``Enhanced'' devices with 3-byte PC, i.e.@: with more than 128@tie{}KiB "
+ "of program memory." },
+ { ARCH_AVRXMEGA2,
+ "``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB "
+ "of program memory." },
+ { ARCH_AVRXMEGA4,
+ "``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB "
+ "of program memory." },
+ { ARCH_AVRXMEGA5,
+ "``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB "
+ "of program memory and more than 64@tie{}KiB of RAM." },
+ { ARCH_AVRXMEGA6,
+ "``XMEGA'' devices with more than 128@tie{}KiB of program memory." },
+ { ARCH_AVRXMEGA7,
+ "``XMEGA'' devices with more than 128@tie{}KiB of program memory "
+ "and more than 64@tie{}KiB of RAM." }
+};
+
+const avr_mcu_t
+avr_mcu_types[] =
+{
+#define AVR_MCU(NAME, ARCH, MACRO, SP8, ERR_SKIP, DATA_SEC, N_FLASH, LIBNAME)\
+ { NAME, ARCH, MACRO, SP8, ERR_SKIP, DATA_SEC, N_FLASH, LIBNAME },
#include "avr-mcus.def"
#undef AVR_MCU
/* End of list. */