]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_M4_ATSAM4S_Atmel_Studio/src/asf/sam/utils/parts.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_M4_ATSAM4S_Atmel_Studio / src / asf / sam / utils / parts.h
1 /**\r
2  * \file\r
3  *\r
4  * \brief Arch file for SAM.\r
5  *\r
6  * This file defines common SAM series.\r
7  *\r
8  * Copyright (c) 2011 - 2012 Atmel Corporation. All rights reserved.\r
9  *\r
10  * \asf_license_start\r
11  *\r
12  * Redistribution and use in source and binary forms, with or without\r
13  * modification, are permitted provided that the following conditions are met:\r
14  *\r
15  * 1. Redistributions of source code must retain the above copyright notice,\r
16  *    this list of conditions and the following disclaimer.\r
17  *\r
18  * 2. Redistributions in binary form must reproduce the above copyright notice,\r
19  *    this list of conditions and the following disclaimer in the documentation\r
20  *    and/or other materials provided with the distribution.\r
21  *\r
22  * 3. The name of Atmel may not be used to endorse or promote products derived\r
23  *    from this software without specific prior written permission.\r
24  *\r
25  * 4. This software may only be redistributed and used in connection with an\r
26  *    Atmel microcontroller product.\r
27  *\r
28  * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED\r
29  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
30  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
31  * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR\r
32  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
36  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
37  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
38  * POSSIBILITY OF SUCH DAMAGE.\r
39  *\r
40  * \asf_license_stop\r
41  *\r
42  */\r
43 \r
44 #ifndef _SAM_PARTS_\r
45 #define _SAM_PARTS_\r
46 \r
47 /* Convenience macro for checking GCC and IAR part definitions */\r
48 #define part_is_defined(part) (defined(__ ## part ## __))\r
49 \r
50 /* SAM3 family */\r
51 \r
52 /* SAM3S series */\r
53 #define SAM3S1 ( \\r
54     part_is_defined( SAM3S1A ) || \\r
55     part_is_defined( SAM3S1B ) || \\r
56     part_is_defined( SAM3S1C ) )\r
57 \r
58 #define SAM3S2 ( \\r
59     part_is_defined( SAM3S2A ) || \\r
60     part_is_defined( SAM3S2B ) || \\r
61     part_is_defined( SAM3S2C ) )\r
62 \r
63 #define SAM3S4 ( \\r
64     part_is_defined( SAM3S4A ) || \\r
65     part_is_defined( SAM3S4B ) || \\r
66     part_is_defined( SAM3S4C ) )\r
67 \r
68 #define SAM3S8 ( \\r
69     part_is_defined( SAM3S8B ) || \\r
70     part_is_defined( SAM3S8C ) )\r
71 \r
72 #define SAM3SD8 ( \\r
73     part_is_defined( SAM3SD8B ) || \\r
74     part_is_defined( SAM3SD8C ) )\r
75 \r
76 #define SAM3U1 ( \\r
77     part_is_defined( SAM3U1C ) || \\r
78     part_is_defined( SAM3U1E ) )\r
79 \r
80 #define SAM3U2 ( \\r
81     part_is_defined( SAM3U2C ) || \\r
82     part_is_defined( SAM3U2E ) )\r
83 \r
84 #define SAM3U4 ( \\r
85     part_is_defined( SAM3U4C ) || \\r
86     part_is_defined( SAM3U4E ) )\r
87 \r
88 #define SAM3N1 ( \\r
89     part_is_defined( SAM3N1A ) || \\r
90     part_is_defined( SAM3N1B ) || \\r
91     part_is_defined( SAM3N1C ) )\r
92 \r
93 #define SAM3N2 ( \\r
94     part_is_defined( SAM3N2A ) || \\r
95     part_is_defined( SAM3N2B ) || \\r
96     part_is_defined( SAM3N2C ) )\r
97 \r
98 #define SAM3N4 ( \\r
99     part_is_defined( SAM3N4A ) || \\r
100     part_is_defined( SAM3N4B ) || \\r
101     part_is_defined( SAM3N4C ) )\r
102         \r
103 #define SAM3X4 ( \\r
104     part_is_defined( SAM3X4C ) || \\r
105         part_is_defined( SAM3X4E ) )\r
106 \r
107 #define SAM3X8 ( \\r
108     part_is_defined( SAM3X8C ) || \\r
109         part_is_defined( SAM3X8E ) || \\r
110     part_is_defined( SAM3X8H ) )\r
111 \r
112 #define SAM3A4 ( \\r
113     part_is_defined( SAM3A4C ) )\r
114 \r
115 #define SAM3A8 ( \\r
116     part_is_defined( SAM3A8C ) )\r
117 \r
118 #define SAM4S8 ( \\r
119     part_is_defined( SAM4S8B ) || \\r
120     part_is_defined( SAM4S8C ) )\r
121 \r
122 #define SAM4S16 ( \\r
123     part_is_defined( SAM4S16B ) || \\r
124     part_is_defined( SAM4S16C ) )\r
125 \r
126 /* Entire SAM3S Family */\r
127 #define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8)\r
128 \r
129 /* Entire SAM3U Family */\r
130 #define SAM3U (SAM3U1 || SAM3U2 || SAM3U4)\r
131 \r
132 /* Entire SAM3N Family */\r
133 #define SAM3N (SAM3N1 || SAM3N2 || SAM3N4)\r
134 \r
135 /* Entire SAM3XA Family */\r
136 #define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8)\r
137 \r
138 /* SAM9 family */\r
139 \r
140 /* SAM7 family */\r
141 \r
142 /* Entire SAM4S Family */\r
143 #define SAM4S (SAM4S8 || SAM4S16)\r
144 \r
145 /* Global SAM product line */\r
146 #define SAM ( SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S)\r
147 \r
148 #ifdef SAM\r
149         #include "io.h"\r
150 #endif\r
151 \r
152 #endif /* _SAM_PARTS_ */\r