]> git.sur5r.net Git - freertos/blob - Demo/AVR32_UC3A_GCC/Atmel_SW_Framework/UTILS/parts.h
Temporarily revert the AVR32 port back to the V6.0.5 files. Work will continue on...
[freertos] / Demo / AVR32_UC3A_GCC / Atmel_SW_Framework / UTILS / parts.h
1 /* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */\r
2
3 /*This file is prepared for Doxygen automatic documentation generation.*/\r
4 /*! \file *********************************************************************\r
5  *\r
6  * \brief Arch file for AVR32.\r
7  *\r
8  * This file defines common AVR32 UC3 series.\r
9  *\r
10  * - Compiler:           IAR EWAVR32 and GNU GCC for AVR32\r
11  * - Supported devices:  All AVR32 devices can be used.\r
12  * - AppNote:\r
13  *\r
14  * \author               Atmel Corporation: http://www.atmel.com \n\r
15  *                       Support and FAQ: http://support.atmel.no/\r
16  *\r
17  ******************************************************************************/\r
18 \r
19 /* Copyright (c) 2009 Atmel Corporation. All rights reserved.\r
20  *\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
23  *\r
24  * 1. Redistributions of source code must retain the above copyright notice, this\r
25  * list of conditions and the following disclaimer.\r
26  *\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
30  *\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
33  *\r
34  * 4. This software may only be redistributed and used in connection with an Atmel\r
35  * AVR product.\r
36  *\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
47  *\r
48  */\r
49 \r
50 #ifndef _ARCH_H_\r
51 #define _ARCH_H_\r
52 \r
53 // UC3 A Series\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
64                      \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
75                      \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
90                      \r
91 #define UC3A (UC3A0 || UC3A1 || UC3A3)\r
92 \r
93 // UC3 B Series\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
108 \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
123 \r
124 #define UC3B (UC3B0 || UC3B1 )\r
125 \r
126 // UC3 C Series\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
137                      \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
148                      \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
159 \r
160 #define UC3C (UC3C0 || UC3C1 || UC3C2)\r
161 \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
173                     \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
182                     \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
191                     \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
200 \r
201 #define UC3L (UC3L0 || UC3L1 || UC3L2 || UC3L3)\r
202 \r
203 #endif  // _ARCH_H_\r