4 * \brief Arch file for SAM.
\r
6 * This file defines common SAM series.
\r
8 * Copyright (c) 2011 - 2012 Atmel Corporation. All rights reserved.
\r
10 * \asf_license_start
\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
15 * 1. Redistributions of source code must retain the above copyright notice,
\r
16 * this list of conditions and the following disclaimer.
\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
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
25 * 4. This software may only be redistributed and used in connection with an
\r
26 * Atmel microcontroller product.
\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
47 /* Convenience macro for checking GCC and IAR part definitions */
\r
48 #define part_is_defined(part) (defined(__ ## part ## __))
\r
54 part_is_defined( SAM3S1A ) || \
\r
55 part_is_defined( SAM3S1B ) || \
\r
56 part_is_defined( SAM3S1C ) )
\r
59 part_is_defined( SAM3S2A ) || \
\r
60 part_is_defined( SAM3S2B ) || \
\r
61 part_is_defined( SAM3S2C ) )
\r
64 part_is_defined( SAM3S4A ) || \
\r
65 part_is_defined( SAM3S4B ) || \
\r
66 part_is_defined( SAM3S4C ) )
\r
69 part_is_defined( SAM3S8B ) || \
\r
70 part_is_defined( SAM3S8C ) )
\r
73 part_is_defined( SAM3SD8B ) || \
\r
74 part_is_defined( SAM3SD8C ) )
\r
77 part_is_defined( SAM3U1C ) || \
\r
78 part_is_defined( SAM3U1E ) )
\r
81 part_is_defined( SAM3U2C ) || \
\r
82 part_is_defined( SAM3U2E ) )
\r
85 part_is_defined( SAM3U4C ) || \
\r
86 part_is_defined( SAM3U4E ) )
\r
89 part_is_defined( SAM3N1A ) || \
\r
90 part_is_defined( SAM3N1B ) || \
\r
91 part_is_defined( SAM3N1C ) )
\r
94 part_is_defined( SAM3N2A ) || \
\r
95 part_is_defined( SAM3N2B ) || \
\r
96 part_is_defined( SAM3N2C ) )
\r
99 part_is_defined( SAM3N4A ) || \
\r
100 part_is_defined( SAM3N4B ) || \
\r
101 part_is_defined( SAM3N4C ) )
\r
104 part_is_defined( SAM3X4C ) || \
\r
105 part_is_defined( SAM3X4E ) )
\r
108 part_is_defined( SAM3X8C ) || \
\r
109 part_is_defined( SAM3X8E ) || \
\r
110 part_is_defined( SAM3X8H ) )
\r
113 part_is_defined( SAM3A4C ) )
\r
116 part_is_defined( SAM3A8C ) )
\r
119 part_is_defined( SAM4S8B ) || \
\r
120 part_is_defined( SAM4S8C ) )
\r
122 #define SAM4S16 ( \
\r
123 part_is_defined( SAM4S16B ) || \
\r
124 part_is_defined( SAM4S16C ) )
\r
126 /* Entire SAM3S Family */
\r
127 #define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8)
\r
129 /* Entire SAM3U Family */
\r
130 #define SAM3U (SAM3U1 || SAM3U2 || SAM3U4)
\r
132 /* Entire SAM3N Family */
\r
133 #define SAM3N (SAM3N1 || SAM3N2 || SAM3N4)
\r
135 /* Entire SAM3XA Family */
\r
136 #define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8)
\r
142 /* Entire SAM4S Family */
\r
143 #define SAM4S (SAM4S8 || SAM4S16)
\r
145 /* Global SAM product line */
\r
146 #define SAM ( SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S)
\r
152 #endif /* _SAM_PARTS_ */
\r