added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
JojoS
Date:
Sat Sep 10 15:32:04 2016 +0000
Revision:
147:ba84b7dc41a7
Parent:
144:ef7eb2e8f9f7
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time

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 */