mbed library sources. Supersedes mbed-src.

Dependents:   BREAK_SENSOR_LED

Fork of mbed-dev by mbed official

Committer:
Anythingconnected
Date:
Mon Dec 18 10:14:27 2017 +0000
Revision:
180:d79f997829d6
Parent:
149:156823d33999
Getting byte by byte read to work

Who changed what in which revision?

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