mbed library sources. Supersedes mbed-src. RTC working even after reset

Fork of mbed-dev by mbed official

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
Child:
144:ef7eb2e8f9f7
Initial commit on mbed-dev

Replaces mbed-src (now inactive)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 #ifndef ATMEL_PARTS_H
bogdanm 0:9b334a45a8ff 2 #define ATMEL_PARTS_H
bogdanm 0:9b334a45a8ff 3
bogdanm 0:9b334a45a8ff 4 /**
bogdanm 0:9b334a45a8ff 5 * \defgroup part_macros_group Atmel part identification macros
bogdanm 0:9b334a45a8ff 6 *
bogdanm 0:9b334a45a8ff 7 * This collection of macros identify which series and families that the various
bogdanm 0:9b334a45a8ff 8 * Atmel parts belong to. These can be used to select part-dependent sections of
bogdanm 0:9b334a45a8ff 9 * code at compile time.
bogdanm 0:9b334a45a8ff 10 *
bogdanm 0:9b334a45a8ff 11 * @{
bogdanm 0:9b334a45a8ff 12 */
bogdanm 0:9b334a45a8ff 13
bogdanm 0:9b334a45a8ff 14 /**
bogdanm 0:9b334a45a8ff 15 * \name Convenience macros for part checking
bogdanm 0:9b334a45a8ff 16 * @{
bogdanm 0:9b334a45a8ff 17 */
bogdanm 0:9b334a45a8ff 18 /* ! Check GCC and IAR part definition for 8-bit AVR */
bogdanm 0:9b334a45a8ff 19 #define AVR8_PART_IS_DEFINED(part) \
bogdanm 0:9b334a45a8ff 20 (defined(__ ## part ## __) || defined(__AVR_ ## part ## __))
bogdanm 0:9b334a45a8ff 21
bogdanm 0:9b334a45a8ff 22 /* ! Check GCC and IAR part definition for 32-bit AVR */
bogdanm 0:9b334a45a8ff 23 #define AVR32_PART_IS_DEFINED(part) \
bogdanm 0:9b334a45a8ff 24 (defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __))
bogdanm 0:9b334a45a8ff 25
bogdanm 0:9b334a45a8ff 26 /* ! Check GCC and IAR part definition for SAM */
bogdanm 0:9b334a45a8ff 27 #define SAM_PART_IS_DEFINED(part) (defined(__ ## part ## __))
bogdanm 0:9b334a45a8ff 28 /** @} */
bogdanm 0:9b334a45a8ff 29
bogdanm 0:9b334a45a8ff 30 /**
bogdanm 0:9b334a45a8ff 31 * \defgroup uc3_part_macros_group AVR UC3 parts
bogdanm 0:9b334a45a8ff 32 * @{
bogdanm 0:9b334a45a8ff 33 */
bogdanm 0:9b334a45a8ff 34
bogdanm 0:9b334a45a8ff 35 /**
bogdanm 0:9b334a45a8ff 36 * \name AVR UC3 A series
bogdanm 0:9b334a45a8ff 37 * @{
bogdanm 0:9b334a45a8ff 38 */
bogdanm 0:9b334a45a8ff 39 #define UC3A0 ( \
bogdanm 0:9b334a45a8ff 40 AVR32_PART_IS_DEFINED(UC3A0128) || \
bogdanm 0:9b334a45a8ff 41 AVR32_PART_IS_DEFINED(UC3A0256) || \
bogdanm 0:9b334a45a8ff 42 AVR32_PART_IS_DEFINED(UC3A0512) \
bogdanm 0:9b334a45a8ff 43 )
bogdanm 0:9b334a45a8ff 44
bogdanm 0:9b334a45a8ff 45 #define UC3A1 ( \
bogdanm 0:9b334a45a8ff 46 AVR32_PART_IS_DEFINED(UC3A1128) || \
bogdanm 0:9b334a45a8ff 47 AVR32_PART_IS_DEFINED(UC3A1256) || \
bogdanm 0:9b334a45a8ff 48 AVR32_PART_IS_DEFINED(UC3A1512) \
bogdanm 0:9b334a45a8ff 49 )
bogdanm 0:9b334a45a8ff 50
bogdanm 0:9b334a45a8ff 51 #define UC3A3 ( \
bogdanm 0:9b334a45a8ff 52 AVR32_PART_IS_DEFINED(UC3A364) || \
bogdanm 0:9b334a45a8ff 53 AVR32_PART_IS_DEFINED(UC3A364S) || \
bogdanm 0:9b334a45a8ff 54 AVR32_PART_IS_DEFINED(UC3A3128) || \
bogdanm 0:9b334a45a8ff 55 AVR32_PART_IS_DEFINED(UC3A3128S) || \
bogdanm 0:9b334a45a8ff 56 AVR32_PART_IS_DEFINED(UC3A3256) || \
bogdanm 0:9b334a45a8ff 57 AVR32_PART_IS_DEFINED(UC3A3256S) \
bogdanm 0:9b334a45a8ff 58 )
bogdanm 0:9b334a45a8ff 59
bogdanm 0:9b334a45a8ff 60 #define UC3A4 ( \
bogdanm 0:9b334a45a8ff 61 AVR32_PART_IS_DEFINED(UC3A464) || \
bogdanm 0:9b334a45a8ff 62 AVR32_PART_IS_DEFINED(UC3A464S) || \
bogdanm 0:9b334a45a8ff 63 AVR32_PART_IS_DEFINED(UC3A4128) || \
bogdanm 0:9b334a45a8ff 64 AVR32_PART_IS_DEFINED(UC3A4128S) || \
bogdanm 0:9b334a45a8ff 65 AVR32_PART_IS_DEFINED(UC3A4256) || \
bogdanm 0:9b334a45a8ff 66 AVR32_PART_IS_DEFINED(UC3A4256S) \
bogdanm 0:9b334a45a8ff 67 )
bogdanm 0:9b334a45a8ff 68 /** @} */
bogdanm 0:9b334a45a8ff 69
bogdanm 0:9b334a45a8ff 70 /**
bogdanm 0:9b334a45a8ff 71 * \name AVR UC3 B series
bogdanm 0:9b334a45a8ff 72 * @{
bogdanm 0:9b334a45a8ff 73 */
bogdanm 0:9b334a45a8ff 74 #define UC3B0 ( \
bogdanm 0:9b334a45a8ff 75 AVR32_PART_IS_DEFINED(UC3B064) || \
bogdanm 0:9b334a45a8ff 76 AVR32_PART_IS_DEFINED(UC3B0128) || \
bogdanm 0:9b334a45a8ff 77 AVR32_PART_IS_DEFINED(UC3B0256) || \
bogdanm 0:9b334a45a8ff 78 AVR32_PART_IS_DEFINED(UC3B0512) \
bogdanm 0:9b334a45a8ff 79 )
bogdanm 0:9b334a45a8ff 80
bogdanm 0:9b334a45a8ff 81 #define UC3B1 ( \
bogdanm 0:9b334a45a8ff 82 AVR32_PART_IS_DEFINED(UC3B164) || \
bogdanm 0:9b334a45a8ff 83 AVR32_PART_IS_DEFINED(UC3B1128) || \
bogdanm 0:9b334a45a8ff 84 AVR32_PART_IS_DEFINED(UC3B1256) || \
bogdanm 0:9b334a45a8ff 85 AVR32_PART_IS_DEFINED(UC3B1512) \
bogdanm 0:9b334a45a8ff 86 )
bogdanm 0:9b334a45a8ff 87 /** @} */
bogdanm 0:9b334a45a8ff 88
bogdanm 0:9b334a45a8ff 89 /**
bogdanm 0:9b334a45a8ff 90 * \name AVR UC3 C series
bogdanm 0:9b334a45a8ff 91 * @{
bogdanm 0:9b334a45a8ff 92 */
bogdanm 0:9b334a45a8ff 93 #define UC3C0 ( \
bogdanm 0:9b334a45a8ff 94 AVR32_PART_IS_DEFINED(UC3C064C) || \
bogdanm 0:9b334a45a8ff 95 AVR32_PART_IS_DEFINED(UC3C0128C) || \
bogdanm 0:9b334a45a8ff 96 AVR32_PART_IS_DEFINED(UC3C0256C) || \
bogdanm 0:9b334a45a8ff 97 AVR32_PART_IS_DEFINED(UC3C0512C) \
bogdanm 0:9b334a45a8ff 98 )
bogdanm 0:9b334a45a8ff 99
bogdanm 0:9b334a45a8ff 100 #define UC3C1 ( \
bogdanm 0:9b334a45a8ff 101 AVR32_PART_IS_DEFINED(UC3C164C) || \
bogdanm 0:9b334a45a8ff 102 AVR32_PART_IS_DEFINED(UC3C1128C) || \
bogdanm 0:9b334a45a8ff 103 AVR32_PART_IS_DEFINED(UC3C1256C) || \
bogdanm 0:9b334a45a8ff 104 AVR32_PART_IS_DEFINED(UC3C1512C) \
bogdanm 0:9b334a45a8ff 105 )
bogdanm 0:9b334a45a8ff 106
bogdanm 0:9b334a45a8ff 107 #define UC3C2 ( \
bogdanm 0:9b334a45a8ff 108 AVR32_PART_IS_DEFINED(UC3C264C) || \
bogdanm 0:9b334a45a8ff 109 AVR32_PART_IS_DEFINED(UC3C2128C) || \
bogdanm 0:9b334a45a8ff 110 AVR32_PART_IS_DEFINED(UC3C2256C) || \
bogdanm 0:9b334a45a8ff 111 AVR32_PART_IS_DEFINED(UC3C2512C) \
bogdanm 0:9b334a45a8ff 112 )
bogdanm 0:9b334a45a8ff 113 /** @} */
bogdanm 0:9b334a45a8ff 114
bogdanm 0:9b334a45a8ff 115 /**
bogdanm 0:9b334a45a8ff 116 * \name AVR UC3 D series
bogdanm 0:9b334a45a8ff 117 * @{
bogdanm 0:9b334a45a8ff 118 */
bogdanm 0:9b334a45a8ff 119 #define UC3D3 ( \
bogdanm 0:9b334a45a8ff 120 AVR32_PART_IS_DEFINED(UC64D3) || \
bogdanm 0:9b334a45a8ff 121 AVR32_PART_IS_DEFINED(UC128D3) \
bogdanm 0:9b334a45a8ff 122 )
bogdanm 0:9b334a45a8ff 123
bogdanm 0:9b334a45a8ff 124 #define UC3D4 ( \
bogdanm 0:9b334a45a8ff 125 AVR32_PART_IS_DEFINED(UC64D4) || \
bogdanm 0:9b334a45a8ff 126 AVR32_PART_IS_DEFINED(UC128D4) \
bogdanm 0:9b334a45a8ff 127 )
bogdanm 0:9b334a45a8ff 128 /** @} */
bogdanm 0:9b334a45a8ff 129
bogdanm 0:9b334a45a8ff 130 /**
bogdanm 0:9b334a45a8ff 131 * \name AVR UC3 L series
bogdanm 0:9b334a45a8ff 132 * @{
bogdanm 0:9b334a45a8ff 133 */
bogdanm 0:9b334a45a8ff 134 #define UC3L0 ( \
bogdanm 0:9b334a45a8ff 135 AVR32_PART_IS_DEFINED(UC3L016) || \
bogdanm 0:9b334a45a8ff 136 AVR32_PART_IS_DEFINED(UC3L032) || \
bogdanm 0:9b334a45a8ff 137 AVR32_PART_IS_DEFINED(UC3L064) \
bogdanm 0:9b334a45a8ff 138 )
bogdanm 0:9b334a45a8ff 139
bogdanm 0:9b334a45a8ff 140 #define UC3L0128 ( \
bogdanm 0:9b334a45a8ff 141 AVR32_PART_IS_DEFINED(UC3L0128) \
bogdanm 0:9b334a45a8ff 142 )
bogdanm 0:9b334a45a8ff 143
bogdanm 0:9b334a45a8ff 144 #define UC3L0256 ( \
bogdanm 0:9b334a45a8ff 145 AVR32_PART_IS_DEFINED(UC3L0256) \
bogdanm 0:9b334a45a8ff 146 )
bogdanm 0:9b334a45a8ff 147
bogdanm 0:9b334a45a8ff 148 #define UC3L3 ( \
bogdanm 0:9b334a45a8ff 149 AVR32_PART_IS_DEFINED(UC64L3U) || \
bogdanm 0:9b334a45a8ff 150 AVR32_PART_IS_DEFINED(UC128L3U) || \
bogdanm 0:9b334a45a8ff 151 AVR32_PART_IS_DEFINED(UC256L3U) \
bogdanm 0:9b334a45a8ff 152 )
bogdanm 0:9b334a45a8ff 153
bogdanm 0:9b334a45a8ff 154 #define UC3L4 ( \
bogdanm 0:9b334a45a8ff 155 AVR32_PART_IS_DEFINED(UC64L4U) || \
bogdanm 0:9b334a45a8ff 156 AVR32_PART_IS_DEFINED(UC128L4U) || \
bogdanm 0:9b334a45a8ff 157 AVR32_PART_IS_DEFINED(UC256L4U) \
bogdanm 0:9b334a45a8ff 158 )
bogdanm 0:9b334a45a8ff 159
bogdanm 0:9b334a45a8ff 160 #define UC3L3_L4 (UC3L3 || UC3L4)
bogdanm 0:9b334a45a8ff 161 /** @} */
bogdanm 0:9b334a45a8ff 162
bogdanm 0:9b334a45a8ff 163 /**
bogdanm 0:9b334a45a8ff 164 * \name AVR UC3 families
bogdanm 0:9b334a45a8ff 165 * @{
bogdanm 0:9b334a45a8ff 166 */
bogdanm 0:9b334a45a8ff 167 /** AVR UC3 A family */
bogdanm 0:9b334a45a8ff 168 #define UC3A (UC3A0 || UC3A1 || UC3A3 || UC3A4)
bogdanm 0:9b334a45a8ff 169
bogdanm 0:9b334a45a8ff 170 /** AVR UC3 B family */
bogdanm 0:9b334a45a8ff 171 #define UC3B (UC3B0 || UC3B1)
bogdanm 0:9b334a45a8ff 172
bogdanm 0:9b334a45a8ff 173 /** AVR UC3 C family */
bogdanm 0:9b334a45a8ff 174 #define UC3C (UC3C0 || UC3C1 || UC3C2)
bogdanm 0:9b334a45a8ff 175
bogdanm 0:9b334a45a8ff 176 /** AVR UC3 D family */
bogdanm 0:9b334a45a8ff 177 #define UC3D (UC3D3 || UC3D4)
bogdanm 0:9b334a45a8ff 178
bogdanm 0:9b334a45a8ff 179 /** AVR UC3 L family */
bogdanm 0:9b334a45a8ff 180 #define UC3L (UC3L0 || UC3L0128 || UC3L0256 || UC3L3_L4)
bogdanm 0:9b334a45a8ff 181 /** @} */
bogdanm 0:9b334a45a8ff 182
bogdanm 0:9b334a45a8ff 183 /** AVR UC3 product line */
bogdanm 0:9b334a45a8ff 184 #define UC3 (UC3A || UC3B || UC3C || UC3D || UC3L)
bogdanm 0:9b334a45a8ff 185
bogdanm 0:9b334a45a8ff 186 /** @} */
bogdanm 0:9b334a45a8ff 187
bogdanm 0:9b334a45a8ff 188 /**
bogdanm 0:9b334a45a8ff 189 * \defgroup xmega_part_macros_group AVR XMEGA parts
bogdanm 0:9b334a45a8ff 190 * @{
bogdanm 0:9b334a45a8ff 191 */
bogdanm 0:9b334a45a8ff 192
bogdanm 0:9b334a45a8ff 193 /**
bogdanm 0:9b334a45a8ff 194 * \name AVR XMEGA A series
bogdanm 0:9b334a45a8ff 195 * @{
bogdanm 0:9b334a45a8ff 196 */
bogdanm 0:9b334a45a8ff 197 #define XMEGA_A1 ( \
bogdanm 0:9b334a45a8ff 198 AVR8_PART_IS_DEFINED(ATxmega64A1) || \
bogdanm 0:9b334a45a8ff 199 AVR8_PART_IS_DEFINED(ATxmega128A1) \
bogdanm 0:9b334a45a8ff 200 )
bogdanm 0:9b334a45a8ff 201
bogdanm 0:9b334a45a8ff 202 #define XMEGA_A3 ( \
bogdanm 0:9b334a45a8ff 203 AVR8_PART_IS_DEFINED(ATxmega64A3) || \
bogdanm 0:9b334a45a8ff 204 AVR8_PART_IS_DEFINED(ATxmega128A3) || \
bogdanm 0:9b334a45a8ff 205 AVR8_PART_IS_DEFINED(ATxmega192A3) || \
bogdanm 0:9b334a45a8ff 206 AVR8_PART_IS_DEFINED(ATxmega256A3) \
bogdanm 0:9b334a45a8ff 207 )
bogdanm 0:9b334a45a8ff 208
bogdanm 0:9b334a45a8ff 209 #define XMEGA_A3B ( \
bogdanm 0:9b334a45a8ff 210 AVR8_PART_IS_DEFINED(ATxmega256A3B) \
bogdanm 0:9b334a45a8ff 211 )
bogdanm 0:9b334a45a8ff 212
bogdanm 0:9b334a45a8ff 213 #define XMEGA_A4 ( \
bogdanm 0:9b334a45a8ff 214 AVR8_PART_IS_DEFINED(ATxmega16A4) || \
bogdanm 0:9b334a45a8ff 215 AVR8_PART_IS_DEFINED(ATxmega32A4) \
bogdanm 0:9b334a45a8ff 216 )
bogdanm 0:9b334a45a8ff 217 /** @} */
bogdanm 0:9b334a45a8ff 218
bogdanm 0:9b334a45a8ff 219 /**
bogdanm 0:9b334a45a8ff 220 * \name AVR XMEGA AU series
bogdanm 0:9b334a45a8ff 221 * @{
bogdanm 0:9b334a45a8ff 222 */
bogdanm 0:9b334a45a8ff 223 #define XMEGA_A1U ( \
bogdanm 0:9b334a45a8ff 224 AVR8_PART_IS_DEFINED(ATxmega64A1U) || \
bogdanm 0:9b334a45a8ff 225 AVR8_PART_IS_DEFINED(ATxmega128A1U) \
bogdanm 0:9b334a45a8ff 226 )
bogdanm 0:9b334a45a8ff 227
bogdanm 0:9b334a45a8ff 228 #define XMEGA_A3U ( \
bogdanm 0:9b334a45a8ff 229 AVR8_PART_IS_DEFINED(ATxmega64A3U) || \
bogdanm 0:9b334a45a8ff 230 AVR8_PART_IS_DEFINED(ATxmega128A3U) || \
bogdanm 0:9b334a45a8ff 231 AVR8_PART_IS_DEFINED(ATxmega192A3U) || \
bogdanm 0:9b334a45a8ff 232 AVR8_PART_IS_DEFINED(ATxmega256A3U) \
bogdanm 0:9b334a45a8ff 233 )
bogdanm 0:9b334a45a8ff 234
bogdanm 0:9b334a45a8ff 235 #define XMEGA_A3BU ( \
bogdanm 0:9b334a45a8ff 236 AVR8_PART_IS_DEFINED(ATxmega256A3BU) \
bogdanm 0:9b334a45a8ff 237 )
bogdanm 0:9b334a45a8ff 238
bogdanm 0:9b334a45a8ff 239 #define XMEGA_A4U ( \
bogdanm 0:9b334a45a8ff 240 AVR8_PART_IS_DEFINED(ATxmega16A4U) || \
bogdanm 0:9b334a45a8ff 241 AVR8_PART_IS_DEFINED(ATxmega32A4U) || \
bogdanm 0:9b334a45a8ff 242 AVR8_PART_IS_DEFINED(ATxmega64A4U) || \
bogdanm 0:9b334a45a8ff 243 AVR8_PART_IS_DEFINED(ATxmega128A4U) \
bogdanm 0:9b334a45a8ff 244 )
bogdanm 0:9b334a45a8ff 245 /** @} */
bogdanm 0:9b334a45a8ff 246
bogdanm 0:9b334a45a8ff 247 /**
bogdanm 0:9b334a45a8ff 248 * \name AVR XMEGA B series
bogdanm 0:9b334a45a8ff 249 * @{
bogdanm 0:9b334a45a8ff 250 */
bogdanm 0:9b334a45a8ff 251 #define XMEGA_B1 ( \
bogdanm 0:9b334a45a8ff 252 AVR8_PART_IS_DEFINED(ATxmega64B1) || \
bogdanm 0:9b334a45a8ff 253 AVR8_PART_IS_DEFINED(ATxmega128B1) \
bogdanm 0:9b334a45a8ff 254 )
bogdanm 0:9b334a45a8ff 255
bogdanm 0:9b334a45a8ff 256 #define XMEGA_B3 ( \
bogdanm 0:9b334a45a8ff 257 AVR8_PART_IS_DEFINED(ATxmega64B3) || \
bogdanm 0:9b334a45a8ff 258 AVR8_PART_IS_DEFINED(ATxmega128B3) \
bogdanm 0:9b334a45a8ff 259 )
bogdanm 0:9b334a45a8ff 260 /** @} */
bogdanm 0:9b334a45a8ff 261
bogdanm 0:9b334a45a8ff 262 /**
bogdanm 0:9b334a45a8ff 263 * \name AVR XMEGA C series
bogdanm 0:9b334a45a8ff 264 * @{
bogdanm 0:9b334a45a8ff 265 */
bogdanm 0:9b334a45a8ff 266 #define XMEGA_C3 ( \
bogdanm 0:9b334a45a8ff 267 AVR8_PART_IS_DEFINED(ATxmega384C3) || \
bogdanm 0:9b334a45a8ff 268 AVR8_PART_IS_DEFINED(ATxmega256C3) || \
bogdanm 0:9b334a45a8ff 269 AVR8_PART_IS_DEFINED(ATxmega192C3) || \
bogdanm 0:9b334a45a8ff 270 AVR8_PART_IS_DEFINED(ATxmega128C3) || \
bogdanm 0:9b334a45a8ff 271 AVR8_PART_IS_DEFINED(ATxmega64C3) || \
bogdanm 0:9b334a45a8ff 272 AVR8_PART_IS_DEFINED(ATxmega32C3) \
bogdanm 0:9b334a45a8ff 273 )
bogdanm 0:9b334a45a8ff 274
bogdanm 0:9b334a45a8ff 275 #define XMEGA_C4 ( \
bogdanm 0:9b334a45a8ff 276 AVR8_PART_IS_DEFINED(ATxmega32C4) || \
bogdanm 0:9b334a45a8ff 277 AVR8_PART_IS_DEFINED(ATxmega16C4) \
bogdanm 0:9b334a45a8ff 278 )
bogdanm 0:9b334a45a8ff 279 /** @} */
bogdanm 0:9b334a45a8ff 280
bogdanm 0:9b334a45a8ff 281 /**
bogdanm 0:9b334a45a8ff 282 * \name AVR XMEGA D series
bogdanm 0:9b334a45a8ff 283 * @{
bogdanm 0:9b334a45a8ff 284 */
bogdanm 0:9b334a45a8ff 285 #define XMEGA_D3 ( \
bogdanm 0:9b334a45a8ff 286 AVR8_PART_IS_DEFINED(ATxmega32D3) || \
bogdanm 0:9b334a45a8ff 287 AVR8_PART_IS_DEFINED(ATxmega64D3) || \
bogdanm 0:9b334a45a8ff 288 AVR8_PART_IS_DEFINED(ATxmega128D3) || \
bogdanm 0:9b334a45a8ff 289 AVR8_PART_IS_DEFINED(ATxmega192D3) || \
bogdanm 0:9b334a45a8ff 290 AVR8_PART_IS_DEFINED(ATxmega256D3) || \
bogdanm 0:9b334a45a8ff 291 AVR8_PART_IS_DEFINED(ATxmega384D3) \
bogdanm 0:9b334a45a8ff 292 )
bogdanm 0:9b334a45a8ff 293
bogdanm 0:9b334a45a8ff 294 #define XMEGA_D4 ( \
bogdanm 0:9b334a45a8ff 295 AVR8_PART_IS_DEFINED(ATxmega16D4) || \
bogdanm 0:9b334a45a8ff 296 AVR8_PART_IS_DEFINED(ATxmega32D4) || \
bogdanm 0:9b334a45a8ff 297 AVR8_PART_IS_DEFINED(ATxmega64D4) || \
bogdanm 0:9b334a45a8ff 298 AVR8_PART_IS_DEFINED(ATxmega128D4) \
bogdanm 0:9b334a45a8ff 299 )
bogdanm 0:9b334a45a8ff 300 /** @} */
bogdanm 0:9b334a45a8ff 301
bogdanm 0:9b334a45a8ff 302 /**
bogdanm 0:9b334a45a8ff 303 * \name AVR XMEGA E series
bogdanm 0:9b334a45a8ff 304 * @{
bogdanm 0:9b334a45a8ff 305 */
bogdanm 0:9b334a45a8ff 306 #define XMEGA_E5 ( \
bogdanm 0:9b334a45a8ff 307 AVR8_PART_IS_DEFINED(ATxmega8E5) || \
bogdanm 0:9b334a45a8ff 308 AVR8_PART_IS_DEFINED(ATxmega16E5) || \
bogdanm 0:9b334a45a8ff 309 AVR8_PART_IS_DEFINED(ATxmega32E5) \
bogdanm 0:9b334a45a8ff 310 )
bogdanm 0:9b334a45a8ff 311 /** @} */
bogdanm 0:9b334a45a8ff 312
bogdanm 0:9b334a45a8ff 313
bogdanm 0:9b334a45a8ff 314 /**
bogdanm 0:9b334a45a8ff 315 * \name AVR XMEGA families
bogdanm 0:9b334a45a8ff 316 * @{
bogdanm 0:9b334a45a8ff 317 */
bogdanm 0:9b334a45a8ff 318 /** AVR XMEGA A family */
bogdanm 0:9b334a45a8ff 319 #define XMEGA_A (XMEGA_A1 || XMEGA_A3 || XMEGA_A3B || XMEGA_A4)
bogdanm 0:9b334a45a8ff 320
bogdanm 0:9b334a45a8ff 321 /** AVR XMEGA AU family */
bogdanm 0:9b334a45a8ff 322 #define XMEGA_AU (XMEGA_A1U || XMEGA_A3U || XMEGA_A3BU || XMEGA_A4U)
bogdanm 0:9b334a45a8ff 323
bogdanm 0:9b334a45a8ff 324 /** AVR XMEGA B family */
bogdanm 0:9b334a45a8ff 325 #define XMEGA_B (XMEGA_B1 || XMEGA_B3)
bogdanm 0:9b334a45a8ff 326
bogdanm 0:9b334a45a8ff 327 /** AVR XMEGA C family */
bogdanm 0:9b334a45a8ff 328 #define XMEGA_C (XMEGA_C3 || XMEGA_C4)
bogdanm 0:9b334a45a8ff 329
bogdanm 0:9b334a45a8ff 330 /** AVR XMEGA D family */
bogdanm 0:9b334a45a8ff 331 #define XMEGA_D (XMEGA_D3 || XMEGA_D4)
bogdanm 0:9b334a45a8ff 332
bogdanm 0:9b334a45a8ff 333 /** AVR XMEGA E family */
bogdanm 0:9b334a45a8ff 334 #define XMEGA_E (XMEGA_E5)
bogdanm 0:9b334a45a8ff 335 /** @} */
bogdanm 0:9b334a45a8ff 336
bogdanm 0:9b334a45a8ff 337
bogdanm 0:9b334a45a8ff 338 /** AVR XMEGA product line */
bogdanm 0:9b334a45a8ff 339 #define XMEGA (XMEGA_A || XMEGA_AU || XMEGA_B || XMEGA_C || XMEGA_D || XMEGA_E)
bogdanm 0:9b334a45a8ff 340
bogdanm 0:9b334a45a8ff 341 /** @} */
bogdanm 0:9b334a45a8ff 342
bogdanm 0:9b334a45a8ff 343 /**
bogdanm 0:9b334a45a8ff 344 * \defgroup mega_part_macros_group megaAVR parts
bogdanm 0:9b334a45a8ff 345 *
bogdanm 0:9b334a45a8ff 346 * \note These megaAVR groupings are based on the groups in AVR Libc for the
bogdanm 0:9b334a45a8ff 347 * part header files. They are not names of official megaAVR device series or
bogdanm 0:9b334a45a8ff 348 * families.
bogdanm 0:9b334a45a8ff 349 *
bogdanm 0:9b334a45a8ff 350 * @{
bogdanm 0:9b334a45a8ff 351 */
bogdanm 0:9b334a45a8ff 352
bogdanm 0:9b334a45a8ff 353 /**
bogdanm 0:9b334a45a8ff 354 * \name ATmegaxx0/xx1 subgroups
bogdanm 0:9b334a45a8ff 355 * @{
bogdanm 0:9b334a45a8ff 356 */
bogdanm 0:9b334a45a8ff 357 #define MEGA_XX0 ( \
bogdanm 0:9b334a45a8ff 358 AVR8_PART_IS_DEFINED(ATmega640) || \
bogdanm 0:9b334a45a8ff 359 AVR8_PART_IS_DEFINED(ATmega1280) || \
bogdanm 0:9b334a45a8ff 360 AVR8_PART_IS_DEFINED(ATmega2560) \
bogdanm 0:9b334a45a8ff 361 )
bogdanm 0:9b334a45a8ff 362
bogdanm 0:9b334a45a8ff 363 #define MEGA_XX1 ( \
bogdanm 0:9b334a45a8ff 364 AVR8_PART_IS_DEFINED(ATmega1281) || \
bogdanm 0:9b334a45a8ff 365 AVR8_PART_IS_DEFINED(ATmega2561) \
bogdanm 0:9b334a45a8ff 366 )
bogdanm 0:9b334a45a8ff 367 /** @} */
bogdanm 0:9b334a45a8ff 368
bogdanm 0:9b334a45a8ff 369 /**
bogdanm 0:9b334a45a8ff 370 * \name megaAVR groups
bogdanm 0:9b334a45a8ff 371 * @{
bogdanm 0:9b334a45a8ff 372 */
bogdanm 0:9b334a45a8ff 373 /** ATmegaxx0/xx1 group */
bogdanm 0:9b334a45a8ff 374 #define MEGA_XX0_1 (MEGA_XX0 || MEGA_XX1)
bogdanm 0:9b334a45a8ff 375
bogdanm 0:9b334a45a8ff 376 /** ATmegaxx4 group */
bogdanm 0:9b334a45a8ff 377 #define MEGA_XX4 ( \
bogdanm 0:9b334a45a8ff 378 AVR8_PART_IS_DEFINED(ATmega164A) || \
bogdanm 0:9b334a45a8ff 379 AVR8_PART_IS_DEFINED(ATmega164PA) || \
bogdanm 0:9b334a45a8ff 380 AVR8_PART_IS_DEFINED(ATmega324A) || \
bogdanm 0:9b334a45a8ff 381 AVR8_PART_IS_DEFINED(ATmega324PA) || \
bogdanm 0:9b334a45a8ff 382 AVR8_PART_IS_DEFINED(ATmega644) || \
bogdanm 0:9b334a45a8ff 383 AVR8_PART_IS_DEFINED(ATmega644A) || \
bogdanm 0:9b334a45a8ff 384 AVR8_PART_IS_DEFINED(ATmega644PA) || \
bogdanm 0:9b334a45a8ff 385 AVR8_PART_IS_DEFINED(ATmega1284P) || \
bogdanm 0:9b334a45a8ff 386 AVR8_PART_IS_DEFINED(ATmega128RFA1) \
bogdanm 0:9b334a45a8ff 387 )
bogdanm 0:9b334a45a8ff 388
bogdanm 0:9b334a45a8ff 389 /** ATmegaxx4 group */
bogdanm 0:9b334a45a8ff 390 #define MEGA_XX4_A ( \
bogdanm 0:9b334a45a8ff 391 AVR8_PART_IS_DEFINED(ATmega164A) || \
bogdanm 0:9b334a45a8ff 392 AVR8_PART_IS_DEFINED(ATmega164PA) || \
bogdanm 0:9b334a45a8ff 393 AVR8_PART_IS_DEFINED(ATmega324A) || \
bogdanm 0:9b334a45a8ff 394 AVR8_PART_IS_DEFINED(ATmega324PA) || \
bogdanm 0:9b334a45a8ff 395 AVR8_PART_IS_DEFINED(ATmega644A) || \
bogdanm 0:9b334a45a8ff 396 AVR8_PART_IS_DEFINED(ATmega644PA) || \
bogdanm 0:9b334a45a8ff 397 AVR8_PART_IS_DEFINED(ATmega1284P) \
bogdanm 0:9b334a45a8ff 398 )
bogdanm 0:9b334a45a8ff 399
bogdanm 0:9b334a45a8ff 400 /** ATmegaxx8 group */
bogdanm 0:9b334a45a8ff 401 #define MEGA_XX8 ( \
bogdanm 0:9b334a45a8ff 402 AVR8_PART_IS_DEFINED(ATmega48) || \
bogdanm 0:9b334a45a8ff 403 AVR8_PART_IS_DEFINED(ATmega48A) || \
bogdanm 0:9b334a45a8ff 404 AVR8_PART_IS_DEFINED(ATmega48PA) || \
bogdanm 0:9b334a45a8ff 405 AVR8_PART_IS_DEFINED(ATmega88) || \
bogdanm 0:9b334a45a8ff 406 AVR8_PART_IS_DEFINED(ATmega88A) || \
bogdanm 0:9b334a45a8ff 407 AVR8_PART_IS_DEFINED(ATmega88PA) || \
bogdanm 0:9b334a45a8ff 408 AVR8_PART_IS_DEFINED(ATmega168) || \
bogdanm 0:9b334a45a8ff 409 AVR8_PART_IS_DEFINED(ATmega168A) || \
bogdanm 0:9b334a45a8ff 410 AVR8_PART_IS_DEFINED(ATmega168PA) || \
bogdanm 0:9b334a45a8ff 411 AVR8_PART_IS_DEFINED(ATmega328) || \
bogdanm 0:9b334a45a8ff 412 AVR8_PART_IS_DEFINED(ATmega328P) \
bogdanm 0:9b334a45a8ff 413 )
bogdanm 0:9b334a45a8ff 414
bogdanm 0:9b334a45a8ff 415 /** ATmegaxx8A/P/PA group */
bogdanm 0:9b334a45a8ff 416 #define MEGA_XX8_A ( \
bogdanm 0:9b334a45a8ff 417 AVR8_PART_IS_DEFINED(ATmega48A) || \
bogdanm 0:9b334a45a8ff 418 AVR8_PART_IS_DEFINED(ATmega48PA) || \
bogdanm 0:9b334a45a8ff 419 AVR8_PART_IS_DEFINED(ATmega88A) || \
bogdanm 0:9b334a45a8ff 420 AVR8_PART_IS_DEFINED(ATmega88PA) || \
bogdanm 0:9b334a45a8ff 421 AVR8_PART_IS_DEFINED(ATmega168A) || \
bogdanm 0:9b334a45a8ff 422 AVR8_PART_IS_DEFINED(ATmega168PA) || \
bogdanm 0:9b334a45a8ff 423 AVR8_PART_IS_DEFINED(ATmega328P) \
bogdanm 0:9b334a45a8ff 424 )
bogdanm 0:9b334a45a8ff 425
bogdanm 0:9b334a45a8ff 426 /** ATmegaxx group */
bogdanm 0:9b334a45a8ff 427 #define MEGA_XX ( \
bogdanm 0:9b334a45a8ff 428 AVR8_PART_IS_DEFINED(ATmega16) || \
bogdanm 0:9b334a45a8ff 429 AVR8_PART_IS_DEFINED(ATmega16A) || \
bogdanm 0:9b334a45a8ff 430 AVR8_PART_IS_DEFINED(ATmega32) || \
bogdanm 0:9b334a45a8ff 431 AVR8_PART_IS_DEFINED(ATmega32A) || \
bogdanm 0:9b334a45a8ff 432 AVR8_PART_IS_DEFINED(ATmega64) || \
bogdanm 0:9b334a45a8ff 433 AVR8_PART_IS_DEFINED(ATmega64A) || \
bogdanm 0:9b334a45a8ff 434 AVR8_PART_IS_DEFINED(ATmega128) || \
bogdanm 0:9b334a45a8ff 435 AVR8_PART_IS_DEFINED(ATmega128A) \
bogdanm 0:9b334a45a8ff 436 )
bogdanm 0:9b334a45a8ff 437
bogdanm 0:9b334a45a8ff 438 /** ATmegaxxA/P/PA group */
bogdanm 0:9b334a45a8ff 439 #define MEGA_XX_A ( \
bogdanm 0:9b334a45a8ff 440 AVR8_PART_IS_DEFINED(ATmega16A) || \
bogdanm 0:9b334a45a8ff 441 AVR8_PART_IS_DEFINED(ATmega32A) || \
bogdanm 0:9b334a45a8ff 442 AVR8_PART_IS_DEFINED(ATmega64A) || \
bogdanm 0:9b334a45a8ff 443 AVR8_PART_IS_DEFINED(ATmega128A) \
bogdanm 0:9b334a45a8ff 444 )
bogdanm 0:9b334a45a8ff 445 /** ATmegaxxRFA1 group */
bogdanm 0:9b334a45a8ff 446 #define MEGA_RFA1 ( \
bogdanm 0:9b334a45a8ff 447 AVR8_PART_IS_DEFINED(ATmega128RFA1) \
bogdanm 0:9b334a45a8ff 448 )
bogdanm 0:9b334a45a8ff 449
bogdanm 0:9b334a45a8ff 450 /** ATmegaxxRFR2 group */
bogdanm 0:9b334a45a8ff 451 #define MEGA_RFR2 ( \
bogdanm 0:9b334a45a8ff 452 AVR8_PART_IS_DEFINED(ATmega64RFR2) || \
bogdanm 0:9b334a45a8ff 453 AVR8_PART_IS_DEFINED(ATmega128RFR2) || \
bogdanm 0:9b334a45a8ff 454 AVR8_PART_IS_DEFINED(ATmega256RFR2) || \
bogdanm 0:9b334a45a8ff 455 AVR8_PART_IS_DEFINED(ATmega644RFR2) || \
bogdanm 0:9b334a45a8ff 456 AVR8_PART_IS_DEFINED(ATmega1284RFR2) || \
bogdanm 0:9b334a45a8ff 457 AVR8_PART_IS_DEFINED(ATmega2564RFR2) \
bogdanm 0:9b334a45a8ff 458 )
bogdanm 0:9b334a45a8ff 459
bogdanm 0:9b334a45a8ff 460
bogdanm 0:9b334a45a8ff 461 /** ATmegaxxRFxx group */
bogdanm 0:9b334a45a8ff 462 #define MEGA_RF (MEGA_RFA1 || MEGA_RFR2)
bogdanm 0:9b334a45a8ff 463
bogdanm 0:9b334a45a8ff 464 /**
bogdanm 0:9b334a45a8ff 465 * \name ATmegaxx_un0/un1/un2 subgroups
bogdanm 0:9b334a45a8ff 466 * @{
bogdanm 0:9b334a45a8ff 467 */
bogdanm 0:9b334a45a8ff 468 #define MEGA_XX_UN0 ( \
bogdanm 0:9b334a45a8ff 469 AVR8_PART_IS_DEFINED(ATmega16) || \
bogdanm 0:9b334a45a8ff 470 AVR8_PART_IS_DEFINED(ATmega16A) || \
bogdanm 0:9b334a45a8ff 471 AVR8_PART_IS_DEFINED(ATmega32) || \
bogdanm 0:9b334a45a8ff 472 AVR8_PART_IS_DEFINED(ATmega32A) \
bogdanm 0:9b334a45a8ff 473 )
bogdanm 0:9b334a45a8ff 474
bogdanm 0:9b334a45a8ff 475 /** ATmegaxx group without power reduction and
bogdanm 0:9b334a45a8ff 476 * And interrupt sense register.
bogdanm 0:9b334a45a8ff 477 */
bogdanm 0:9b334a45a8ff 478 #define MEGA_XX_UN1 ( \
bogdanm 0:9b334a45a8ff 479 AVR8_PART_IS_DEFINED(ATmega64) || \
bogdanm 0:9b334a45a8ff 480 AVR8_PART_IS_DEFINED(ATmega64A) || \
bogdanm 0:9b334a45a8ff 481 AVR8_PART_IS_DEFINED(ATmega128) || \
bogdanm 0:9b334a45a8ff 482 AVR8_PART_IS_DEFINED(ATmega128A) \
bogdanm 0:9b334a45a8ff 483 )
bogdanm 0:9b334a45a8ff 484
bogdanm 0:9b334a45a8ff 485 /** ATmegaxx group without power reduction and
bogdanm 0:9b334a45a8ff 486 * And interrupt sense register.
bogdanm 0:9b334a45a8ff 487 */
bogdanm 0:9b334a45a8ff 488 #define MEGA_XX_UN2 ( \
bogdanm 0:9b334a45a8ff 489 AVR8_PART_IS_DEFINED(ATmega169P) || \
bogdanm 0:9b334a45a8ff 490 AVR8_PART_IS_DEFINED(ATmega169PA) || \
bogdanm 0:9b334a45a8ff 491 AVR8_PART_IS_DEFINED(ATmega329P) || \
bogdanm 0:9b334a45a8ff 492 AVR8_PART_IS_DEFINED(ATmega329PA) \
bogdanm 0:9b334a45a8ff 493 )
bogdanm 0:9b334a45a8ff 494
bogdanm 0:9b334a45a8ff 495 /** Devices added to complete megaAVR offering.
bogdanm 0:9b334a45a8ff 496 * Please do not use this group symbol as it is not intended
bogdanm 0:9b334a45a8ff 497 * to be permanent: the devices should be regrouped.
bogdanm 0:9b334a45a8ff 498 */
bogdanm 0:9b334a45a8ff 499 #define MEGA_UNCATEGORIZED ( \
bogdanm 0:9b334a45a8ff 500 AVR8_PART_IS_DEFINED(AT90CAN128) || \
bogdanm 0:9b334a45a8ff 501 AVR8_PART_IS_DEFINED(AT90CAN32) || \
bogdanm 0:9b334a45a8ff 502 AVR8_PART_IS_DEFINED(AT90CAN64) || \
bogdanm 0:9b334a45a8ff 503 AVR8_PART_IS_DEFINED(AT90PWM1) || \
bogdanm 0:9b334a45a8ff 504 AVR8_PART_IS_DEFINED(AT90PWM216) || \
bogdanm 0:9b334a45a8ff 505 AVR8_PART_IS_DEFINED(AT90PWM2B) || \
bogdanm 0:9b334a45a8ff 506 AVR8_PART_IS_DEFINED(AT90PWM316) || \
bogdanm 0:9b334a45a8ff 507 AVR8_PART_IS_DEFINED(AT90PWM3B) || \
bogdanm 0:9b334a45a8ff 508 AVR8_PART_IS_DEFINED(AT90PWM81) || \
bogdanm 0:9b334a45a8ff 509 AVR8_PART_IS_DEFINED(AT90USB1286) || \
bogdanm 0:9b334a45a8ff 510 AVR8_PART_IS_DEFINED(AT90USB1287) || \
bogdanm 0:9b334a45a8ff 511 AVR8_PART_IS_DEFINED(AT90USB162) || \
bogdanm 0:9b334a45a8ff 512 AVR8_PART_IS_DEFINED(AT90USB646) || \
bogdanm 0:9b334a45a8ff 513 AVR8_PART_IS_DEFINED(AT90USB647) || \
bogdanm 0:9b334a45a8ff 514 AVR8_PART_IS_DEFINED(AT90USB82) || \
bogdanm 0:9b334a45a8ff 515 AVR8_PART_IS_DEFINED(ATmega1284) || \
bogdanm 0:9b334a45a8ff 516 AVR8_PART_IS_DEFINED(ATmega162) || \
bogdanm 0:9b334a45a8ff 517 AVR8_PART_IS_DEFINED(ATmega164P) || \
bogdanm 0:9b334a45a8ff 518 AVR8_PART_IS_DEFINED(ATmega165A) || \
bogdanm 0:9b334a45a8ff 519 AVR8_PART_IS_DEFINED(ATmega165P) || \
bogdanm 0:9b334a45a8ff 520 AVR8_PART_IS_DEFINED(ATmega165PA) || \
bogdanm 0:9b334a45a8ff 521 AVR8_PART_IS_DEFINED(ATmega168P) || \
bogdanm 0:9b334a45a8ff 522 AVR8_PART_IS_DEFINED(ATmega169A) || \
bogdanm 0:9b334a45a8ff 523 AVR8_PART_IS_DEFINED(ATmega16M1) || \
bogdanm 0:9b334a45a8ff 524 AVR8_PART_IS_DEFINED(ATmega16U2) || \
bogdanm 0:9b334a45a8ff 525 AVR8_PART_IS_DEFINED(ATmega16U4) || \
bogdanm 0:9b334a45a8ff 526 AVR8_PART_IS_DEFINED(ATmega256RFA2) || \
bogdanm 0:9b334a45a8ff 527 AVR8_PART_IS_DEFINED(ATmega324P) || \
bogdanm 0:9b334a45a8ff 528 AVR8_PART_IS_DEFINED(ATmega325) || \
bogdanm 0:9b334a45a8ff 529 AVR8_PART_IS_DEFINED(ATmega3250) || \
bogdanm 0:9b334a45a8ff 530 AVR8_PART_IS_DEFINED(ATmega3250A) || \
bogdanm 0:9b334a45a8ff 531 AVR8_PART_IS_DEFINED(ATmega3250P) || \
bogdanm 0:9b334a45a8ff 532 AVR8_PART_IS_DEFINED(ATmega3250PA) || \
bogdanm 0:9b334a45a8ff 533 AVR8_PART_IS_DEFINED(ATmega325A) || \
bogdanm 0:9b334a45a8ff 534 AVR8_PART_IS_DEFINED(ATmega325P) || \
bogdanm 0:9b334a45a8ff 535 AVR8_PART_IS_DEFINED(ATmega325PA) || \
bogdanm 0:9b334a45a8ff 536 AVR8_PART_IS_DEFINED(ATmega329) || \
bogdanm 0:9b334a45a8ff 537 AVR8_PART_IS_DEFINED(ATmega3290) || \
bogdanm 0:9b334a45a8ff 538 AVR8_PART_IS_DEFINED(ATmega3290A) || \
bogdanm 0:9b334a45a8ff 539 AVR8_PART_IS_DEFINED(ATmega3290P) || \
bogdanm 0:9b334a45a8ff 540 AVR8_PART_IS_DEFINED(ATmega3290PA) || \
bogdanm 0:9b334a45a8ff 541 AVR8_PART_IS_DEFINED(ATmega329A) || \
bogdanm 0:9b334a45a8ff 542 AVR8_PART_IS_DEFINED(ATmega32M1) || \
bogdanm 0:9b334a45a8ff 543 AVR8_PART_IS_DEFINED(ATmega32U2) || \
bogdanm 0:9b334a45a8ff 544 AVR8_PART_IS_DEFINED(ATmega32U4) || \
bogdanm 0:9b334a45a8ff 545 AVR8_PART_IS_DEFINED(ATmega48P) || \
bogdanm 0:9b334a45a8ff 546 AVR8_PART_IS_DEFINED(ATmega644P) || \
bogdanm 0:9b334a45a8ff 547 AVR8_PART_IS_DEFINED(ATmega645) || \
bogdanm 0:9b334a45a8ff 548 AVR8_PART_IS_DEFINED(ATmega6450) || \
bogdanm 0:9b334a45a8ff 549 AVR8_PART_IS_DEFINED(ATmega6450A) || \
bogdanm 0:9b334a45a8ff 550 AVR8_PART_IS_DEFINED(ATmega6450P) || \
bogdanm 0:9b334a45a8ff 551 AVR8_PART_IS_DEFINED(ATmega645A) || \
bogdanm 0:9b334a45a8ff 552 AVR8_PART_IS_DEFINED(ATmega645P) || \
bogdanm 0:9b334a45a8ff 553 AVR8_PART_IS_DEFINED(ATmega649) || \
bogdanm 0:9b334a45a8ff 554 AVR8_PART_IS_DEFINED(ATmega6490) || \
bogdanm 0:9b334a45a8ff 555 AVR8_PART_IS_DEFINED(ATmega6490A) || \
bogdanm 0:9b334a45a8ff 556 AVR8_PART_IS_DEFINED(ATmega6490P) || \
bogdanm 0:9b334a45a8ff 557 AVR8_PART_IS_DEFINED(ATmega649A) || \
bogdanm 0:9b334a45a8ff 558 AVR8_PART_IS_DEFINED(ATmega649P) || \
bogdanm 0:9b334a45a8ff 559 AVR8_PART_IS_DEFINED(ATmega64M1) || \
bogdanm 0:9b334a45a8ff 560 AVR8_PART_IS_DEFINED(ATmega64RFA2) || \
bogdanm 0:9b334a45a8ff 561 AVR8_PART_IS_DEFINED(ATmega8) || \
bogdanm 0:9b334a45a8ff 562 AVR8_PART_IS_DEFINED(ATmega8515) || \
bogdanm 0:9b334a45a8ff 563 AVR8_PART_IS_DEFINED(ATmega8535) || \
bogdanm 0:9b334a45a8ff 564 AVR8_PART_IS_DEFINED(ATmega88P) || \
bogdanm 0:9b334a45a8ff 565 AVR8_PART_IS_DEFINED(ATmega8A) || \
bogdanm 0:9b334a45a8ff 566 AVR8_PART_IS_DEFINED(ATmega8U2) \
bogdanm 0:9b334a45a8ff 567 )
bogdanm 0:9b334a45a8ff 568
bogdanm 0:9b334a45a8ff 569 /** Unspecified group */
bogdanm 0:9b334a45a8ff 570 #define MEGA_UNSPECIFIED (MEGA_XX_UN0 || MEGA_XX_UN1 || MEGA_XX_UN2 || \
bogdanm 0:9b334a45a8ff 571 MEGA_UNCATEGORIZED)
bogdanm 0:9b334a45a8ff 572
bogdanm 0:9b334a45a8ff 573 /** @} */
bogdanm 0:9b334a45a8ff 574
bogdanm 0:9b334a45a8ff 575 /** megaAVR product line */
bogdanm 0:9b334a45a8ff 576 #define MEGA (MEGA_XX0_1 || MEGA_XX4 || MEGA_XX8 || MEGA_XX || MEGA_RF || \
bogdanm 0:9b334a45a8ff 577 MEGA_UNSPECIFIED)
bogdanm 0:9b334a45a8ff 578
bogdanm 0:9b334a45a8ff 579 /** @} */
bogdanm 0:9b334a45a8ff 580
bogdanm 0:9b334a45a8ff 581 /**
bogdanm 0:9b334a45a8ff 582 * \defgroup tiny_part_macros_group tinyAVR parts
bogdanm 0:9b334a45a8ff 583 *
bogdanm 0:9b334a45a8ff 584 * @{
bogdanm 0:9b334a45a8ff 585 */
bogdanm 0:9b334a45a8ff 586
bogdanm 0:9b334a45a8ff 587 /**
bogdanm 0:9b334a45a8ff 588 * \name tinyAVR groups
bogdanm 0:9b334a45a8ff 589 * @{
bogdanm 0:9b334a45a8ff 590 */
bogdanm 0:9b334a45a8ff 591
bogdanm 0:9b334a45a8ff 592 /** Devices added to complete tinyAVR offering.
bogdanm 0:9b334a45a8ff 593 * Please do not use this group symbol as it is not intended
bogdanm 0:9b334a45a8ff 594 * to be permanent: the devices should be regrouped.
bogdanm 0:9b334a45a8ff 595 */
bogdanm 0:9b334a45a8ff 596 #define TINY_UNCATEGORIZED ( \
bogdanm 0:9b334a45a8ff 597 AVR8_PART_IS_DEFINED(ATtiny10) || \
bogdanm 0:9b334a45a8ff 598 AVR8_PART_IS_DEFINED(ATtiny13) || \
bogdanm 0:9b334a45a8ff 599 AVR8_PART_IS_DEFINED(ATtiny13A) || \
bogdanm 0:9b334a45a8ff 600 AVR8_PART_IS_DEFINED(ATtiny1634) || \
bogdanm 0:9b334a45a8ff 601 AVR8_PART_IS_DEFINED(ATtiny167) || \
bogdanm 0:9b334a45a8ff 602 AVR8_PART_IS_DEFINED(ATtiny20) || \
bogdanm 0:9b334a45a8ff 603 AVR8_PART_IS_DEFINED(ATtiny2313) || \
bogdanm 0:9b334a45a8ff 604 AVR8_PART_IS_DEFINED(ATtiny2313A) || \
bogdanm 0:9b334a45a8ff 605 AVR8_PART_IS_DEFINED(ATtiny24) || \
bogdanm 0:9b334a45a8ff 606 AVR8_PART_IS_DEFINED(ATtiny24A) || \
bogdanm 0:9b334a45a8ff 607 AVR8_PART_IS_DEFINED(ATtiny25) || \
bogdanm 0:9b334a45a8ff 608 AVR8_PART_IS_DEFINED(ATtiny26) || \
bogdanm 0:9b334a45a8ff 609 AVR8_PART_IS_DEFINED(ATtiny261) || \
bogdanm 0:9b334a45a8ff 610 AVR8_PART_IS_DEFINED(ATtiny261A) || \
bogdanm 0:9b334a45a8ff 611 AVR8_PART_IS_DEFINED(ATtiny4) || \
bogdanm 0:9b334a45a8ff 612 AVR8_PART_IS_DEFINED(ATtiny40) || \
bogdanm 0:9b334a45a8ff 613 AVR8_PART_IS_DEFINED(ATtiny4313) || \
bogdanm 0:9b334a45a8ff 614 AVR8_PART_IS_DEFINED(ATtiny43U) || \
bogdanm 0:9b334a45a8ff 615 AVR8_PART_IS_DEFINED(ATtiny44) || \
bogdanm 0:9b334a45a8ff 616 AVR8_PART_IS_DEFINED(ATtiny44A) || \
bogdanm 0:9b334a45a8ff 617 AVR8_PART_IS_DEFINED(ATtiny45) || \
bogdanm 0:9b334a45a8ff 618 AVR8_PART_IS_DEFINED(ATtiny461) || \
bogdanm 0:9b334a45a8ff 619 AVR8_PART_IS_DEFINED(ATtiny461A) || \
bogdanm 0:9b334a45a8ff 620 AVR8_PART_IS_DEFINED(ATtiny48) || \
bogdanm 0:9b334a45a8ff 621 AVR8_PART_IS_DEFINED(ATtiny5) || \
bogdanm 0:9b334a45a8ff 622 AVR8_PART_IS_DEFINED(ATtiny828) || \
bogdanm 0:9b334a45a8ff 623 AVR8_PART_IS_DEFINED(ATtiny84) || \
bogdanm 0:9b334a45a8ff 624 AVR8_PART_IS_DEFINED(ATtiny84A) || \
bogdanm 0:9b334a45a8ff 625 AVR8_PART_IS_DEFINED(ATtiny85) || \
bogdanm 0:9b334a45a8ff 626 AVR8_PART_IS_DEFINED(ATtiny861) || \
bogdanm 0:9b334a45a8ff 627 AVR8_PART_IS_DEFINED(ATtiny861A) || \
bogdanm 0:9b334a45a8ff 628 AVR8_PART_IS_DEFINED(ATtiny87) || \
bogdanm 0:9b334a45a8ff 629 AVR8_PART_IS_DEFINED(ATtiny88) || \
bogdanm 0:9b334a45a8ff 630 AVR8_PART_IS_DEFINED(ATtiny9) \
bogdanm 0:9b334a45a8ff 631 )
bogdanm 0:9b334a45a8ff 632
bogdanm 0:9b334a45a8ff 633 /** @} */
bogdanm 0:9b334a45a8ff 634
bogdanm 0:9b334a45a8ff 635 /** tinyAVR product line */
bogdanm 0:9b334a45a8ff 636 #define TINY (TINY_UNCATEGORIZED)
bogdanm 0:9b334a45a8ff 637
bogdanm 0:9b334a45a8ff 638 /** @} */
bogdanm 0:9b334a45a8ff 639
bogdanm 0:9b334a45a8ff 640 /**
bogdanm 0:9b334a45a8ff 641 * \defgroup sam_part_macros_group SAM parts
bogdanm 0:9b334a45a8ff 642 * @{
bogdanm 0:9b334a45a8ff 643 */
bogdanm 0:9b334a45a8ff 644
bogdanm 0:9b334a45a8ff 645 /**
bogdanm 0:9b334a45a8ff 646 * \name SAM3S series
bogdanm 0:9b334a45a8ff 647 * @{
bogdanm 0:9b334a45a8ff 648 */
bogdanm 0:9b334a45a8ff 649 #define SAM3S1 ( \
bogdanm 0:9b334a45a8ff 650 SAM_PART_IS_DEFINED(SAM3S1A) || \
bogdanm 0:9b334a45a8ff 651 SAM_PART_IS_DEFINED(SAM3S1B) || \
bogdanm 0:9b334a45a8ff 652 SAM_PART_IS_DEFINED(SAM3S1C) \
bogdanm 0:9b334a45a8ff 653 )
bogdanm 0:9b334a45a8ff 654
bogdanm 0:9b334a45a8ff 655 #define SAM3S2 ( \
bogdanm 0:9b334a45a8ff 656 SAM_PART_IS_DEFINED(SAM3S2A) || \
bogdanm 0:9b334a45a8ff 657 SAM_PART_IS_DEFINED(SAM3S2B) || \
bogdanm 0:9b334a45a8ff 658 SAM_PART_IS_DEFINED(SAM3S2C) \
bogdanm 0:9b334a45a8ff 659 )
bogdanm 0:9b334a45a8ff 660
bogdanm 0:9b334a45a8ff 661 #define SAM3S4 ( \
bogdanm 0:9b334a45a8ff 662 SAM_PART_IS_DEFINED(SAM3S4A) || \
bogdanm 0:9b334a45a8ff 663 SAM_PART_IS_DEFINED(SAM3S4B) || \
bogdanm 0:9b334a45a8ff 664 SAM_PART_IS_DEFINED(SAM3S4C) \
bogdanm 0:9b334a45a8ff 665 )
bogdanm 0:9b334a45a8ff 666
bogdanm 0:9b334a45a8ff 667 #define SAM3S8 ( \
bogdanm 0:9b334a45a8ff 668 SAM_PART_IS_DEFINED(SAM3S8B) || \
bogdanm 0:9b334a45a8ff 669 SAM_PART_IS_DEFINED(SAM3S8C) \
bogdanm 0:9b334a45a8ff 670 )
bogdanm 0:9b334a45a8ff 671
bogdanm 0:9b334a45a8ff 672 #define SAM3SD8 ( \
bogdanm 0:9b334a45a8ff 673 SAM_PART_IS_DEFINED(SAM3SD8B) || \
bogdanm 0:9b334a45a8ff 674 SAM_PART_IS_DEFINED(SAM3SD8C) \
bogdanm 0:9b334a45a8ff 675 )
bogdanm 0:9b334a45a8ff 676 /** @} */
bogdanm 0:9b334a45a8ff 677
bogdanm 0:9b334a45a8ff 678 /**
bogdanm 0:9b334a45a8ff 679 * \name SAM3U series
bogdanm 0:9b334a45a8ff 680 * @{
bogdanm 0:9b334a45a8ff 681 */
bogdanm 0:9b334a45a8ff 682 #define SAM3U1 ( \
bogdanm 0:9b334a45a8ff 683 SAM_PART_IS_DEFINED(SAM3U1C) || \
bogdanm 0:9b334a45a8ff 684 SAM_PART_IS_DEFINED(SAM3U1E) \
bogdanm 0:9b334a45a8ff 685 )
bogdanm 0:9b334a45a8ff 686
bogdanm 0:9b334a45a8ff 687 #define SAM3U2 ( \
bogdanm 0:9b334a45a8ff 688 SAM_PART_IS_DEFINED(SAM3U2C) || \
bogdanm 0:9b334a45a8ff 689 SAM_PART_IS_DEFINED(SAM3U2E) \
bogdanm 0:9b334a45a8ff 690 )
bogdanm 0:9b334a45a8ff 691
bogdanm 0:9b334a45a8ff 692 #define SAM3U4 ( \
bogdanm 0:9b334a45a8ff 693 SAM_PART_IS_DEFINED(SAM3U4C) || \
bogdanm 0:9b334a45a8ff 694 SAM_PART_IS_DEFINED(SAM3U4E) \
bogdanm 0:9b334a45a8ff 695 )
bogdanm 0:9b334a45a8ff 696 /** @} */
bogdanm 0:9b334a45a8ff 697
bogdanm 0:9b334a45a8ff 698 /**
bogdanm 0:9b334a45a8ff 699 * \name SAM3N series
bogdanm 0:9b334a45a8ff 700 * @{
bogdanm 0:9b334a45a8ff 701 */
bogdanm 0:9b334a45a8ff 702 #define SAM3N00 ( \
bogdanm 0:9b334a45a8ff 703 SAM_PART_IS_DEFINED(SAM3N00A) || \
bogdanm 0:9b334a45a8ff 704 SAM_PART_IS_DEFINED(SAM3N00B) \
bogdanm 0:9b334a45a8ff 705 )
bogdanm 0:9b334a45a8ff 706
bogdanm 0:9b334a45a8ff 707 #define SAM3N0 ( \
bogdanm 0:9b334a45a8ff 708 SAM_PART_IS_DEFINED(SAM3N0A) || \
bogdanm 0:9b334a45a8ff 709 SAM_PART_IS_DEFINED(SAM3N0B) || \
bogdanm 0:9b334a45a8ff 710 SAM_PART_IS_DEFINED(SAM3N0C) \
bogdanm 0:9b334a45a8ff 711 )
bogdanm 0:9b334a45a8ff 712
bogdanm 0:9b334a45a8ff 713 #define SAM3N1 ( \
bogdanm 0:9b334a45a8ff 714 SAM_PART_IS_DEFINED(SAM3N1A) || \
bogdanm 0:9b334a45a8ff 715 SAM_PART_IS_DEFINED(SAM3N1B) || \
bogdanm 0:9b334a45a8ff 716 SAM_PART_IS_DEFINED(SAM3N1C) \
bogdanm 0:9b334a45a8ff 717 )
bogdanm 0:9b334a45a8ff 718
bogdanm 0:9b334a45a8ff 719 #define SAM3N2 ( \
bogdanm 0:9b334a45a8ff 720 SAM_PART_IS_DEFINED(SAM3N2A) || \
bogdanm 0:9b334a45a8ff 721 SAM_PART_IS_DEFINED(SAM3N2B) || \
bogdanm 0:9b334a45a8ff 722 SAM_PART_IS_DEFINED(SAM3N2C) \
bogdanm 0:9b334a45a8ff 723 )
bogdanm 0:9b334a45a8ff 724
bogdanm 0:9b334a45a8ff 725 #define SAM3N4 ( \
bogdanm 0:9b334a45a8ff 726 SAM_PART_IS_DEFINED(SAM3N4A) || \
bogdanm 0:9b334a45a8ff 727 SAM_PART_IS_DEFINED(SAM3N4B) || \
bogdanm 0:9b334a45a8ff 728 SAM_PART_IS_DEFINED(SAM3N4C) \
bogdanm 0:9b334a45a8ff 729 )
bogdanm 0:9b334a45a8ff 730 /** @} */
bogdanm 0:9b334a45a8ff 731
bogdanm 0:9b334a45a8ff 732 /**
bogdanm 0:9b334a45a8ff 733 * \name SAM3X series
bogdanm 0:9b334a45a8ff 734 * @{
bogdanm 0:9b334a45a8ff 735 */
bogdanm 0:9b334a45a8ff 736 #define SAM3X4 ( \
bogdanm 0:9b334a45a8ff 737 SAM_PART_IS_DEFINED(SAM3X4C) || \
bogdanm 0:9b334a45a8ff 738 SAM_PART_IS_DEFINED(SAM3X4E) \
bogdanm 0:9b334a45a8ff 739 )
bogdanm 0:9b334a45a8ff 740
bogdanm 0:9b334a45a8ff 741 #define SAM3X8 ( \
bogdanm 0:9b334a45a8ff 742 SAM_PART_IS_DEFINED(SAM3X8C) || \
bogdanm 0:9b334a45a8ff 743 SAM_PART_IS_DEFINED(SAM3X8E) || \
bogdanm 0:9b334a45a8ff 744 SAM_PART_IS_DEFINED(SAM3X8H) \
bogdanm 0:9b334a45a8ff 745 )
bogdanm 0:9b334a45a8ff 746 /** @} */
bogdanm 0:9b334a45a8ff 747
bogdanm 0:9b334a45a8ff 748 /**
bogdanm 0:9b334a45a8ff 749 * \name SAM3A series
bogdanm 0:9b334a45a8ff 750 * @{
bogdanm 0:9b334a45a8ff 751 */
bogdanm 0:9b334a45a8ff 752 #define SAM3A4 ( \
bogdanm 0:9b334a45a8ff 753 SAM_PART_IS_DEFINED(SAM3A4C) \
bogdanm 0:9b334a45a8ff 754 )
bogdanm 0:9b334a45a8ff 755
bogdanm 0:9b334a45a8ff 756 #define SAM3A8 ( \
bogdanm 0:9b334a45a8ff 757 SAM_PART_IS_DEFINED(SAM3A8C) \
bogdanm 0:9b334a45a8ff 758 )
bogdanm 0:9b334a45a8ff 759 /** @} */
bogdanm 0:9b334a45a8ff 760
bogdanm 0:9b334a45a8ff 761 /**
bogdanm 0:9b334a45a8ff 762 * \name SAM4S series
bogdanm 0:9b334a45a8ff 763 * @{
bogdanm 0:9b334a45a8ff 764 */
bogdanm 0:9b334a45a8ff 765 #define SAM4S2 ( \
bogdanm 0:9b334a45a8ff 766 SAM_PART_IS_DEFINED(SAM4S2A) || \
bogdanm 0:9b334a45a8ff 767 SAM_PART_IS_DEFINED(SAM4S2B) || \
bogdanm 0:9b334a45a8ff 768 SAM_PART_IS_DEFINED(SAM4S2C) \
bogdanm 0:9b334a45a8ff 769 )
bogdanm 0:9b334a45a8ff 770
bogdanm 0:9b334a45a8ff 771 #define SAM4S4 ( \
bogdanm 0:9b334a45a8ff 772 SAM_PART_IS_DEFINED(SAM4S4A) || \
bogdanm 0:9b334a45a8ff 773 SAM_PART_IS_DEFINED(SAM4S4B) || \
bogdanm 0:9b334a45a8ff 774 SAM_PART_IS_DEFINED(SAM4S4C) \
bogdanm 0:9b334a45a8ff 775 )
bogdanm 0:9b334a45a8ff 776
bogdanm 0:9b334a45a8ff 777 #define SAM4S8 ( \
bogdanm 0:9b334a45a8ff 778 SAM_PART_IS_DEFINED(SAM4S8B) || \
bogdanm 0:9b334a45a8ff 779 SAM_PART_IS_DEFINED(SAM4S8C) \
bogdanm 0:9b334a45a8ff 780 )
bogdanm 0:9b334a45a8ff 781
bogdanm 0:9b334a45a8ff 782 #define SAM4S16 ( \
bogdanm 0:9b334a45a8ff 783 SAM_PART_IS_DEFINED(SAM4S16B) || \
bogdanm 0:9b334a45a8ff 784 SAM_PART_IS_DEFINED(SAM4S16C) \
bogdanm 0:9b334a45a8ff 785 )
bogdanm 0:9b334a45a8ff 786
bogdanm 0:9b334a45a8ff 787 #define SAM4SA16 ( \
bogdanm 0:9b334a45a8ff 788 SAM_PART_IS_DEFINED(SAM4SA16B) || \
bogdanm 0:9b334a45a8ff 789 SAM_PART_IS_DEFINED(SAM4SA16C) \
bogdanm 0:9b334a45a8ff 790 )
bogdanm 0:9b334a45a8ff 791
bogdanm 0:9b334a45a8ff 792 #define SAM4SD16 ( \
bogdanm 0:9b334a45a8ff 793 SAM_PART_IS_DEFINED(SAM4SD16B) || \
bogdanm 0:9b334a45a8ff 794 SAM_PART_IS_DEFINED(SAM4SD16C) \
bogdanm 0:9b334a45a8ff 795 )
bogdanm 0:9b334a45a8ff 796
bogdanm 0:9b334a45a8ff 797 #define SAM4SD32 ( \
bogdanm 0:9b334a45a8ff 798 SAM_PART_IS_DEFINED(SAM4SD32B) || \
bogdanm 0:9b334a45a8ff 799 SAM_PART_IS_DEFINED(SAM4SD32C) \
bogdanm 0:9b334a45a8ff 800 )
bogdanm 0:9b334a45a8ff 801 /** @} */
bogdanm 0:9b334a45a8ff 802
bogdanm 0:9b334a45a8ff 803 /**
bogdanm 0:9b334a45a8ff 804 * \name SAM4L series
bogdanm 0:9b334a45a8ff 805 * @{
bogdanm 0:9b334a45a8ff 806 */
bogdanm 0:9b334a45a8ff 807 #define SAM4LS ( \
bogdanm 0:9b334a45a8ff 808 SAM_PART_IS_DEFINED(SAM4LS2A) || \
bogdanm 0:9b334a45a8ff 809 SAM_PART_IS_DEFINED(SAM4LS2B) || \
bogdanm 0:9b334a45a8ff 810 SAM_PART_IS_DEFINED(SAM4LS2C) || \
bogdanm 0:9b334a45a8ff 811 SAM_PART_IS_DEFINED(SAM4LS4A) || \
bogdanm 0:9b334a45a8ff 812 SAM_PART_IS_DEFINED(SAM4LS4B) || \
bogdanm 0:9b334a45a8ff 813 SAM_PART_IS_DEFINED(SAM4LS4C) || \
bogdanm 0:9b334a45a8ff 814 SAM_PART_IS_DEFINED(SAM4LS8A) || \
bogdanm 0:9b334a45a8ff 815 SAM_PART_IS_DEFINED(SAM4LS8B) || \
bogdanm 0:9b334a45a8ff 816 SAM_PART_IS_DEFINED(SAM4LS8C) \
bogdanm 0:9b334a45a8ff 817 )
bogdanm 0:9b334a45a8ff 818
bogdanm 0:9b334a45a8ff 819 #define SAM4LC ( \
bogdanm 0:9b334a45a8ff 820 SAM_PART_IS_DEFINED(SAM4LC2A) || \
bogdanm 0:9b334a45a8ff 821 SAM_PART_IS_DEFINED(SAM4LC2B) || \
bogdanm 0:9b334a45a8ff 822 SAM_PART_IS_DEFINED(SAM4LC2C) || \
bogdanm 0:9b334a45a8ff 823 SAM_PART_IS_DEFINED(SAM4LC4A) || \
bogdanm 0:9b334a45a8ff 824 SAM_PART_IS_DEFINED(SAM4LC4B) || \
bogdanm 0:9b334a45a8ff 825 SAM_PART_IS_DEFINED(SAM4LC4C) || \
bogdanm 0:9b334a45a8ff 826 SAM_PART_IS_DEFINED(SAM4LC8A) || \
bogdanm 0:9b334a45a8ff 827 SAM_PART_IS_DEFINED(SAM4LC8B) || \
bogdanm 0:9b334a45a8ff 828 SAM_PART_IS_DEFINED(SAM4LC8C) \
bogdanm 0:9b334a45a8ff 829 )
bogdanm 0:9b334a45a8ff 830 /** @} */
bogdanm 0:9b334a45a8ff 831
bogdanm 0:9b334a45a8ff 832 /**
bogdanm 0:9b334a45a8ff 833 * \name SAMD20 series
bogdanm 0:9b334a45a8ff 834 * @{
bogdanm 0:9b334a45a8ff 835 */
bogdanm 0:9b334a45a8ff 836 #define SAMD20J ( \
bogdanm 0:9b334a45a8ff 837 SAM_PART_IS_DEFINED(SAMD20J14) || \
bogdanm 0:9b334a45a8ff 838 SAM_PART_IS_DEFINED(SAMD20J15) || \
bogdanm 0:9b334a45a8ff 839 SAM_PART_IS_DEFINED(SAMD20J16) || \
bogdanm 0:9b334a45a8ff 840 SAM_PART_IS_DEFINED(SAMD20J17) || \
bogdanm 0:9b334a45a8ff 841 SAM_PART_IS_DEFINED(SAMD20J18) \
bogdanm 0:9b334a45a8ff 842 )
bogdanm 0:9b334a45a8ff 843
bogdanm 0:9b334a45a8ff 844 #define SAMD20G ( \
bogdanm 0:9b334a45a8ff 845 SAM_PART_IS_DEFINED(SAMD20G14) || \
bogdanm 0:9b334a45a8ff 846 SAM_PART_IS_DEFINED(SAMD20G15) || \
bogdanm 0:9b334a45a8ff 847 SAM_PART_IS_DEFINED(SAMD20G16) || \
bogdanm 0:9b334a45a8ff 848 SAM_PART_IS_DEFINED(SAMD20G17) || \
bogdanm 0:9b334a45a8ff 849 SAM_PART_IS_DEFINED(SAMD20G17U) || \
bogdanm 0:9b334a45a8ff 850 SAM_PART_IS_DEFINED(SAMD20G18) || \
bogdanm 0:9b334a45a8ff 851 SAM_PART_IS_DEFINED(SAMD20G18U) \
bogdanm 0:9b334a45a8ff 852 )
bogdanm 0:9b334a45a8ff 853
bogdanm 0:9b334a45a8ff 854 #define SAMD20E ( \
bogdanm 0:9b334a45a8ff 855 SAM_PART_IS_DEFINED(SAMD20E14) || \
bogdanm 0:9b334a45a8ff 856 SAM_PART_IS_DEFINED(SAMD20E15) || \
bogdanm 0:9b334a45a8ff 857 SAM_PART_IS_DEFINED(SAMD20E16) || \
bogdanm 0:9b334a45a8ff 858 SAM_PART_IS_DEFINED(SAMD20E17) || \
bogdanm 0:9b334a45a8ff 859 SAM_PART_IS_DEFINED(SAMD20E18) || \
bogdanm 0:9b334a45a8ff 860 SAM_PART_IS_DEFINED(SAMD20E1F) \
bogdanm 0:9b334a45a8ff 861 )
bogdanm 0:9b334a45a8ff 862 /** @} */
bogdanm 0:9b334a45a8ff 863
bogdanm 0:9b334a45a8ff 864 /**
bogdanm 0:9b334a45a8ff 865 * \name SAMD21 series
bogdanm 0:9b334a45a8ff 866 * @{
bogdanm 0:9b334a45a8ff 867 */
bogdanm 0:9b334a45a8ff 868 #define SAMD21J ( \
bogdanm 0:9b334a45a8ff 869 SAM_PART_IS_DEFINED(SAMD21J15A) || \
bogdanm 0:9b334a45a8ff 870 SAM_PART_IS_DEFINED(SAMD21J16A) || \
bogdanm 0:9b334a45a8ff 871 SAM_PART_IS_DEFINED(SAMD21J17A) || \
bogdanm 0:9b334a45a8ff 872 SAM_PART_IS_DEFINED(SAMD21J18A) \
bogdanm 0:9b334a45a8ff 873 )
bogdanm 0:9b334a45a8ff 874
bogdanm 0:9b334a45a8ff 875 #define SAMD21G ( \
bogdanm 0:9b334a45a8ff 876 SAM_PART_IS_DEFINED(SAMD21G15A) || \
bogdanm 0:9b334a45a8ff 877 SAM_PART_IS_DEFINED(SAMD21G16A) || \
bogdanm 0:9b334a45a8ff 878 SAM_PART_IS_DEFINED(SAMD21G17A) || \
bogdanm 0:9b334a45a8ff 879 SAM_PART_IS_DEFINED(SAMD21G18A) \
bogdanm 0:9b334a45a8ff 880 )
bogdanm 0:9b334a45a8ff 881
bogdanm 0:9b334a45a8ff 882 #define SAMD21E ( \
bogdanm 0:9b334a45a8ff 883 SAM_PART_IS_DEFINED(SAMD21E15A) || \
bogdanm 0:9b334a45a8ff 884 SAM_PART_IS_DEFINED(SAMD21E16A) || \
bogdanm 0:9b334a45a8ff 885 SAM_PART_IS_DEFINED(SAMD21E17A) || \
bogdanm 0:9b334a45a8ff 886 SAM_PART_IS_DEFINED(SAMD21E18A) \
bogdanm 0:9b334a45a8ff 887 )
bogdanm 0:9b334a45a8ff 888 /** @} */
bogdanm 0:9b334a45a8ff 889
bogdanm 0:9b334a45a8ff 890 /**
bogdanm 0:9b334a45a8ff 891 * \name SAMR21 series
bogdanm 0:9b334a45a8ff 892 * @{
bogdanm 0:9b334a45a8ff 893 */
bogdanm 0:9b334a45a8ff 894 #define SAMR21G ( \
bogdanm 0:9b334a45a8ff 895 SAM_PART_IS_DEFINED(SAMR21G16A) || \
bogdanm 0:9b334a45a8ff 896 SAM_PART_IS_DEFINED(SAMR21G17A) || \
bogdanm 0:9b334a45a8ff 897 SAM_PART_IS_DEFINED(SAMR21G18A) \
bogdanm 0:9b334a45a8ff 898 )
bogdanm 0:9b334a45a8ff 899
bogdanm 0:9b334a45a8ff 900 #define SAMR21E ( \
bogdanm 0:9b334a45a8ff 901 SAM_PART_IS_DEFINED(SAMR21E16A) || \
bogdanm 0:9b334a45a8ff 902 SAM_PART_IS_DEFINED(SAMR21E17A) || \
bogdanm 0:9b334a45a8ff 903 SAM_PART_IS_DEFINED(SAMR21E18A) \
bogdanm 0:9b334a45a8ff 904 )
bogdanm 0:9b334a45a8ff 905 /** @} */
bogdanm 0:9b334a45a8ff 906
bogdanm 0:9b334a45a8ff 907 /**
bogdanm 0:9b334a45a8ff 908 * \name SAMD10 series
bogdanm 0:9b334a45a8ff 909 * @{
bogdanm 0:9b334a45a8ff 910 */
bogdanm 0:9b334a45a8ff 911 #define SAMD10C ( \
bogdanm 0:9b334a45a8ff 912 SAM_PART_IS_DEFINED(SAMD10C12A) || \
bogdanm 0:9b334a45a8ff 913 SAM_PART_IS_DEFINED(SAMD10C13A) || \
bogdanm 0:9b334a45a8ff 914 SAM_PART_IS_DEFINED(SAMD10C14A) \
bogdanm 0:9b334a45a8ff 915 )
bogdanm 0:9b334a45a8ff 916
bogdanm 0:9b334a45a8ff 917 #define SAMD10DS ( \
bogdanm 0:9b334a45a8ff 918 SAM_PART_IS_DEFINED(SAMD10D12AS) || \
bogdanm 0:9b334a45a8ff 919 SAM_PART_IS_DEFINED(SAMD10D13AS) || \
bogdanm 0:9b334a45a8ff 920 SAM_PART_IS_DEFINED(SAMD10D14AS) \
bogdanm 0:9b334a45a8ff 921 )
bogdanm 0:9b334a45a8ff 922
bogdanm 0:9b334a45a8ff 923 #define SAMD10DM ( \
bogdanm 0:9b334a45a8ff 924 SAM_PART_IS_DEFINED(SAMD10D12AM) || \
bogdanm 0:9b334a45a8ff 925 SAM_PART_IS_DEFINED(SAMD10D13AM) || \
bogdanm 0:9b334a45a8ff 926 SAM_PART_IS_DEFINED(SAMD10D14AM) \
bogdanm 0:9b334a45a8ff 927 )
bogdanm 0:9b334a45a8ff 928 /** @} */
bogdanm 0:9b334a45a8ff 929
bogdanm 0:9b334a45a8ff 930 /**
bogdanm 0:9b334a45a8ff 931 * \name SAMD11 series
bogdanm 0:9b334a45a8ff 932 * @{
bogdanm 0:9b334a45a8ff 933 */
bogdanm 0:9b334a45a8ff 934 #define SAMD11C ( \
bogdanm 0:9b334a45a8ff 935 SAM_PART_IS_DEFINED(SAMD11C14A) \
bogdanm 0:9b334a45a8ff 936 )
bogdanm 0:9b334a45a8ff 937
bogdanm 0:9b334a45a8ff 938 #define SAMD11DS ( \
bogdanm 0:9b334a45a8ff 939 SAM_PART_IS_DEFINED(SAMD11D14AS) \
bogdanm 0:9b334a45a8ff 940 )
bogdanm 0:9b334a45a8ff 941
bogdanm 0:9b334a45a8ff 942 #define SAMD11DM ( \
bogdanm 0:9b334a45a8ff 943 SAM_PART_IS_DEFINED(SAMD11D14AM) \
bogdanm 0:9b334a45a8ff 944 )
bogdanm 0:9b334a45a8ff 945 /** @} */
bogdanm 0:9b334a45a8ff 946
bogdanm 0:9b334a45a8ff 947 /**
bogdanm 0:9b334a45a8ff 948 * \name SAML21 series
bogdanm 0:9b334a45a8ff 949 * @{
bogdanm 0:9b334a45a8ff 950 */
bogdanm 0:9b334a45a8ff 951 #define SAML21E ( \
bogdanm 0:9b334a45a8ff 952 SAM_PART_IS_DEFINED(SAML21E15A) || \
bogdanm 0:9b334a45a8ff 953 SAM_PART_IS_DEFINED(SAML21E16A) || \
bogdanm 0:9b334a45a8ff 954 SAM_PART_IS_DEFINED(SAML21E17A) || \
bogdanm 0:9b334a45a8ff 955 SAM_PART_IS_DEFINED(SAML21E18A) \
bogdanm 0:9b334a45a8ff 956 )
bogdanm 0:9b334a45a8ff 957
bogdanm 0:9b334a45a8ff 958 #define SAML21G ( \
bogdanm 0:9b334a45a8ff 959 SAM_PART_IS_DEFINED(SAML21G16A) || \
bogdanm 0:9b334a45a8ff 960 SAM_PART_IS_DEFINED(SAML21G17A) || \
bogdanm 0:9b334a45a8ff 961 SAM_PART_IS_DEFINED(SAML21G18A) \
bogdanm 0:9b334a45a8ff 962 )
bogdanm 0:9b334a45a8ff 963
bogdanm 0:9b334a45a8ff 964 #define SAML21J ( \
bogdanm 0:9b334a45a8ff 965 SAM_PART_IS_DEFINED(SAML21J16A) || \
bogdanm 0:9b334a45a8ff 966 SAM_PART_IS_DEFINED(SAML21J17A) || \
bogdanm 0:9b334a45a8ff 967 SAM_PART_IS_DEFINED(SAML21J18A) \
bogdanm 0:9b334a45a8ff 968 )
bogdanm 0:9b334a45a8ff 969 /** @} */
bogdanm 0:9b334a45a8ff 970
bogdanm 0:9b334a45a8ff 971 /**
bogdanm 0:9b334a45a8ff 972 * \name SAM4E series
bogdanm 0:9b334a45a8ff 973 * @{
bogdanm 0:9b334a45a8ff 974 */
bogdanm 0:9b334a45a8ff 975 #define SAM4E8 ( \
bogdanm 0:9b334a45a8ff 976 SAM_PART_IS_DEFINED(SAM4E8C) || \
bogdanm 0:9b334a45a8ff 977 SAM_PART_IS_DEFINED(SAM4E8E) \
bogdanm 0:9b334a45a8ff 978 )
bogdanm 0:9b334a45a8ff 979
bogdanm 0:9b334a45a8ff 980 #define SAM4E16 ( \
bogdanm 0:9b334a45a8ff 981 SAM_PART_IS_DEFINED(SAM4E16C) || \
bogdanm 0:9b334a45a8ff 982 SAM_PART_IS_DEFINED(SAM4E16E) \
bogdanm 0:9b334a45a8ff 983 )
bogdanm 0:9b334a45a8ff 984 /** @} */
bogdanm 0:9b334a45a8ff 985
bogdanm 0:9b334a45a8ff 986 /**
bogdanm 0:9b334a45a8ff 987 * \name SAM4N series
bogdanm 0:9b334a45a8ff 988 * @{
bogdanm 0:9b334a45a8ff 989 */
bogdanm 0:9b334a45a8ff 990 #define SAM4N8 ( \
bogdanm 0:9b334a45a8ff 991 SAM_PART_IS_DEFINED(SAM4N8A) || \
bogdanm 0:9b334a45a8ff 992 SAM_PART_IS_DEFINED(SAM4N8B) || \
bogdanm 0:9b334a45a8ff 993 SAM_PART_IS_DEFINED(SAM4N8C) \
bogdanm 0:9b334a45a8ff 994 )
bogdanm 0:9b334a45a8ff 995
bogdanm 0:9b334a45a8ff 996 #define SAM4N16 ( \
bogdanm 0:9b334a45a8ff 997 SAM_PART_IS_DEFINED(SAM4N16B) || \
bogdanm 0:9b334a45a8ff 998 SAM_PART_IS_DEFINED(SAM4N16C) \
bogdanm 0:9b334a45a8ff 999 )
bogdanm 0:9b334a45a8ff 1000 /** @} */
bogdanm 0:9b334a45a8ff 1001
bogdanm 0:9b334a45a8ff 1002 /**
bogdanm 0:9b334a45a8ff 1003 * \name SAM4C series
bogdanm 0:9b334a45a8ff 1004 * @{
bogdanm 0:9b334a45a8ff 1005 */
bogdanm 0:9b334a45a8ff 1006 #define SAM4C8_0 ( \
bogdanm 0:9b334a45a8ff 1007 SAM_PART_IS_DEFINED(SAM4C8C_0) \
bogdanm 0:9b334a45a8ff 1008 )
bogdanm 0:9b334a45a8ff 1009
bogdanm 0:9b334a45a8ff 1010 #define SAM4C8_1 ( \
bogdanm 0:9b334a45a8ff 1011 SAM_PART_IS_DEFINED(SAM4C8C_1) \
bogdanm 0:9b334a45a8ff 1012 )
bogdanm 0:9b334a45a8ff 1013
bogdanm 0:9b334a45a8ff 1014 #define SAM4C8 (SAM4C8_0 || SAM4C8_1)
bogdanm 0:9b334a45a8ff 1015
bogdanm 0:9b334a45a8ff 1016 #define SAM4C16_0 ( \
bogdanm 0:9b334a45a8ff 1017 SAM_PART_IS_DEFINED(SAM4C16C_0) \
bogdanm 0:9b334a45a8ff 1018 )
bogdanm 0:9b334a45a8ff 1019
bogdanm 0:9b334a45a8ff 1020 #define SAM4C16_1 ( \
bogdanm 0:9b334a45a8ff 1021 SAM_PART_IS_DEFINED(SAM4C16C_1) \
bogdanm 0:9b334a45a8ff 1022 )
bogdanm 0:9b334a45a8ff 1023
bogdanm 0:9b334a45a8ff 1024 #define SAM4C16 (SAM4C16_0 || SAM4C16_1)
bogdanm 0:9b334a45a8ff 1025
bogdanm 0:9b334a45a8ff 1026 #define SAM4C32_0 ( \
bogdanm 0:9b334a45a8ff 1027 SAM_PART_IS_DEFINED(SAM4C32C_0) ||\
bogdanm 0:9b334a45a8ff 1028 SAM_PART_IS_DEFINED(SAM4C32E_0) \
bogdanm 0:9b334a45a8ff 1029 )
bogdanm 0:9b334a45a8ff 1030
bogdanm 0:9b334a45a8ff 1031 #define SAM4C32_1 ( \
bogdanm 0:9b334a45a8ff 1032 SAM_PART_IS_DEFINED(SAM4C32C_1) ||\
bogdanm 0:9b334a45a8ff 1033 SAM_PART_IS_DEFINED(SAM4C32E_1) \
bogdanm 0:9b334a45a8ff 1034 )
bogdanm 0:9b334a45a8ff 1035
bogdanm 0:9b334a45a8ff 1036
bogdanm 0:9b334a45a8ff 1037 #define SAM4C32 (SAM4C32_0 || SAM4C32_1)
bogdanm 0:9b334a45a8ff 1038
bogdanm 0:9b334a45a8ff 1039 /** @} */
bogdanm 0:9b334a45a8ff 1040
bogdanm 0:9b334a45a8ff 1041 /**
bogdanm 0:9b334a45a8ff 1042 * \name SAM4CM series
bogdanm 0:9b334a45a8ff 1043 * @{
bogdanm 0:9b334a45a8ff 1044 */
bogdanm 0:9b334a45a8ff 1045 #define SAM4CMP8_0 ( \
bogdanm 0:9b334a45a8ff 1046 SAM_PART_IS_DEFINED(SAM4CMP8C_0) \
bogdanm 0:9b334a45a8ff 1047 )
bogdanm 0:9b334a45a8ff 1048
bogdanm 0:9b334a45a8ff 1049 #define SAM4CMP8_1 ( \
bogdanm 0:9b334a45a8ff 1050 SAM_PART_IS_DEFINED(SAM4CMP8C_1) \
bogdanm 0:9b334a45a8ff 1051 )
bogdanm 0:9b334a45a8ff 1052
bogdanm 0:9b334a45a8ff 1053 #define SAM4CMP8 (SAM4CMP8_0 || SAM4CMP8_1)
bogdanm 0:9b334a45a8ff 1054
bogdanm 0:9b334a45a8ff 1055 #define SAM4CMP16_0 ( \
bogdanm 0:9b334a45a8ff 1056 SAM_PART_IS_DEFINED(SAM4CMP16C_0) \
bogdanm 0:9b334a45a8ff 1057 )
bogdanm 0:9b334a45a8ff 1058
bogdanm 0:9b334a45a8ff 1059 #define SAM4CMP16_1 ( \
bogdanm 0:9b334a45a8ff 1060 SAM_PART_IS_DEFINED(SAM4CMP16C_1) \
bogdanm 0:9b334a45a8ff 1061 )
bogdanm 0:9b334a45a8ff 1062
bogdanm 0:9b334a45a8ff 1063 #define SAM4CMP16 (SAM4CMP16_0 || SAM4CMP16_1)
bogdanm 0:9b334a45a8ff 1064
bogdanm 0:9b334a45a8ff 1065 #define SAM4CMP32_0 ( \
bogdanm 0:9b334a45a8ff 1066 SAM_PART_IS_DEFINED(SAM4CMP32C_0) \
bogdanm 0:9b334a45a8ff 1067 )
bogdanm 0:9b334a45a8ff 1068
bogdanm 0:9b334a45a8ff 1069 #define SAM4CMP32_1 ( \
bogdanm 0:9b334a45a8ff 1070 SAM_PART_IS_DEFINED(SAM4CMP32C_1) \
bogdanm 0:9b334a45a8ff 1071 )
bogdanm 0:9b334a45a8ff 1072
bogdanm 0:9b334a45a8ff 1073 #define SAM4CMP32 (SAM4CMP32_0 || SAM4CMP32_1)
bogdanm 0:9b334a45a8ff 1074
bogdanm 0:9b334a45a8ff 1075 #define SAM4CMS8_0 ( \
bogdanm 0:9b334a45a8ff 1076 SAM_PART_IS_DEFINED(SAM4CMS8C_0) \
bogdanm 0:9b334a45a8ff 1077 )
bogdanm 0:9b334a45a8ff 1078
bogdanm 0:9b334a45a8ff 1079 #define SAM4CMS8_1 ( \
bogdanm 0:9b334a45a8ff 1080 SAM_PART_IS_DEFINED(SAM4CMS8C_1) \
bogdanm 0:9b334a45a8ff 1081 )
bogdanm 0:9b334a45a8ff 1082
bogdanm 0:9b334a45a8ff 1083 #define SAM4CMS8 (SAM4CMS8_0 || SAM4CMS8_1)
bogdanm 0:9b334a45a8ff 1084
bogdanm 0:9b334a45a8ff 1085 #define SAM4CMS16_0 ( \
bogdanm 0:9b334a45a8ff 1086 SAM_PART_IS_DEFINED(SAM4CMS16C_0) \
bogdanm 0:9b334a45a8ff 1087 )
bogdanm 0:9b334a45a8ff 1088
bogdanm 0:9b334a45a8ff 1089 #define SAM4CMS16_1 ( \
bogdanm 0:9b334a45a8ff 1090 SAM_PART_IS_DEFINED(SAM4CMS16C_1) \
bogdanm 0:9b334a45a8ff 1091 )
bogdanm 0:9b334a45a8ff 1092
bogdanm 0:9b334a45a8ff 1093 #define SAM4CMS16 (SAM4CMS16_0 || SAM4CMS16_1)
bogdanm 0:9b334a45a8ff 1094
bogdanm 0:9b334a45a8ff 1095 #define SAM4CMS32_0 ( \
bogdanm 0:9b334a45a8ff 1096 SAM_PART_IS_DEFINED(SAM4CMS32C_0) \
bogdanm 0:9b334a45a8ff 1097 )
bogdanm 0:9b334a45a8ff 1098
bogdanm 0:9b334a45a8ff 1099 #define SAM4CMS32_1 ( \
bogdanm 0:9b334a45a8ff 1100 SAM_PART_IS_DEFINED(SAM4CMS32C_1) \
bogdanm 0:9b334a45a8ff 1101 )
bogdanm 0:9b334a45a8ff 1102
bogdanm 0:9b334a45a8ff 1103 #define SAM4CMS32 (SAM4CMS32_0 || SAM4CMS32_1)
bogdanm 0:9b334a45a8ff 1104
bogdanm 0:9b334a45a8ff 1105 /** @} */
bogdanm 0:9b334a45a8ff 1106
bogdanm 0:9b334a45a8ff 1107 /**
bogdanm 0:9b334a45a8ff 1108 * \name SAM4CP series
bogdanm 0:9b334a45a8ff 1109 * @{
bogdanm 0:9b334a45a8ff 1110 */
bogdanm 0:9b334a45a8ff 1111 #define SAM4CP16_0 ( \
bogdanm 0:9b334a45a8ff 1112 SAM_PART_IS_DEFINED(SAM4CP16B_0) \
bogdanm 0:9b334a45a8ff 1113 )
bogdanm 0:9b334a45a8ff 1114
bogdanm 0:9b334a45a8ff 1115 #define SAM4CP16_1 ( \
bogdanm 0:9b334a45a8ff 1116 SAM_PART_IS_DEFINED(SAM4CP16B_1) \
bogdanm 0:9b334a45a8ff 1117 )
bogdanm 0:9b334a45a8ff 1118
bogdanm 0:9b334a45a8ff 1119 #define SAM4CP16 (SAM4CP16_0 || SAM4CP16_1)
bogdanm 0:9b334a45a8ff 1120 /** @} */
bogdanm 0:9b334a45a8ff 1121
bogdanm 0:9b334a45a8ff 1122 /**
bogdanm 0:9b334a45a8ff 1123 * \name SAMG series
bogdanm 0:9b334a45a8ff 1124 * @{
bogdanm 0:9b334a45a8ff 1125 */
bogdanm 0:9b334a45a8ff 1126 #define SAMG51 ( \
bogdanm 0:9b334a45a8ff 1127 SAM_PART_IS_DEFINED(SAMG51G18) \
bogdanm 0:9b334a45a8ff 1128 )
bogdanm 0:9b334a45a8ff 1129
bogdanm 0:9b334a45a8ff 1130 #define SAMG53 ( \
bogdanm 0:9b334a45a8ff 1131 SAM_PART_IS_DEFINED(SAMG53G19) ||\
bogdanm 0:9b334a45a8ff 1132 SAM_PART_IS_DEFINED(SAMG53N19) \
bogdanm 0:9b334a45a8ff 1133 )
bogdanm 0:9b334a45a8ff 1134
bogdanm 0:9b334a45a8ff 1135 #define SAMG54 ( \
bogdanm 0:9b334a45a8ff 1136 SAM_PART_IS_DEFINED(SAMG54G19) ||\
bogdanm 0:9b334a45a8ff 1137 SAM_PART_IS_DEFINED(SAMG54J19) ||\
bogdanm 0:9b334a45a8ff 1138 SAM_PART_IS_DEFINED(SAMG54N19) \
bogdanm 0:9b334a45a8ff 1139 )
bogdanm 0:9b334a45a8ff 1140
bogdanm 0:9b334a45a8ff 1141 #define SAMG55 ( \
bogdanm 0:9b334a45a8ff 1142 SAM_PART_IS_DEFINED(SAMG55G18) ||\
bogdanm 0:9b334a45a8ff 1143 SAM_PART_IS_DEFINED(SAMG55G19) ||\
bogdanm 0:9b334a45a8ff 1144 SAM_PART_IS_DEFINED(SAMG55J18) ||\
bogdanm 0:9b334a45a8ff 1145 SAM_PART_IS_DEFINED(SAMG55J19) ||\
bogdanm 0:9b334a45a8ff 1146 SAM_PART_IS_DEFINED(SAMG55N19) \
bogdanm 0:9b334a45a8ff 1147 )
bogdanm 0:9b334a45a8ff 1148 /** @} */
bogdanm 0:9b334a45a8ff 1149 /**
bogdanm 0:9b334a45a8ff 1150 * \name SAM families
bogdanm 0:9b334a45a8ff 1151 * @{
bogdanm 0:9b334a45a8ff 1152 */
bogdanm 0:9b334a45a8ff 1153 /** SAM3S Family */
bogdanm 0:9b334a45a8ff 1154 #define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8)
bogdanm 0:9b334a45a8ff 1155
bogdanm 0:9b334a45a8ff 1156 /** SAM3U Family */
bogdanm 0:9b334a45a8ff 1157 #define SAM3U (SAM3U1 || SAM3U2 || SAM3U4)
bogdanm 0:9b334a45a8ff 1158
bogdanm 0:9b334a45a8ff 1159 /** SAM3N Family */
bogdanm 0:9b334a45a8ff 1160 #define SAM3N (SAM3N00 || SAM3N0 || SAM3N1 || SAM3N2 || SAM3N4)
bogdanm 0:9b334a45a8ff 1161
bogdanm 0:9b334a45a8ff 1162 /** SAM3XA Family */
bogdanm 0:9b334a45a8ff 1163 #define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8)
bogdanm 0:9b334a45a8ff 1164
bogdanm 0:9b334a45a8ff 1165 /** SAM4S Family */
bogdanm 0:9b334a45a8ff 1166 #define SAM4S (SAM4S2 || SAM4S4 || SAM4S8 || SAM4S16 || SAM4SA16 || SAM4SD16 || SAM4SD32)
bogdanm 0:9b334a45a8ff 1167
bogdanm 0:9b334a45a8ff 1168 /** SAM4L Family */
bogdanm 0:9b334a45a8ff 1169 #define SAM4L (SAM4LS || SAM4LC)
bogdanm 0:9b334a45a8ff 1170
bogdanm 0:9b334a45a8ff 1171 /** SAMD20 Family */
bogdanm 0:9b334a45a8ff 1172 #define SAMD20 (SAMD20J || SAMD20G || SAMD20E)
bogdanm 0:9b334a45a8ff 1173
bogdanm 0:9b334a45a8ff 1174 /** SAMD21 Family */
bogdanm 0:9b334a45a8ff 1175 #define SAMD21 (SAMD21J || SAMD21G || SAMD21E)
bogdanm 0:9b334a45a8ff 1176
bogdanm 0:9b334a45a8ff 1177 /** SAMD10 Family */
bogdanm 0:9b334a45a8ff 1178 #define SAMD10 (SAMD10C || SAMD10DS || SAMD10DM)
bogdanm 0:9b334a45a8ff 1179
bogdanm 0:9b334a45a8ff 1180 /** SAMD11 Family */
bogdanm 0:9b334a45a8ff 1181 #define SAMD11 (SAMD11C || SAMD11DS || SAMD11DM)
bogdanm 0:9b334a45a8ff 1182
bogdanm 0:9b334a45a8ff 1183 /** SAMD Family */
bogdanm 0:9b334a45a8ff 1184 #define SAMD (SAMD20 || SAMD21 || SAMD10 || SAMD11)
bogdanm 0:9b334a45a8ff 1185
bogdanm 0:9b334a45a8ff 1186 /** SAMR21 Family */
bogdanm 0:9b334a45a8ff 1187 #define SAMR21 (SAMR21G || SAMR21E)
bogdanm 0:9b334a45a8ff 1188
bogdanm 0:9b334a45a8ff 1189 /** SAML21 Family */
bogdanm 0:9b334a45a8ff 1190 #define SAML21 (SAML21J || SAML21G || SAML21E)
bogdanm 0:9b334a45a8ff 1191
bogdanm 0:9b334a45a8ff 1192 /** SAM4E Family */
bogdanm 0:9b334a45a8ff 1193 #define SAM4E (SAM4E8 || SAM4E16)
bogdanm 0:9b334a45a8ff 1194
bogdanm 0:9b334a45a8ff 1195 /** SAM4N Family */
bogdanm 0:9b334a45a8ff 1196 #define SAM4N (SAM4N8 || SAM4N16)
bogdanm 0:9b334a45a8ff 1197
bogdanm 0:9b334a45a8ff 1198 /** SAM4C Family */
bogdanm 0:9b334a45a8ff 1199 #define SAM4C_0 (SAM4C8_0 || SAM4C16_0 || SAM4C32_0)
bogdanm 0:9b334a45a8ff 1200 #define SAM4C_1 (SAM4C8_1 || SAM4C16_1 || SAM4C32_1)
bogdanm 0:9b334a45a8ff 1201 #define SAM4C (SAM4C8 || SAM4C16 || SAM4C32)
bogdanm 0:9b334a45a8ff 1202
bogdanm 0:9b334a45a8ff 1203 /** SAM4CM Family */
bogdanm 0:9b334a45a8ff 1204 #define SAM4CM_0 (SAM4CMP8_0 || SAM4CMP16_0 || SAM4CMP32_0 || SAM4CMS8_0 || \
bogdanm 0:9b334a45a8ff 1205 SAM4CMS16_0 || SAM4CMS32_0)
bogdanm 0:9b334a45a8ff 1206 #define SAM4CM_1 (SAM4CMP8_1 || SAM4CMP16_1 || SAM4CMP32_1 || SAM4CMS8_1 || \
bogdanm 0:9b334a45a8ff 1207 SAM4CMS16_1 || SAM4CMS32_1)
bogdanm 0:9b334a45a8ff 1208 #define SAM4CM (SAM4CMP8 || SAM4CMP16 || SAM4CMP32 || SAM4CMS8 || \
bogdanm 0:9b334a45a8ff 1209 SAM4CMS16 || SAM4CMS32)
bogdanm 0:9b334a45a8ff 1210
bogdanm 0:9b334a45a8ff 1211 /** SAM4CP Family */
bogdanm 0:9b334a45a8ff 1212 #define SAM4CP_0 (SAM4CP16_0)
bogdanm 0:9b334a45a8ff 1213 #define SAM4CP_1 (SAM4CP16_1)
bogdanm 0:9b334a45a8ff 1214 #define SAM4CP (SAM4CP16)
bogdanm 0:9b334a45a8ff 1215
bogdanm 0:9b334a45a8ff 1216 /** SAMG Family */
bogdanm 0:9b334a45a8ff 1217 #define SAMG (SAMG51 || SAMG53 || SAMG54 || SAMG55)
bogdanm 0:9b334a45a8ff 1218
bogdanm 0:9b334a45a8ff 1219 /** SAM0 product line (cortex-m0+) */
bogdanm 0:9b334a45a8ff 1220 #define SAM0 (SAMD20 || SAMD21 || SAMR21 || SAMD10 || SAMD11 || SAML21)
bogdanm 0:9b334a45a8ff 1221
bogdanm 0:9b334a45a8ff 1222 /** @} */
bogdanm 0:9b334a45a8ff 1223
bogdanm 0:9b334a45a8ff 1224 /** SAM product line */
bogdanm 0:9b334a45a8ff 1225 #define SAM (SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S || SAM4L || SAM4E || \
bogdanm 0:9b334a45a8ff 1226 SAM0 || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG)
bogdanm 0:9b334a45a8ff 1227
bogdanm 0:9b334a45a8ff 1228 /** @} */
bogdanm 0:9b334a45a8ff 1229
bogdanm 0:9b334a45a8ff 1230 /** @} */
bogdanm 0:9b334a45a8ff 1231
bogdanm 0:9b334a45a8ff 1232 /** @} */
bogdanm 0:9b334a45a8ff 1233
bogdanm 0:9b334a45a8ff 1234 #endif /* ATMEL_PARTS_H */