1 /* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */
\r
3 /*This file is prepared for Doxygen automatic documentation generation.*/
\r
4 /*! \file *********************************************************************
\r
6 * \brief Arch file for AVR32.
\r
8 * This file defines common AVR32 UC3 series.
\r
10 * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
\r
11 * - Supported devices: All AVR32 devices can be used.
\r
14 * \author Atmel Corporation: http://www.atmel.com \n
\r
15 * Support and FAQ: http://support.atmel.no/
\r
17 ******************************************************************************/
\r
19 /* Copyright (c) 2009 Atmel Corporation. All rights reserved.
\r
21 * Redistribution and use in source and binary forms, with or without
\r
22 * modification, are permitted provided that the following conditions are met:
\r
24 * 1. Redistributions of source code must retain the above copyright notice, this
\r
25 * list of conditions and the following disclaimer.
\r
27 * 2. Redistributions in binary form must reproduce the above copyright notice,
\r
28 * this list of conditions and the following disclaimer in the documentation
\r
29 * and/or other materials provided with the distribution.
\r
31 * 3. The name of Atmel may not be used to endorse or promote products derived
\r
32 * from this software without specific prior written permission.
\r
34 * 4. This software may only be redistributed and used in connection with an Atmel
\r
37 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
\r
38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
\r
39 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
\r
40 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
\r
41 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
\r
42 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
\r
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
\r
44 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
45 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
\r
46 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
\r
54 #define UC3A0 ( defined (__GNUC__) && \
\r
55 ( defined (__AVR32_UC3A0128__) || \
\r
56 defined (__AVR32_UC3A0256__) || \
\r
57 defined (__AVR32_UC3A0512__) || \
\r
58 defined (__AVR32_UC3A0512ES__))) \
\r
59 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
60 ( defined (__AT32UC3A0128__) || \
\r
61 defined (__AT32UC3A0256__) || \
\r
62 defined (__AT32UC3A0512__) || \
\r
63 defined (__AT32UC3A0512ES__)))
\r
65 #define UC3A1 ( defined (__GNUC__) && \
\r
66 ( defined (__AVR32_UC3A1128__) || \
\r
67 defined (__AVR32_UC3A1256__) || \
\r
68 defined (__AVR32_UC3A1512__) || \
\r
69 defined (__AVR32_UC3A1512ES__))) \
\r
70 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
71 ( defined (__AT32UC3A1128__) || \
\r
72 defined (__AT32UC3A1256__) || \
\r
73 defined (__AT32UC3A1512__) || \
\r
74 defined (__AT32UC3A1512ES__)))
\r
76 #define UC3A3 ( defined (__GNUC__) && \
\r
77 ( defined (__AVR32_UC3A364__) || \
\r
78 defined (__AVR32_UC3A364S__) || \
\r
79 defined (__AVR32_UC3A3128__) || \
\r
80 defined (__AVR32_UC3A3128S__) || \
\r
81 defined (__AVR32_UC3A3256__) || \
\r
82 defined (__AVR32_UC3A3256S__))) \
\r
83 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
84 ( defined (__AT32UC3A364__) || \
\r
85 defined (__AT32UC3A364S__) || \
\r
86 defined (__AT32UC3A3128__) || \
\r
87 defined (__AT32UC3A3128S__) || \
\r
88 defined (__AT32UC3A3256__) || \
\r
89 defined (__AT32UC3A3256S__)))
\r
91 #define UC3A (UC3A0 || UC3A1 || UC3A3)
\r
94 #define UC3B0 ( defined (__GNUC__) && \
\r
95 ( defined (__AVR32_UC3B064__) || \
\r
96 defined (__AVR32_UC3B0128__) || \
\r
97 defined (__AVR32_UC3B0256__) || \
\r
98 defined (__AVR32_UC3B0256ES__) || \
\r
99 defined (__AVR32_UC3B0512__) || \
\r
100 defined (__AVR32_UC3B0512REVC_))) \
\r
101 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
102 ( defined (__AT32UC3B064__) || \
\r
103 defined (__AT32UC3B0128__) || \
\r
104 defined (__AT32UC3B0256__) || \
\r
105 defined (__AT32UC3B0256ES__) || \
\r
106 defined (__AT32UC3B0512__) || \
\r
107 defined (__AT32UC3B0512REVC__)))
\r
109 #define UC3B1 ( defined (__GNUC__) && \
\r
110 ( defined (__AVR32_UC3B164__) || \
\r
111 defined (__AVR32_UC3B1128__) || \
\r
112 defined (__AVR32_UC3B1256__) || \
\r
113 defined (__AVR32_UC3B1256ES__) || \
\r
114 defined (__AVR32_UC3B1512__) || \
\r
115 defined (__AVR32_UC3B1512ES__))) \
\r
116 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
117 ( defined (__AT32UC3B164__) || \
\r
118 defined (__AT32UC3B1128__) || \
\r
119 defined (__AT32UC3B1256__) || \
\r
120 defined (__AT32UC3B1256ES__) || \
\r
121 defined (__AT32UC3B1512__) || \
\r
122 defined (__AT32UC3B1512REVC__)))
\r
124 #define UC3B (UC3B0 || UC3B1 )
\r
127 #define UC3C0 ( defined (__GNUC__) && \
\r
128 ( defined (__AVR32_UC3C064C__) || \
\r
129 defined (__AVR32_UC3C0128C__) || \
\r
130 defined (__AVR32_UC3C0256C__) || \
\r
131 defined (__AVR32_UC3C0512CREVC__))) \
\r
132 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
133 ( defined (__AT32UC3C064C__) || \
\r
134 defined (__AT32UC3C0128C__) || \
\r
135 defined (__AT32UC3C0256C__) || \
\r
136 defined (__AT32UC3C0512C__)))
\r
138 #define UC3C1 ( defined (__GNUC__) && \
\r
139 ( defined (__AVR32_UC3C164C__) || \
\r
140 defined (__AVR32_UC3C1128C__) || \
\r
141 defined (__AVR32_UC3C1256C__) || \
\r
142 defined (__AVR32_UC3C1512CREVC__))) \
\r
143 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
144 ( defined (__AT32UC3C164C__) || \
\r
145 defined (__AT32UC3C1128C__) || \
\r
146 defined (__AT32UC3C1256C__) || \
\r
147 defined (__AT32UC3C1512C__)))
\r
149 #define UC3C2 ( defined (__GNUC__) && \
\r
150 ( defined (__AVR32_UC3C264C__) || \
\r
151 defined (__AVR32_UC3C2128C__) || \
\r
152 defined (__AVR32_UC3C2256C__) || \
\r
153 defined (__AVR32_UC3C2512CREVC__))) \
\r
154 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
155 ( defined (__AT32UC3C264C__) || \
\r
156 defined (__AT32UC3C2128C__) || \
\r
157 defined (__AT32UC3C2256C__) || \
\r
158 defined (__AT32UC3C2512C__)))
\r
160 #define UC3C (UC3C0 || UC3C1 || UC3C2)
\r
162 // UC3 L Device series
\r
163 #define UC3L0 ( defined (__GNUC__) && \
\r
164 ( defined (__AVR32_UC3L016__) || \
\r
165 defined (__AVR32_UC3L032__) || \
\r
166 defined (__AVR32_UC3L064__) || \
\r
167 defined (__AVR32_UC3L064REVB__))) \
\r
168 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
169 ( defined (__AT32UC3L016__) || \
\r
170 defined (__AT32UC3L032__) || \
\r
171 defined (__AT32UC3L064__) || \
\r
172 defined (__AT32UC3L064REVB__)))
\r
174 #define UC3L1 ( defined (__GNUC__) && \
\r
175 ( defined (__AVR32_UC3L116__) || \
\r
176 defined (__AVR32_UC3L132__) || \
\r
177 defined (__AVR32_UC3L164__))) \
\r
178 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
179 ( defined (__AT32UC3L116__) || \
\r
180 defined (__AT32UC3L132__) || \
\r
181 defined (__AT32UC3L164__)))
\r
183 #define UC3L2 ( defined (__GNUC__) && \
\r
184 ( defined (__AVR32_UC3L216__) || \
\r
185 defined (__AVR32_UC3L232__) || \
\r
186 defined (__AVR32_UC3L264__))) \
\r
187 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
188 ( defined (__AT32UC3L216__) || \
\r
189 defined (__AT32UC3L232__) || \
\r
190 defined (__AT32UC3L264__)))
\r
192 #define UC3L3 ( defined (__GNUC__) && \
\r
193 ( defined (__AVR32_UC3L316__) || \
\r
194 defined (__AVR32_UC3L332__) || \
\r
195 defined (__AVR32_UC3L364__))) \
\r
196 ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \
\r
197 ( defined (__AT32UC3L316__) || \
\r
198 defined (__AT32UC3L332__) || \
\r
199 defined (__AT32UC3L364__)))
\r
201 #define UC3L (UC3L0 || UC3L1 || UC3L2 || UC3L3)
\r