1*1b2596b5SMatthias Ringwald /** 2*1b2596b5SMatthias Ringwald * \file 3*1b2596b5SMatthias Ringwald * 4*1b2596b5SMatthias Ringwald * \brief Atmel part identification macros 5*1b2596b5SMatthias Ringwald * 6*1b2596b5SMatthias Ringwald * Copyright (C) 2012-2015 Atmel Corporation. All rights reserved. 7*1b2596b5SMatthias Ringwald * 8*1b2596b5SMatthias Ringwald * \asf_license_start 9*1b2596b5SMatthias Ringwald * 10*1b2596b5SMatthias Ringwald * \page License 11*1b2596b5SMatthias Ringwald * 12*1b2596b5SMatthias Ringwald * Redistribution and use in source and binary forms, with or without 13*1b2596b5SMatthias Ringwald * modification, are permitted provided that the following conditions are met: 14*1b2596b5SMatthias Ringwald * 15*1b2596b5SMatthias Ringwald * 1. Redistributions of source code must retain the above copyright notice, 16*1b2596b5SMatthias Ringwald * this list of conditions and the following disclaimer. 17*1b2596b5SMatthias Ringwald * 18*1b2596b5SMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright notice, 19*1b2596b5SMatthias Ringwald * this list of conditions and the following disclaimer in the documentation 20*1b2596b5SMatthias Ringwald * and/or other materials provided with the distribution. 21*1b2596b5SMatthias Ringwald * 22*1b2596b5SMatthias Ringwald * 3. The name of Atmel may not be used to endorse or promote products derived 23*1b2596b5SMatthias Ringwald * from this software without specific prior written permission. 24*1b2596b5SMatthias Ringwald * 25*1b2596b5SMatthias Ringwald * 4. This software may only be redistributed and used in connection with an 26*1b2596b5SMatthias Ringwald * Atmel microcontroller product. 27*1b2596b5SMatthias Ringwald * 28*1b2596b5SMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED 29*1b2596b5SMatthias Ringwald * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 30*1b2596b5SMatthias Ringwald * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 31*1b2596b5SMatthias Ringwald * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR 32*1b2596b5SMatthias Ringwald * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33*1b2596b5SMatthias Ringwald * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34*1b2596b5SMatthias Ringwald * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35*1b2596b5SMatthias Ringwald * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 36*1b2596b5SMatthias Ringwald * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 37*1b2596b5SMatthias Ringwald * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38*1b2596b5SMatthias Ringwald * POSSIBILITY OF SUCH DAMAGE. 39*1b2596b5SMatthias Ringwald * 40*1b2596b5SMatthias Ringwald * \asf_license_stop 41*1b2596b5SMatthias Ringwald * 42*1b2596b5SMatthias Ringwald */ 43*1b2596b5SMatthias Ringwald /* 44*1b2596b5SMatthias Ringwald * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> 45*1b2596b5SMatthias Ringwald */ 46*1b2596b5SMatthias Ringwald 47*1b2596b5SMatthias Ringwald #ifndef ATMEL_PARTS_H 48*1b2596b5SMatthias Ringwald #define ATMEL_PARTS_H 49*1b2596b5SMatthias Ringwald 50*1b2596b5SMatthias Ringwald /** 51*1b2596b5SMatthias Ringwald * \defgroup part_macros_group Atmel part identification macros 52*1b2596b5SMatthias Ringwald * 53*1b2596b5SMatthias Ringwald * This collection of macros identify which series and families that the various 54*1b2596b5SMatthias Ringwald * Atmel parts belong to. These can be used to select part-dependent sections of 55*1b2596b5SMatthias Ringwald * code at compile time. 56*1b2596b5SMatthias Ringwald * 57*1b2596b5SMatthias Ringwald * @{ 58*1b2596b5SMatthias Ringwald */ 59*1b2596b5SMatthias Ringwald 60*1b2596b5SMatthias Ringwald /** 61*1b2596b5SMatthias Ringwald * \name Convenience macros for part checking 62*1b2596b5SMatthias Ringwald * @{ 63*1b2596b5SMatthias Ringwald */ 64*1b2596b5SMatthias Ringwald /* ! Check GCC and IAR part definition for 8-bit AVR */ 65*1b2596b5SMatthias Ringwald #define AVR8_PART_IS_DEFINED(part) \ 66*1b2596b5SMatthias Ringwald (defined(__ ## part ## __) || defined(__AVR_ ## part ## __)) 67*1b2596b5SMatthias Ringwald 68*1b2596b5SMatthias Ringwald /* ! Check GCC and IAR part definition for 32-bit AVR */ 69*1b2596b5SMatthias Ringwald #define AVR32_PART_IS_DEFINED(part) \ 70*1b2596b5SMatthias Ringwald (defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __)) 71*1b2596b5SMatthias Ringwald 72*1b2596b5SMatthias Ringwald /* ! Check GCC and IAR part definition for SAM */ 73*1b2596b5SMatthias Ringwald #define SAM_PART_IS_DEFINED(part) (defined(__ ## part ## __)) 74*1b2596b5SMatthias Ringwald /** @} */ 75*1b2596b5SMatthias Ringwald 76*1b2596b5SMatthias Ringwald /** 77*1b2596b5SMatthias Ringwald * \defgroup uc3_part_macros_group AVR UC3 parts 78*1b2596b5SMatthias Ringwald * @{ 79*1b2596b5SMatthias Ringwald */ 80*1b2596b5SMatthias Ringwald 81*1b2596b5SMatthias Ringwald /** 82*1b2596b5SMatthias Ringwald * \name AVR UC3 A series 83*1b2596b5SMatthias Ringwald * @{ 84*1b2596b5SMatthias Ringwald */ 85*1b2596b5SMatthias Ringwald #define UC3A0 ( \ 86*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A0128) || \ 87*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A0256) || \ 88*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A0512) \ 89*1b2596b5SMatthias Ringwald ) 90*1b2596b5SMatthias Ringwald 91*1b2596b5SMatthias Ringwald #define UC3A1 ( \ 92*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A1128) || \ 93*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A1256) || \ 94*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A1512) \ 95*1b2596b5SMatthias Ringwald ) 96*1b2596b5SMatthias Ringwald 97*1b2596b5SMatthias Ringwald #define UC3A3 ( \ 98*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A364) || \ 99*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A364S) || \ 100*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A3128) || \ 101*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A3128S) || \ 102*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A3256) || \ 103*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A3256S) \ 104*1b2596b5SMatthias Ringwald ) 105*1b2596b5SMatthias Ringwald 106*1b2596b5SMatthias Ringwald #define UC3A4 ( \ 107*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A464) || \ 108*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A464S) || \ 109*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A4128) || \ 110*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A4128S) || \ 111*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A4256) || \ 112*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3A4256S) \ 113*1b2596b5SMatthias Ringwald ) 114*1b2596b5SMatthias Ringwald /** @} */ 115*1b2596b5SMatthias Ringwald 116*1b2596b5SMatthias Ringwald /** 117*1b2596b5SMatthias Ringwald * \name AVR UC3 B series 118*1b2596b5SMatthias Ringwald * @{ 119*1b2596b5SMatthias Ringwald */ 120*1b2596b5SMatthias Ringwald #define UC3B0 ( \ 121*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B064) || \ 122*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B0128) || \ 123*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B0256) || \ 124*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B0512) \ 125*1b2596b5SMatthias Ringwald ) 126*1b2596b5SMatthias Ringwald 127*1b2596b5SMatthias Ringwald #define UC3B1 ( \ 128*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B164) || \ 129*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B1128) || \ 130*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B1256) || \ 131*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3B1512) \ 132*1b2596b5SMatthias Ringwald ) 133*1b2596b5SMatthias Ringwald /** @} */ 134*1b2596b5SMatthias Ringwald 135*1b2596b5SMatthias Ringwald /** 136*1b2596b5SMatthias Ringwald * \name AVR UC3 C series 137*1b2596b5SMatthias Ringwald * @{ 138*1b2596b5SMatthias Ringwald */ 139*1b2596b5SMatthias Ringwald #define UC3C0 ( \ 140*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C064C) || \ 141*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C0128C) || \ 142*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C0256C) || \ 143*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C0512C) \ 144*1b2596b5SMatthias Ringwald ) 145*1b2596b5SMatthias Ringwald 146*1b2596b5SMatthias Ringwald #define UC3C1 ( \ 147*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C164C) || \ 148*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C1128C) || \ 149*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C1256C) || \ 150*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C1512C) \ 151*1b2596b5SMatthias Ringwald ) 152*1b2596b5SMatthias Ringwald 153*1b2596b5SMatthias Ringwald #define UC3C2 ( \ 154*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C264C) || \ 155*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C2128C) || \ 156*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C2256C) || \ 157*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3C2512C) \ 158*1b2596b5SMatthias Ringwald ) 159*1b2596b5SMatthias Ringwald /** @} */ 160*1b2596b5SMatthias Ringwald 161*1b2596b5SMatthias Ringwald /** 162*1b2596b5SMatthias Ringwald * \name AVR UC3 D series 163*1b2596b5SMatthias Ringwald * @{ 164*1b2596b5SMatthias Ringwald */ 165*1b2596b5SMatthias Ringwald #define UC3D3 ( \ 166*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC64D3) || \ 167*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC128D3) \ 168*1b2596b5SMatthias Ringwald ) 169*1b2596b5SMatthias Ringwald 170*1b2596b5SMatthias Ringwald #define UC3D4 ( \ 171*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC64D4) || \ 172*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC128D4) \ 173*1b2596b5SMatthias Ringwald ) 174*1b2596b5SMatthias Ringwald /** @} */ 175*1b2596b5SMatthias Ringwald 176*1b2596b5SMatthias Ringwald /** 177*1b2596b5SMatthias Ringwald * \name AVR UC3 L series 178*1b2596b5SMatthias Ringwald * @{ 179*1b2596b5SMatthias Ringwald */ 180*1b2596b5SMatthias Ringwald #define UC3L0 ( \ 181*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3L016) || \ 182*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3L032) || \ 183*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3L064) \ 184*1b2596b5SMatthias Ringwald ) 185*1b2596b5SMatthias Ringwald 186*1b2596b5SMatthias Ringwald #define UC3L0128 ( \ 187*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3L0128) \ 188*1b2596b5SMatthias Ringwald ) 189*1b2596b5SMatthias Ringwald 190*1b2596b5SMatthias Ringwald #define UC3L0256 ( \ 191*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC3L0256) \ 192*1b2596b5SMatthias Ringwald ) 193*1b2596b5SMatthias Ringwald 194*1b2596b5SMatthias Ringwald #define UC3L3 ( \ 195*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC64L3U) || \ 196*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC128L3U) || \ 197*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC256L3U) \ 198*1b2596b5SMatthias Ringwald ) 199*1b2596b5SMatthias Ringwald 200*1b2596b5SMatthias Ringwald #define UC3L4 ( \ 201*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC64L4U) || \ 202*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC128L4U) || \ 203*1b2596b5SMatthias Ringwald AVR32_PART_IS_DEFINED(UC256L4U) \ 204*1b2596b5SMatthias Ringwald ) 205*1b2596b5SMatthias Ringwald 206*1b2596b5SMatthias Ringwald #define UC3L3_L4 (UC3L3 || UC3L4) 207*1b2596b5SMatthias Ringwald /** @} */ 208*1b2596b5SMatthias Ringwald 209*1b2596b5SMatthias Ringwald /** 210*1b2596b5SMatthias Ringwald * \name AVR UC3 families 211*1b2596b5SMatthias Ringwald * @{ 212*1b2596b5SMatthias Ringwald */ 213*1b2596b5SMatthias Ringwald /** AVR UC3 A family */ 214*1b2596b5SMatthias Ringwald #define UC3A (UC3A0 || UC3A1 || UC3A3 || UC3A4) 215*1b2596b5SMatthias Ringwald 216*1b2596b5SMatthias Ringwald /** AVR UC3 B family */ 217*1b2596b5SMatthias Ringwald #define UC3B (UC3B0 || UC3B1) 218*1b2596b5SMatthias Ringwald 219*1b2596b5SMatthias Ringwald /** AVR UC3 C family */ 220*1b2596b5SMatthias Ringwald #define UC3C (UC3C0 || UC3C1 || UC3C2) 221*1b2596b5SMatthias Ringwald 222*1b2596b5SMatthias Ringwald /** AVR UC3 D family */ 223*1b2596b5SMatthias Ringwald #define UC3D (UC3D3 || UC3D4) 224*1b2596b5SMatthias Ringwald 225*1b2596b5SMatthias Ringwald /** AVR UC3 L family */ 226*1b2596b5SMatthias Ringwald #define UC3L (UC3L0 || UC3L0128 || UC3L0256 || UC3L3_L4) 227*1b2596b5SMatthias Ringwald /** @} */ 228*1b2596b5SMatthias Ringwald 229*1b2596b5SMatthias Ringwald /** AVR UC3 product line */ 230*1b2596b5SMatthias Ringwald #define UC3 (UC3A || UC3B || UC3C || UC3D || UC3L) 231*1b2596b5SMatthias Ringwald 232*1b2596b5SMatthias Ringwald /** @} */ 233*1b2596b5SMatthias Ringwald 234*1b2596b5SMatthias Ringwald /** 235*1b2596b5SMatthias Ringwald * \defgroup xmega_part_macros_group AVR XMEGA parts 236*1b2596b5SMatthias Ringwald * @{ 237*1b2596b5SMatthias Ringwald */ 238*1b2596b5SMatthias Ringwald 239*1b2596b5SMatthias Ringwald /** 240*1b2596b5SMatthias Ringwald * \name AVR XMEGA A series 241*1b2596b5SMatthias Ringwald * @{ 242*1b2596b5SMatthias Ringwald */ 243*1b2596b5SMatthias Ringwald #define XMEGA_A1 ( \ 244*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64A1) || \ 245*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128A1) \ 246*1b2596b5SMatthias Ringwald ) 247*1b2596b5SMatthias Ringwald 248*1b2596b5SMatthias Ringwald #define XMEGA_A3 ( \ 249*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64A3) || \ 250*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128A3) || \ 251*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega192A3) || \ 252*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256A3) \ 253*1b2596b5SMatthias Ringwald ) 254*1b2596b5SMatthias Ringwald 255*1b2596b5SMatthias Ringwald #define XMEGA_A3B ( \ 256*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256A3B) \ 257*1b2596b5SMatthias Ringwald ) 258*1b2596b5SMatthias Ringwald 259*1b2596b5SMatthias Ringwald #define XMEGA_A4 ( \ 260*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega16A4) || \ 261*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32A4) \ 262*1b2596b5SMatthias Ringwald ) 263*1b2596b5SMatthias Ringwald /** @} */ 264*1b2596b5SMatthias Ringwald 265*1b2596b5SMatthias Ringwald /** 266*1b2596b5SMatthias Ringwald * \name AVR XMEGA AU series 267*1b2596b5SMatthias Ringwald * @{ 268*1b2596b5SMatthias Ringwald */ 269*1b2596b5SMatthias Ringwald #define XMEGA_A1U ( \ 270*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64A1U) || \ 271*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128A1U) \ 272*1b2596b5SMatthias Ringwald ) 273*1b2596b5SMatthias Ringwald 274*1b2596b5SMatthias Ringwald #define XMEGA_A3U ( \ 275*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64A3U) || \ 276*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128A3U) || \ 277*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega192A3U) || \ 278*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256A3U) \ 279*1b2596b5SMatthias Ringwald ) 280*1b2596b5SMatthias Ringwald 281*1b2596b5SMatthias Ringwald #define XMEGA_A3BU ( \ 282*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256A3BU) \ 283*1b2596b5SMatthias Ringwald ) 284*1b2596b5SMatthias Ringwald 285*1b2596b5SMatthias Ringwald #define XMEGA_A4U ( \ 286*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega16A4U) || \ 287*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32A4U) || \ 288*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64A4U) || \ 289*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128A4U) \ 290*1b2596b5SMatthias Ringwald ) 291*1b2596b5SMatthias Ringwald /** @} */ 292*1b2596b5SMatthias Ringwald 293*1b2596b5SMatthias Ringwald /** 294*1b2596b5SMatthias Ringwald * \name AVR XMEGA B series 295*1b2596b5SMatthias Ringwald * @{ 296*1b2596b5SMatthias Ringwald */ 297*1b2596b5SMatthias Ringwald #define XMEGA_B1 ( \ 298*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64B1) || \ 299*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128B1) \ 300*1b2596b5SMatthias Ringwald ) 301*1b2596b5SMatthias Ringwald 302*1b2596b5SMatthias Ringwald #define XMEGA_B3 ( \ 303*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64B3) || \ 304*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128B3) \ 305*1b2596b5SMatthias Ringwald ) 306*1b2596b5SMatthias Ringwald /** @} */ 307*1b2596b5SMatthias Ringwald 308*1b2596b5SMatthias Ringwald /** 309*1b2596b5SMatthias Ringwald * \name AVR XMEGA C series 310*1b2596b5SMatthias Ringwald * @{ 311*1b2596b5SMatthias Ringwald */ 312*1b2596b5SMatthias Ringwald #define XMEGA_C3 ( \ 313*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega384C3) || \ 314*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256C3) || \ 315*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega192C3) || \ 316*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128C3) || \ 317*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64C3) || \ 318*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32C3) \ 319*1b2596b5SMatthias Ringwald ) 320*1b2596b5SMatthias Ringwald 321*1b2596b5SMatthias Ringwald #define XMEGA_C4 ( \ 322*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32C4) || \ 323*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega16C4) \ 324*1b2596b5SMatthias Ringwald ) 325*1b2596b5SMatthias Ringwald /** @} */ 326*1b2596b5SMatthias Ringwald 327*1b2596b5SMatthias Ringwald /** 328*1b2596b5SMatthias Ringwald * \name AVR XMEGA D series 329*1b2596b5SMatthias Ringwald * @{ 330*1b2596b5SMatthias Ringwald */ 331*1b2596b5SMatthias Ringwald #define XMEGA_D3 ( \ 332*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32D3) || \ 333*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64D3) || \ 334*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128D3) || \ 335*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega192D3) || \ 336*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega256D3) || \ 337*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega384D3) \ 338*1b2596b5SMatthias Ringwald ) 339*1b2596b5SMatthias Ringwald 340*1b2596b5SMatthias Ringwald #define XMEGA_D4 ( \ 341*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega16D4) || \ 342*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32D4) || \ 343*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega64D4) || \ 344*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega128D4) \ 345*1b2596b5SMatthias Ringwald ) 346*1b2596b5SMatthias Ringwald /** @} */ 347*1b2596b5SMatthias Ringwald 348*1b2596b5SMatthias Ringwald /** 349*1b2596b5SMatthias Ringwald * \name AVR XMEGA E series 350*1b2596b5SMatthias Ringwald * @{ 351*1b2596b5SMatthias Ringwald */ 352*1b2596b5SMatthias Ringwald #define XMEGA_E5 ( \ 353*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega8E5) || \ 354*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega16E5) || \ 355*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATxmega32E5) \ 356*1b2596b5SMatthias Ringwald ) 357*1b2596b5SMatthias Ringwald /** @} */ 358*1b2596b5SMatthias Ringwald 359*1b2596b5SMatthias Ringwald 360*1b2596b5SMatthias Ringwald /** 361*1b2596b5SMatthias Ringwald * \name AVR XMEGA families 362*1b2596b5SMatthias Ringwald * @{ 363*1b2596b5SMatthias Ringwald */ 364*1b2596b5SMatthias Ringwald /** AVR XMEGA A family */ 365*1b2596b5SMatthias Ringwald #define XMEGA_A (XMEGA_A1 || XMEGA_A3 || XMEGA_A3B || XMEGA_A4) 366*1b2596b5SMatthias Ringwald 367*1b2596b5SMatthias Ringwald /** AVR XMEGA AU family */ 368*1b2596b5SMatthias Ringwald #define XMEGA_AU (XMEGA_A1U || XMEGA_A3U || XMEGA_A3BU || XMEGA_A4U) 369*1b2596b5SMatthias Ringwald 370*1b2596b5SMatthias Ringwald /** AVR XMEGA B family */ 371*1b2596b5SMatthias Ringwald #define XMEGA_B (XMEGA_B1 || XMEGA_B3) 372*1b2596b5SMatthias Ringwald 373*1b2596b5SMatthias Ringwald /** AVR XMEGA C family */ 374*1b2596b5SMatthias Ringwald #define XMEGA_C (XMEGA_C3 || XMEGA_C4) 375*1b2596b5SMatthias Ringwald 376*1b2596b5SMatthias Ringwald /** AVR XMEGA D family */ 377*1b2596b5SMatthias Ringwald #define XMEGA_D (XMEGA_D3 || XMEGA_D4) 378*1b2596b5SMatthias Ringwald 379*1b2596b5SMatthias Ringwald /** AVR XMEGA E family */ 380*1b2596b5SMatthias Ringwald #define XMEGA_E (XMEGA_E5) 381*1b2596b5SMatthias Ringwald /** @} */ 382*1b2596b5SMatthias Ringwald 383*1b2596b5SMatthias Ringwald 384*1b2596b5SMatthias Ringwald /** AVR XMEGA product line */ 385*1b2596b5SMatthias Ringwald #define XMEGA (XMEGA_A || XMEGA_AU || XMEGA_B || XMEGA_C || XMEGA_D || XMEGA_E) 386*1b2596b5SMatthias Ringwald 387*1b2596b5SMatthias Ringwald /** @} */ 388*1b2596b5SMatthias Ringwald 389*1b2596b5SMatthias Ringwald /** 390*1b2596b5SMatthias Ringwald * \defgroup mega_part_macros_group megaAVR parts 391*1b2596b5SMatthias Ringwald * 392*1b2596b5SMatthias Ringwald * \note These megaAVR groupings are based on the groups in AVR Libc for the 393*1b2596b5SMatthias Ringwald * part header files. They are not names of official megaAVR device series or 394*1b2596b5SMatthias Ringwald * families. 395*1b2596b5SMatthias Ringwald * 396*1b2596b5SMatthias Ringwald * @{ 397*1b2596b5SMatthias Ringwald */ 398*1b2596b5SMatthias Ringwald 399*1b2596b5SMatthias Ringwald /** 400*1b2596b5SMatthias Ringwald * \name ATmegaxx0/xx1 subgroups 401*1b2596b5SMatthias Ringwald * @{ 402*1b2596b5SMatthias Ringwald */ 403*1b2596b5SMatthias Ringwald #define MEGA_XX0 ( \ 404*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega640) || \ 405*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1280) || \ 406*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega2560) \ 407*1b2596b5SMatthias Ringwald ) 408*1b2596b5SMatthias Ringwald 409*1b2596b5SMatthias Ringwald #define MEGA_XX1 ( \ 410*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1281) || \ 411*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega2561) \ 412*1b2596b5SMatthias Ringwald ) 413*1b2596b5SMatthias Ringwald /** @} */ 414*1b2596b5SMatthias Ringwald 415*1b2596b5SMatthias Ringwald /** 416*1b2596b5SMatthias Ringwald * \name megaAVR groups 417*1b2596b5SMatthias Ringwald * @{ 418*1b2596b5SMatthias Ringwald */ 419*1b2596b5SMatthias Ringwald /** ATmegaxx0/xx1 group */ 420*1b2596b5SMatthias Ringwald #define MEGA_XX0_1 (MEGA_XX0 || MEGA_XX1) 421*1b2596b5SMatthias Ringwald 422*1b2596b5SMatthias Ringwald /** ATmegaxx4 group */ 423*1b2596b5SMatthias Ringwald #define MEGA_XX4 ( \ 424*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega164A) || \ 425*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega164PA) || \ 426*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega324A) || \ 427*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega324PA) || \ 428*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644) || \ 429*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644A) || \ 430*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644PA) || \ 431*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1284P) || \ 432*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128RFA1) \ 433*1b2596b5SMatthias Ringwald ) 434*1b2596b5SMatthias Ringwald 435*1b2596b5SMatthias Ringwald /** ATmegaxx4 group */ 436*1b2596b5SMatthias Ringwald #define MEGA_XX4_A ( \ 437*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega164A) || \ 438*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega164PA) || \ 439*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega324A) || \ 440*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega324PA) || \ 441*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644A) || \ 442*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644PA) || \ 443*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1284P) \ 444*1b2596b5SMatthias Ringwald ) 445*1b2596b5SMatthias Ringwald 446*1b2596b5SMatthias Ringwald /** ATmegaxx8 group */ 447*1b2596b5SMatthias Ringwald #define MEGA_XX8 ( \ 448*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48) || \ 449*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48A) || \ 450*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48PA) || \ 451*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88) || \ 452*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88A) || \ 453*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88PA) || \ 454*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168) || \ 455*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168A) || \ 456*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168PA) || \ 457*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega328) || \ 458*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega328P) \ 459*1b2596b5SMatthias Ringwald ) 460*1b2596b5SMatthias Ringwald 461*1b2596b5SMatthias Ringwald /** ATmegaxx8A/P/PA group */ 462*1b2596b5SMatthias Ringwald #define MEGA_XX8_A ( \ 463*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48A) || \ 464*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48PA) || \ 465*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88A) || \ 466*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88PA) || \ 467*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168A) || \ 468*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168PA) || \ 469*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega328P) \ 470*1b2596b5SMatthias Ringwald ) 471*1b2596b5SMatthias Ringwald 472*1b2596b5SMatthias Ringwald /** ATmegaxx group */ 473*1b2596b5SMatthias Ringwald #define MEGA_XX ( \ 474*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16) || \ 475*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16A) || \ 476*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32) || \ 477*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32A) || \ 478*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64) || \ 479*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64A) || \ 480*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128) || \ 481*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128A) \ 482*1b2596b5SMatthias Ringwald ) 483*1b2596b5SMatthias Ringwald 484*1b2596b5SMatthias Ringwald /** ATmegaxxA/P/PA group */ 485*1b2596b5SMatthias Ringwald #define MEGA_XX_A ( \ 486*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16A) || \ 487*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32A) || \ 488*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64A) || \ 489*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128A) \ 490*1b2596b5SMatthias Ringwald ) 491*1b2596b5SMatthias Ringwald /** ATmegaxxRFA1 group */ 492*1b2596b5SMatthias Ringwald #define MEGA_RFA1 ( \ 493*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128RFA1) \ 494*1b2596b5SMatthias Ringwald ) 495*1b2596b5SMatthias Ringwald 496*1b2596b5SMatthias Ringwald /** ATmegaxxRFR2 group */ 497*1b2596b5SMatthias Ringwald #define MEGA_RFR2 ( \ 498*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64RFR2) || \ 499*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128RFR2) || \ 500*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega256RFR2) || \ 501*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644RFR2) || \ 502*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1284RFR2) || \ 503*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega2564RFR2) \ 504*1b2596b5SMatthias Ringwald ) 505*1b2596b5SMatthias Ringwald 506*1b2596b5SMatthias Ringwald 507*1b2596b5SMatthias Ringwald /** ATmegaxxRFxx group */ 508*1b2596b5SMatthias Ringwald #define MEGA_RF (MEGA_RFA1 || MEGA_RFR2) 509*1b2596b5SMatthias Ringwald 510*1b2596b5SMatthias Ringwald /** 511*1b2596b5SMatthias Ringwald * \name ATmegaxx_un0/un1/un2 subgroups 512*1b2596b5SMatthias Ringwald * @{ 513*1b2596b5SMatthias Ringwald */ 514*1b2596b5SMatthias Ringwald #define MEGA_XX_UN0 ( \ 515*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16) || \ 516*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16A) || \ 517*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32) || \ 518*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32A) \ 519*1b2596b5SMatthias Ringwald ) 520*1b2596b5SMatthias Ringwald 521*1b2596b5SMatthias Ringwald /** ATmegaxx group without power reduction and 522*1b2596b5SMatthias Ringwald * And interrupt sense register. 523*1b2596b5SMatthias Ringwald */ 524*1b2596b5SMatthias Ringwald #define MEGA_XX_UN1 ( \ 525*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64) || \ 526*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64A) || \ 527*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128) || \ 528*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega128A) \ 529*1b2596b5SMatthias Ringwald ) 530*1b2596b5SMatthias Ringwald 531*1b2596b5SMatthias Ringwald /** ATmegaxx group without power reduction and 532*1b2596b5SMatthias Ringwald * And interrupt sense register. 533*1b2596b5SMatthias Ringwald */ 534*1b2596b5SMatthias Ringwald #define MEGA_XX_UN2 ( \ 535*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega169P) || \ 536*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega169PA) || \ 537*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega329P) || \ 538*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega329PA) \ 539*1b2596b5SMatthias Ringwald ) 540*1b2596b5SMatthias Ringwald 541*1b2596b5SMatthias Ringwald /** Devices added to complete megaAVR offering. 542*1b2596b5SMatthias Ringwald * Please do not use this group symbol as it is not intended 543*1b2596b5SMatthias Ringwald * to be permanent: the devices should be regrouped. 544*1b2596b5SMatthias Ringwald */ 545*1b2596b5SMatthias Ringwald #define MEGA_UNCATEGORIZED ( \ 546*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90CAN128) || \ 547*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90CAN32) || \ 548*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90CAN64) || \ 549*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM1) || \ 550*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM216) || \ 551*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM2B) || \ 552*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM316) || \ 553*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM3B) || \ 554*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90PWM81) || \ 555*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB1286) || \ 556*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB1287) || \ 557*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB162) || \ 558*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB646) || \ 559*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB647) || \ 560*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(AT90USB82) || \ 561*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega1284) || \ 562*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega162) || \ 563*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega164P) || \ 564*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega165A) || \ 565*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega165P) || \ 566*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega165PA) || \ 567*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega168P) || \ 568*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega169A) || \ 569*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16M1) || \ 570*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16U2) || \ 571*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega16U4) || \ 572*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega256RFA2) || \ 573*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega324P) || \ 574*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega325) || \ 575*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3250) || \ 576*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3250A) || \ 577*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3250P) || \ 578*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3250PA) || \ 579*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega325A) || \ 580*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega325P) || \ 581*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega325PA) || \ 582*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega329) || \ 583*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3290) || \ 584*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3290A) || \ 585*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3290P) || \ 586*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega3290PA) || \ 587*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega329A) || \ 588*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32M1) || \ 589*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32U2) || \ 590*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega32U4) || \ 591*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega48P) || \ 592*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega644P) || \ 593*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega645) || \ 594*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6450) || \ 595*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6450A) || \ 596*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6450P) || \ 597*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega645A) || \ 598*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega645P) || \ 599*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega649) || \ 600*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6490) || \ 601*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6490A) || \ 602*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega6490P) || \ 603*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega649A) || \ 604*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega649P) || \ 605*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64M1) || \ 606*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega64RFA2) || \ 607*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega8) || \ 608*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega8515) || \ 609*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega8535) || \ 610*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega88P) || \ 611*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega8A) || \ 612*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATmega8U2) \ 613*1b2596b5SMatthias Ringwald ) 614*1b2596b5SMatthias Ringwald 615*1b2596b5SMatthias Ringwald /** Unspecified group */ 616*1b2596b5SMatthias Ringwald #define MEGA_UNSPECIFIED (MEGA_XX_UN0 || MEGA_XX_UN1 || MEGA_XX_UN2 || \ 617*1b2596b5SMatthias Ringwald MEGA_UNCATEGORIZED) 618*1b2596b5SMatthias Ringwald 619*1b2596b5SMatthias Ringwald /** @} */ 620*1b2596b5SMatthias Ringwald 621*1b2596b5SMatthias Ringwald /** megaAVR product line */ 622*1b2596b5SMatthias Ringwald #define MEGA (MEGA_XX0_1 || MEGA_XX4 || MEGA_XX8 || MEGA_XX || MEGA_RF || \ 623*1b2596b5SMatthias Ringwald MEGA_UNSPECIFIED) 624*1b2596b5SMatthias Ringwald 625*1b2596b5SMatthias Ringwald /** @} */ 626*1b2596b5SMatthias Ringwald 627*1b2596b5SMatthias Ringwald /** 628*1b2596b5SMatthias Ringwald * \defgroup tiny_part_macros_group tinyAVR parts 629*1b2596b5SMatthias Ringwald * 630*1b2596b5SMatthias Ringwald * @{ 631*1b2596b5SMatthias Ringwald */ 632*1b2596b5SMatthias Ringwald 633*1b2596b5SMatthias Ringwald /** 634*1b2596b5SMatthias Ringwald * \name tinyAVR groups 635*1b2596b5SMatthias Ringwald * @{ 636*1b2596b5SMatthias Ringwald */ 637*1b2596b5SMatthias Ringwald 638*1b2596b5SMatthias Ringwald /** Devices added to complete tinyAVR offering. 639*1b2596b5SMatthias Ringwald * Please do not use this group symbol as it is not intended 640*1b2596b5SMatthias Ringwald * to be permanent: the devices should be regrouped. 641*1b2596b5SMatthias Ringwald */ 642*1b2596b5SMatthias Ringwald #define TINY_UNCATEGORIZED ( \ 643*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny10) || \ 644*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny13) || \ 645*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny13A) || \ 646*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny1634) || \ 647*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny167) || \ 648*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny20) || \ 649*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny2313) || \ 650*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny2313A) || \ 651*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny24) || \ 652*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny24A) || \ 653*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny25) || \ 654*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny26) || \ 655*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny261) || \ 656*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny261A) || \ 657*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny4) || \ 658*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny40) || \ 659*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny4313) || \ 660*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny43U) || \ 661*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny44) || \ 662*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny44A) || \ 663*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny45) || \ 664*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny461) || \ 665*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny461A) || \ 666*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny48) || \ 667*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny5) || \ 668*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny828) || \ 669*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny84) || \ 670*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny84A) || \ 671*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny85) || \ 672*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny861) || \ 673*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny861A) || \ 674*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny87) || \ 675*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny88) || \ 676*1b2596b5SMatthias Ringwald AVR8_PART_IS_DEFINED(ATtiny9) \ 677*1b2596b5SMatthias Ringwald ) 678*1b2596b5SMatthias Ringwald 679*1b2596b5SMatthias Ringwald /** @} */ 680*1b2596b5SMatthias Ringwald 681*1b2596b5SMatthias Ringwald /** tinyAVR product line */ 682*1b2596b5SMatthias Ringwald #define TINY (TINY_UNCATEGORIZED) 683*1b2596b5SMatthias Ringwald 684*1b2596b5SMatthias Ringwald /** @} */ 685*1b2596b5SMatthias Ringwald 686*1b2596b5SMatthias Ringwald /** 687*1b2596b5SMatthias Ringwald * \defgroup sam_part_macros_group SAM parts 688*1b2596b5SMatthias Ringwald * @{ 689*1b2596b5SMatthias Ringwald */ 690*1b2596b5SMatthias Ringwald 691*1b2596b5SMatthias Ringwald /** 692*1b2596b5SMatthias Ringwald * \name SAM3S series 693*1b2596b5SMatthias Ringwald * @{ 694*1b2596b5SMatthias Ringwald */ 695*1b2596b5SMatthias Ringwald #define SAM3S1 ( \ 696*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S1A) || \ 697*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S1B) || \ 698*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S1C) \ 699*1b2596b5SMatthias Ringwald ) 700*1b2596b5SMatthias Ringwald 701*1b2596b5SMatthias Ringwald #define SAM3S2 ( \ 702*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S2A) || \ 703*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S2B) || \ 704*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S2C) \ 705*1b2596b5SMatthias Ringwald ) 706*1b2596b5SMatthias Ringwald 707*1b2596b5SMatthias Ringwald #define SAM3S4 ( \ 708*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S4A) || \ 709*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S4B) || \ 710*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S4C) \ 711*1b2596b5SMatthias Ringwald ) 712*1b2596b5SMatthias Ringwald 713*1b2596b5SMatthias Ringwald #define SAM3S8 ( \ 714*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S8B) || \ 715*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3S8C) \ 716*1b2596b5SMatthias Ringwald ) 717*1b2596b5SMatthias Ringwald 718*1b2596b5SMatthias Ringwald #define SAM3SD8 ( \ 719*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3SD8B) || \ 720*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3SD8C) \ 721*1b2596b5SMatthias Ringwald ) 722*1b2596b5SMatthias Ringwald /** @} */ 723*1b2596b5SMatthias Ringwald 724*1b2596b5SMatthias Ringwald /** 725*1b2596b5SMatthias Ringwald * \name SAM3U series 726*1b2596b5SMatthias Ringwald * @{ 727*1b2596b5SMatthias Ringwald */ 728*1b2596b5SMatthias Ringwald #define SAM3U1 ( \ 729*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U1C) || \ 730*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U1E) \ 731*1b2596b5SMatthias Ringwald ) 732*1b2596b5SMatthias Ringwald 733*1b2596b5SMatthias Ringwald #define SAM3U2 ( \ 734*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U2C) || \ 735*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U2E) \ 736*1b2596b5SMatthias Ringwald ) 737*1b2596b5SMatthias Ringwald 738*1b2596b5SMatthias Ringwald #define SAM3U4 ( \ 739*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U4C) || \ 740*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3U4E) \ 741*1b2596b5SMatthias Ringwald ) 742*1b2596b5SMatthias Ringwald /** @} */ 743*1b2596b5SMatthias Ringwald 744*1b2596b5SMatthias Ringwald /** 745*1b2596b5SMatthias Ringwald * \name SAM3N series 746*1b2596b5SMatthias Ringwald * @{ 747*1b2596b5SMatthias Ringwald */ 748*1b2596b5SMatthias Ringwald #define SAM3N00 ( \ 749*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N00A) || \ 750*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N00B) \ 751*1b2596b5SMatthias Ringwald ) 752*1b2596b5SMatthias Ringwald 753*1b2596b5SMatthias Ringwald #define SAM3N0 ( \ 754*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N0A) || \ 755*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N0B) || \ 756*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N0C) \ 757*1b2596b5SMatthias Ringwald ) 758*1b2596b5SMatthias Ringwald 759*1b2596b5SMatthias Ringwald #define SAM3N1 ( \ 760*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N1A) || \ 761*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N1B) || \ 762*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N1C) \ 763*1b2596b5SMatthias Ringwald ) 764*1b2596b5SMatthias Ringwald 765*1b2596b5SMatthias Ringwald #define SAM3N2 ( \ 766*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N2A) || \ 767*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N2B) || \ 768*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N2C) \ 769*1b2596b5SMatthias Ringwald ) 770*1b2596b5SMatthias Ringwald 771*1b2596b5SMatthias Ringwald #define SAM3N4 ( \ 772*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N4A) || \ 773*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N4B) || \ 774*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3N4C) \ 775*1b2596b5SMatthias Ringwald ) 776*1b2596b5SMatthias Ringwald /** @} */ 777*1b2596b5SMatthias Ringwald 778*1b2596b5SMatthias Ringwald /** 779*1b2596b5SMatthias Ringwald * \name SAM3X series 780*1b2596b5SMatthias Ringwald * @{ 781*1b2596b5SMatthias Ringwald */ 782*1b2596b5SMatthias Ringwald #define SAM3X4 ( \ 783*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3X4C) || \ 784*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3X4E) \ 785*1b2596b5SMatthias Ringwald ) 786*1b2596b5SMatthias Ringwald 787*1b2596b5SMatthias Ringwald #define SAM3X8 ( \ 788*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3X8C) || \ 789*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3X8E) || \ 790*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3X8H) \ 791*1b2596b5SMatthias Ringwald ) 792*1b2596b5SMatthias Ringwald /** @} */ 793*1b2596b5SMatthias Ringwald 794*1b2596b5SMatthias Ringwald /** 795*1b2596b5SMatthias Ringwald * \name SAM3A series 796*1b2596b5SMatthias Ringwald * @{ 797*1b2596b5SMatthias Ringwald */ 798*1b2596b5SMatthias Ringwald #define SAM3A4 ( \ 799*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3A4C) \ 800*1b2596b5SMatthias Ringwald ) 801*1b2596b5SMatthias Ringwald 802*1b2596b5SMatthias Ringwald #define SAM3A8 ( \ 803*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM3A8C) \ 804*1b2596b5SMatthias Ringwald ) 805*1b2596b5SMatthias Ringwald /** @} */ 806*1b2596b5SMatthias Ringwald 807*1b2596b5SMatthias Ringwald /** 808*1b2596b5SMatthias Ringwald * \name SAM4S series 809*1b2596b5SMatthias Ringwald * @{ 810*1b2596b5SMatthias Ringwald */ 811*1b2596b5SMatthias Ringwald #define SAM4S2 ( \ 812*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S2A) || \ 813*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S2B) || \ 814*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S2C) \ 815*1b2596b5SMatthias Ringwald ) 816*1b2596b5SMatthias Ringwald 817*1b2596b5SMatthias Ringwald #define SAM4S4 ( \ 818*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S4A) || \ 819*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S4B) || \ 820*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S4C) \ 821*1b2596b5SMatthias Ringwald ) 822*1b2596b5SMatthias Ringwald 823*1b2596b5SMatthias Ringwald #define SAM4S8 ( \ 824*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S8B) || \ 825*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S8C) \ 826*1b2596b5SMatthias Ringwald ) 827*1b2596b5SMatthias Ringwald 828*1b2596b5SMatthias Ringwald #define SAM4S16 ( \ 829*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S16B) || \ 830*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4S16C) \ 831*1b2596b5SMatthias Ringwald ) 832*1b2596b5SMatthias Ringwald 833*1b2596b5SMatthias Ringwald #define SAM4SA16 ( \ 834*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SA16B) || \ 835*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SA16C) \ 836*1b2596b5SMatthias Ringwald ) 837*1b2596b5SMatthias Ringwald 838*1b2596b5SMatthias Ringwald #define SAM4SD16 ( \ 839*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SD16B) || \ 840*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SD16C) \ 841*1b2596b5SMatthias Ringwald ) 842*1b2596b5SMatthias Ringwald 843*1b2596b5SMatthias Ringwald #define SAM4SD32 ( \ 844*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SD32B) || \ 845*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4SD32C) \ 846*1b2596b5SMatthias Ringwald ) 847*1b2596b5SMatthias Ringwald /** @} */ 848*1b2596b5SMatthias Ringwald 849*1b2596b5SMatthias Ringwald /** 850*1b2596b5SMatthias Ringwald * \name SAM4L series 851*1b2596b5SMatthias Ringwald * @{ 852*1b2596b5SMatthias Ringwald */ 853*1b2596b5SMatthias Ringwald #define SAM4LS ( \ 854*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS2A) || \ 855*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS2B) || \ 856*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS2C) || \ 857*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS4A) || \ 858*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS4B) || \ 859*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS4C) || \ 860*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS8A) || \ 861*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS8B) || \ 862*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LS8C) \ 863*1b2596b5SMatthias Ringwald ) 864*1b2596b5SMatthias Ringwald 865*1b2596b5SMatthias Ringwald #define SAM4LC ( \ 866*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC2A) || \ 867*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC2B) || \ 868*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC2C) || \ 869*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC4A) || \ 870*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC4B) || \ 871*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC4C) || \ 872*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC8A) || \ 873*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC8B) || \ 874*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4LC8C) \ 875*1b2596b5SMatthias Ringwald ) 876*1b2596b5SMatthias Ringwald /** @} */ 877*1b2596b5SMatthias Ringwald 878*1b2596b5SMatthias Ringwald /** 879*1b2596b5SMatthias Ringwald * \name SAMD20 series 880*1b2596b5SMatthias Ringwald * @{ 881*1b2596b5SMatthias Ringwald */ 882*1b2596b5SMatthias Ringwald #define SAMD20J ( \ 883*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20J14) || \ 884*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20J15) || \ 885*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20J16) || \ 886*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20J17) || \ 887*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20J18) \ 888*1b2596b5SMatthias Ringwald ) 889*1b2596b5SMatthias Ringwald 890*1b2596b5SMatthias Ringwald #define SAMD20G ( \ 891*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G14) || \ 892*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G15) || \ 893*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G16) || \ 894*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G17) || \ 895*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G17U) || \ 896*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G18) || \ 897*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20G18U) \ 898*1b2596b5SMatthias Ringwald ) 899*1b2596b5SMatthias Ringwald 900*1b2596b5SMatthias Ringwald #define SAMD20E ( \ 901*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20E14) || \ 902*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20E15) || \ 903*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20E16) || \ 904*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20E17) || \ 905*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD20E18) \ 906*1b2596b5SMatthias Ringwald ) 907*1b2596b5SMatthias Ringwald /** @} */ 908*1b2596b5SMatthias Ringwald 909*1b2596b5SMatthias Ringwald /** 910*1b2596b5SMatthias Ringwald * \name SAMD21 series 911*1b2596b5SMatthias Ringwald * @{ 912*1b2596b5SMatthias Ringwald */ 913*1b2596b5SMatthias Ringwald #define SAMD21J ( \ 914*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J15A) || \ 915*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J16A) || \ 916*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J17A) || \ 917*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J18A) || \ 918*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J15B) || \ 919*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21J16B) \ 920*1b2596b5SMatthias Ringwald ) 921*1b2596b5SMatthias Ringwald 922*1b2596b5SMatthias Ringwald #define SAMD21G ( \ 923*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G15A) || \ 924*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G16A) || \ 925*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G17A) || \ 926*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G17AU) || \ 927*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G18A) || \ 928*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G18AU) || \ 929*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G15B) || \ 930*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G16B) || \ 931*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G15L) || \ 932*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G16L) \ 933*1b2596b5SMatthias Ringwald ) 934*1b2596b5SMatthias Ringwald 935*1b2596b5SMatthias Ringwald #define SAMD21GXXL ( \ 936*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G15L) || \ 937*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21G16L) \ 938*1b2596b5SMatthias Ringwald ) 939*1b2596b5SMatthias Ringwald 940*1b2596b5SMatthias Ringwald #define SAMD21E ( \ 941*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E15A) || \ 942*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E16A) || \ 943*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E17A) || \ 944*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E18A) || \ 945*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E15B) || \ 946*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E15BU) || \ 947*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E16B) || \ 948*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E16BU) || \ 949*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E15L) || \ 950*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E16L) \ 951*1b2596b5SMatthias Ringwald ) 952*1b2596b5SMatthias Ringwald 953*1b2596b5SMatthias Ringwald #define SAMD21EXXL ( \ 954*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E15L) || \ 955*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD21E16L) \ 956*1b2596b5SMatthias Ringwald ) 957*1b2596b5SMatthias Ringwald 958*1b2596b5SMatthias Ringwald /** @} */ 959*1b2596b5SMatthias Ringwald 960*1b2596b5SMatthias Ringwald /** 961*1b2596b5SMatthias Ringwald * \name SAMR21 series 962*1b2596b5SMatthias Ringwald * @{ 963*1b2596b5SMatthias Ringwald */ 964*1b2596b5SMatthias Ringwald #define SAMR21G ( \ 965*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21G16A) || \ 966*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21G17A) || \ 967*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21G18A) \ 968*1b2596b5SMatthias Ringwald ) 969*1b2596b5SMatthias Ringwald 970*1b2596b5SMatthias Ringwald #define SAMR21E ( \ 971*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21E16A) || \ 972*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21E17A) || \ 973*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21E18A) || \ 974*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMR21E19A) \ 975*1b2596b5SMatthias Ringwald ) 976*1b2596b5SMatthias Ringwald /** @} */ 977*1b2596b5SMatthias Ringwald 978*1b2596b5SMatthias Ringwald /** 979*1b2596b5SMatthias Ringwald * \name SAMD09 series 980*1b2596b5SMatthias Ringwald * @{ 981*1b2596b5SMatthias Ringwald */ 982*1b2596b5SMatthias Ringwald #define SAMD09C ( \ 983*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD09C13A) \ 984*1b2596b5SMatthias Ringwald ) 985*1b2596b5SMatthias Ringwald 986*1b2596b5SMatthias Ringwald #define SAMD09D ( \ 987*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD09D14A) \ 988*1b2596b5SMatthias Ringwald ) 989*1b2596b5SMatthias Ringwald /** @} */ 990*1b2596b5SMatthias Ringwald 991*1b2596b5SMatthias Ringwald /** 992*1b2596b5SMatthias Ringwald * \name SAMD10 series 993*1b2596b5SMatthias Ringwald * @{ 994*1b2596b5SMatthias Ringwald */ 995*1b2596b5SMatthias Ringwald #define SAMD10C ( \ 996*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10C12A) || \ 997*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10C13A) || \ 998*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10C14A) \ 999*1b2596b5SMatthias Ringwald ) 1000*1b2596b5SMatthias Ringwald 1001*1b2596b5SMatthias Ringwald #define SAMD10DS ( \ 1002*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D12AS) || \ 1003*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D13AS) || \ 1004*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D14AS) \ 1005*1b2596b5SMatthias Ringwald ) 1006*1b2596b5SMatthias Ringwald 1007*1b2596b5SMatthias Ringwald #define SAMD10DM ( \ 1008*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D12AM) || \ 1009*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D13AM) || \ 1010*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD10D14AM) \ 1011*1b2596b5SMatthias Ringwald ) 1012*1b2596b5SMatthias Ringwald /** @} */ 1013*1b2596b5SMatthias Ringwald 1014*1b2596b5SMatthias Ringwald /** 1015*1b2596b5SMatthias Ringwald * \name SAMD11 series 1016*1b2596b5SMatthias Ringwald * @{ 1017*1b2596b5SMatthias Ringwald */ 1018*1b2596b5SMatthias Ringwald #define SAMD11C ( \ 1019*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD11C14A) \ 1020*1b2596b5SMatthias Ringwald ) 1021*1b2596b5SMatthias Ringwald 1022*1b2596b5SMatthias Ringwald #define SAMD11DS ( \ 1023*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD11D14AS) \ 1024*1b2596b5SMatthias Ringwald ) 1025*1b2596b5SMatthias Ringwald 1026*1b2596b5SMatthias Ringwald #define SAMD11DM ( \ 1027*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMD11D14AM) \ 1028*1b2596b5SMatthias Ringwald ) 1029*1b2596b5SMatthias Ringwald /** @} */ 1030*1b2596b5SMatthias Ringwald 1031*1b2596b5SMatthias Ringwald /** 1032*1b2596b5SMatthias Ringwald * \name SAML21 series 1033*1b2596b5SMatthias Ringwald * @{ 1034*1b2596b5SMatthias Ringwald */ 1035*1b2596b5SMatthias Ringwald #define SAML21E ( \ 1036*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E18A) || \ 1037*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E15B) || \ 1038*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E16B) || \ 1039*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E17B) || \ 1040*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E18B) \ 1041*1b2596b5SMatthias Ringwald ) 1042*1b2596b5SMatthias Ringwald 1043*1b2596b5SMatthias Ringwald #define SAML21G ( \ 1044*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G18A) || \ 1045*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G16B) || \ 1046*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G17B) || \ 1047*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G18B) \ 1048*1b2596b5SMatthias Ringwald ) 1049*1b2596b5SMatthias Ringwald 1050*1b2596b5SMatthias Ringwald #define SAML21J ( \ 1051*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J18A) || \ 1052*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J16B) || \ 1053*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J17B) || \ 1054*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J18B) \ 1055*1b2596b5SMatthias Ringwald ) 1056*1b2596b5SMatthias Ringwald 1057*1b2596b5SMatthias Ringwald /* Group for SAML21 A variant: SAML21[E/G/J][18]A */ 1058*1b2596b5SMatthias Ringwald #define SAML21XXXA ( \ 1059*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E18A) || \ 1060*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G18A) || \ 1061*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J18A) \ 1062*1b2596b5SMatthias Ringwald ) 1063*1b2596b5SMatthias Ringwald 1064*1b2596b5SMatthias Ringwald /* Group for SAML21 B variant: SAML21[E/G/J][15/16/1718]B */ 1065*1b2596b5SMatthias Ringwald #define SAML21XXXB ( \ 1066*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E15B) || \ 1067*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E16B) || \ 1068*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E17B) || \ 1069*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21E18B) || \ 1070*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G16B) || \ 1071*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G17B) || \ 1072*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21G18B) || \ 1073*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J16B) || \ 1074*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J17B) || \ 1075*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML21J18B) \ 1076*1b2596b5SMatthias Ringwald ) 1077*1b2596b5SMatthias Ringwald 1078*1b2596b5SMatthias Ringwald /** @} */ 1079*1b2596b5SMatthias Ringwald 1080*1b2596b5SMatthias Ringwald /** 1081*1b2596b5SMatthias Ringwald * \name SAML22 series 1082*1b2596b5SMatthias Ringwald * @{ 1083*1b2596b5SMatthias Ringwald */ 1084*1b2596b5SMatthias Ringwald #define SAML22N ( \ 1085*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22N16A) || \ 1086*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22N17A) || \ 1087*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22N18A) \ 1088*1b2596b5SMatthias Ringwald ) 1089*1b2596b5SMatthias Ringwald 1090*1b2596b5SMatthias Ringwald #define SAML22G ( \ 1091*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22G16A) || \ 1092*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22G17A) || \ 1093*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22G18A) \ 1094*1b2596b5SMatthias Ringwald ) 1095*1b2596b5SMatthias Ringwald 1096*1b2596b5SMatthias Ringwald #define SAML22J ( \ 1097*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22J16A) || \ 1098*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22J17A) || \ 1099*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAML22J18A) \ 1100*1b2596b5SMatthias Ringwald ) 1101*1b2596b5SMatthias Ringwald /** @} */ 1102*1b2596b5SMatthias Ringwald 1103*1b2596b5SMatthias Ringwald /** 1104*1b2596b5SMatthias Ringwald * \name SAMDA0 series 1105*1b2596b5SMatthias Ringwald * @{ 1106*1b2596b5SMatthias Ringwald */ 1107*1b2596b5SMatthias Ringwald #define SAMDA0J ( \ 1108*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0J14A) || \ 1109*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0J15A) || \ 1110*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0J16A) \ 1111*1b2596b5SMatthias Ringwald ) 1112*1b2596b5SMatthias Ringwald 1113*1b2596b5SMatthias Ringwald #define SAMDA0G ( \ 1114*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0G14A) || \ 1115*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0G15A) || \ 1116*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0G16A) \ 1117*1b2596b5SMatthias Ringwald ) 1118*1b2596b5SMatthias Ringwald 1119*1b2596b5SMatthias Ringwald #define SAMDA0E ( \ 1120*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0E14A) || \ 1121*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0E15A) || \ 1122*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA0E16A) \ 1123*1b2596b5SMatthias Ringwald ) 1124*1b2596b5SMatthias Ringwald /** @} */ 1125*1b2596b5SMatthias Ringwald 1126*1b2596b5SMatthias Ringwald /** 1127*1b2596b5SMatthias Ringwald * \name SAMDA1 series 1128*1b2596b5SMatthias Ringwald * @{ 1129*1b2596b5SMatthias Ringwald */ 1130*1b2596b5SMatthias Ringwald #define SAMDA1J ( \ 1131*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1J14A) || \ 1132*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1J15A) || \ 1133*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1J16A) \ 1134*1b2596b5SMatthias Ringwald ) 1135*1b2596b5SMatthias Ringwald 1136*1b2596b5SMatthias Ringwald #define SAMDA1G ( \ 1137*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1G14A) || \ 1138*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1G15A) || \ 1139*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1G16A) \ 1140*1b2596b5SMatthias Ringwald ) 1141*1b2596b5SMatthias Ringwald 1142*1b2596b5SMatthias Ringwald #define SAMDA1E ( \ 1143*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1E14A) || \ 1144*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1E15A) || \ 1145*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMDA1E16A) \ 1146*1b2596b5SMatthias Ringwald ) 1147*1b2596b5SMatthias Ringwald /** @} */ 1148*1b2596b5SMatthias Ringwald 1149*1b2596b5SMatthias Ringwald /** 1150*1b2596b5SMatthias Ringwald * \name SAMC20 series 1151*1b2596b5SMatthias Ringwald * @{ 1152*1b2596b5SMatthias Ringwald */ 1153*1b2596b5SMatthias Ringwald #define SAMC20E ( \ 1154*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20E15A) || \ 1155*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20E16A) || \ 1156*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20E17A) || \ 1157*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20E18A) \ 1158*1b2596b5SMatthias Ringwald ) 1159*1b2596b5SMatthias Ringwald 1160*1b2596b5SMatthias Ringwald #define SAMC20G ( \ 1161*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20G15A) || \ 1162*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20G16A) || \ 1163*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20G17A) || \ 1164*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20G18A) \ 1165*1b2596b5SMatthias Ringwald ) 1166*1b2596b5SMatthias Ringwald 1167*1b2596b5SMatthias Ringwald #define SAMC20J ( \ 1168*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20J15A) || \ 1169*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20J16A) || \ 1170*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20J17A) || \ 1171*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC20J18A) \ 1172*1b2596b5SMatthias Ringwald ) 1173*1b2596b5SMatthias Ringwald /** @} */ 1174*1b2596b5SMatthias Ringwald 1175*1b2596b5SMatthias Ringwald /** 1176*1b2596b5SMatthias Ringwald * \name SAMC21 series 1177*1b2596b5SMatthias Ringwald * @{ 1178*1b2596b5SMatthias Ringwald */ 1179*1b2596b5SMatthias Ringwald #define SAMC21E ( \ 1180*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21E15A) || \ 1181*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21E16A) || \ 1182*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21E17A) || \ 1183*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21E18A) \ 1184*1b2596b5SMatthias Ringwald ) 1185*1b2596b5SMatthias Ringwald 1186*1b2596b5SMatthias Ringwald #define SAMC21G ( \ 1187*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21G15A) || \ 1188*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21G16A) || \ 1189*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21G17A) || \ 1190*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21G18A) \ 1191*1b2596b5SMatthias Ringwald ) 1192*1b2596b5SMatthias Ringwald 1193*1b2596b5SMatthias Ringwald #define SAMC21J ( \ 1194*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21J15A) || \ 1195*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21J16A) || \ 1196*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21J17A) || \ 1197*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMC21J18A) \ 1198*1b2596b5SMatthias Ringwald ) 1199*1b2596b5SMatthias Ringwald /** @} */ 1200*1b2596b5SMatthias Ringwald 1201*1b2596b5SMatthias Ringwald /** 1202*1b2596b5SMatthias Ringwald * \name SAM4E series 1203*1b2596b5SMatthias Ringwald * @{ 1204*1b2596b5SMatthias Ringwald */ 1205*1b2596b5SMatthias Ringwald #define SAM4E8 ( \ 1206*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E8C) || \ 1207*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E8CB) || \ 1208*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E8E) \ 1209*1b2596b5SMatthias Ringwald ) 1210*1b2596b5SMatthias Ringwald 1211*1b2596b5SMatthias Ringwald #define SAM4E16 ( \ 1212*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E16C) || \ 1213*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E16CB) || \ 1214*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4E16E) \ 1215*1b2596b5SMatthias Ringwald ) 1216*1b2596b5SMatthias Ringwald /** @} */ 1217*1b2596b5SMatthias Ringwald 1218*1b2596b5SMatthias Ringwald /** 1219*1b2596b5SMatthias Ringwald * \name SAM4N series 1220*1b2596b5SMatthias Ringwald * @{ 1221*1b2596b5SMatthias Ringwald */ 1222*1b2596b5SMatthias Ringwald #define SAM4N8 ( \ 1223*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4N8A) || \ 1224*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4N8B) || \ 1225*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4N8C) \ 1226*1b2596b5SMatthias Ringwald ) 1227*1b2596b5SMatthias Ringwald 1228*1b2596b5SMatthias Ringwald #define SAM4N16 ( \ 1229*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4N16B) || \ 1230*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4N16C) \ 1231*1b2596b5SMatthias Ringwald ) 1232*1b2596b5SMatthias Ringwald /** @} */ 1233*1b2596b5SMatthias Ringwald 1234*1b2596b5SMatthias Ringwald /** 1235*1b2596b5SMatthias Ringwald * \name SAM4C series 1236*1b2596b5SMatthias Ringwald * @{ 1237*1b2596b5SMatthias Ringwald */ 1238*1b2596b5SMatthias Ringwald #define SAM4C4_0 ( \ 1239*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C4C_0) \ 1240*1b2596b5SMatthias Ringwald ) 1241*1b2596b5SMatthias Ringwald 1242*1b2596b5SMatthias Ringwald #define SAM4C4_1 ( \ 1243*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C4C_1) \ 1244*1b2596b5SMatthias Ringwald ) 1245*1b2596b5SMatthias Ringwald 1246*1b2596b5SMatthias Ringwald #define SAM4C4 (SAM4C4_0 || SAM4C4_1) 1247*1b2596b5SMatthias Ringwald 1248*1b2596b5SMatthias Ringwald #define SAM4C8_0 ( \ 1249*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C8C_0) \ 1250*1b2596b5SMatthias Ringwald ) 1251*1b2596b5SMatthias Ringwald 1252*1b2596b5SMatthias Ringwald #define SAM4C8_1 ( \ 1253*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C8C_1) \ 1254*1b2596b5SMatthias Ringwald ) 1255*1b2596b5SMatthias Ringwald 1256*1b2596b5SMatthias Ringwald #define SAM4C8 (SAM4C8_0 || SAM4C8_1) 1257*1b2596b5SMatthias Ringwald 1258*1b2596b5SMatthias Ringwald #define SAM4C16_0 ( \ 1259*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C16C_0) \ 1260*1b2596b5SMatthias Ringwald ) 1261*1b2596b5SMatthias Ringwald 1262*1b2596b5SMatthias Ringwald #define SAM4C16_1 ( \ 1263*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C16C_1) \ 1264*1b2596b5SMatthias Ringwald ) 1265*1b2596b5SMatthias Ringwald 1266*1b2596b5SMatthias Ringwald #define SAM4C16 (SAM4C16_0 || SAM4C16_1) 1267*1b2596b5SMatthias Ringwald 1268*1b2596b5SMatthias Ringwald #define SAM4C32_0 ( \ 1269*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C32C_0) ||\ 1270*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C32E_0) \ 1271*1b2596b5SMatthias Ringwald ) 1272*1b2596b5SMatthias Ringwald 1273*1b2596b5SMatthias Ringwald #define SAM4C32_1 ( \ 1274*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C32C_1) ||\ 1275*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4C32E_1) \ 1276*1b2596b5SMatthias Ringwald ) 1277*1b2596b5SMatthias Ringwald 1278*1b2596b5SMatthias Ringwald 1279*1b2596b5SMatthias Ringwald #define SAM4C32 (SAM4C32_0 || SAM4C32_1) 1280*1b2596b5SMatthias Ringwald 1281*1b2596b5SMatthias Ringwald /** @} */ 1282*1b2596b5SMatthias Ringwald 1283*1b2596b5SMatthias Ringwald /** 1284*1b2596b5SMatthias Ringwald * \name SAM4CM series 1285*1b2596b5SMatthias Ringwald * @{ 1286*1b2596b5SMatthias Ringwald */ 1287*1b2596b5SMatthias Ringwald #define SAM4CMP8_0 ( \ 1288*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP8C_0) \ 1289*1b2596b5SMatthias Ringwald ) 1290*1b2596b5SMatthias Ringwald 1291*1b2596b5SMatthias Ringwald #define SAM4CMP8_1 ( \ 1292*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP8C_1) \ 1293*1b2596b5SMatthias Ringwald ) 1294*1b2596b5SMatthias Ringwald 1295*1b2596b5SMatthias Ringwald #define SAM4CMP8 (SAM4CMP8_0 || SAM4CMP8_1) 1296*1b2596b5SMatthias Ringwald 1297*1b2596b5SMatthias Ringwald #define SAM4CMP16_0 ( \ 1298*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP16C_0) \ 1299*1b2596b5SMatthias Ringwald ) 1300*1b2596b5SMatthias Ringwald 1301*1b2596b5SMatthias Ringwald #define SAM4CMP16_1 ( \ 1302*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP16C_1) \ 1303*1b2596b5SMatthias Ringwald ) 1304*1b2596b5SMatthias Ringwald 1305*1b2596b5SMatthias Ringwald #define SAM4CMP16 (SAM4CMP16_0 || SAM4CMP16_1) 1306*1b2596b5SMatthias Ringwald 1307*1b2596b5SMatthias Ringwald #define SAM4CMP32_0 ( \ 1308*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP32C_0) \ 1309*1b2596b5SMatthias Ringwald ) 1310*1b2596b5SMatthias Ringwald 1311*1b2596b5SMatthias Ringwald #define SAM4CMP32_1 ( \ 1312*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMP32C_1) \ 1313*1b2596b5SMatthias Ringwald ) 1314*1b2596b5SMatthias Ringwald 1315*1b2596b5SMatthias Ringwald #define SAM4CMP32 (SAM4CMP32_0 || SAM4CMP32_1) 1316*1b2596b5SMatthias Ringwald 1317*1b2596b5SMatthias Ringwald #define SAM4CMS4_0 ( \ 1318*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS4C_0) \ 1319*1b2596b5SMatthias Ringwald ) 1320*1b2596b5SMatthias Ringwald 1321*1b2596b5SMatthias Ringwald #define SAM4CMS4_1 ( \ 1322*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS4C_1) \ 1323*1b2596b5SMatthias Ringwald ) 1324*1b2596b5SMatthias Ringwald 1325*1b2596b5SMatthias Ringwald #define SAM4CMS4 (SAM4CMS4_0 || SAM4CMS4_1) 1326*1b2596b5SMatthias Ringwald 1327*1b2596b5SMatthias Ringwald #define SAM4CMS8_0 ( \ 1328*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS8C_0) \ 1329*1b2596b5SMatthias Ringwald ) 1330*1b2596b5SMatthias Ringwald 1331*1b2596b5SMatthias Ringwald #define SAM4CMS8_1 ( \ 1332*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS8C_1) \ 1333*1b2596b5SMatthias Ringwald ) 1334*1b2596b5SMatthias Ringwald 1335*1b2596b5SMatthias Ringwald #define SAM4CMS8 (SAM4CMS8_0 || SAM4CMS8_1) 1336*1b2596b5SMatthias Ringwald 1337*1b2596b5SMatthias Ringwald #define SAM4CMS16_0 ( \ 1338*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS16C_0) \ 1339*1b2596b5SMatthias Ringwald ) 1340*1b2596b5SMatthias Ringwald 1341*1b2596b5SMatthias Ringwald #define SAM4CMS16_1 ( \ 1342*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS16C_1) \ 1343*1b2596b5SMatthias Ringwald ) 1344*1b2596b5SMatthias Ringwald 1345*1b2596b5SMatthias Ringwald #define SAM4CMS16 (SAM4CMS16_0 || SAM4CMS16_1) 1346*1b2596b5SMatthias Ringwald 1347*1b2596b5SMatthias Ringwald #define SAM4CMS32_0 ( \ 1348*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS32C_0) \ 1349*1b2596b5SMatthias Ringwald ) 1350*1b2596b5SMatthias Ringwald 1351*1b2596b5SMatthias Ringwald #define SAM4CMS32_1 ( \ 1352*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CMS32C_1) \ 1353*1b2596b5SMatthias Ringwald ) 1354*1b2596b5SMatthias Ringwald 1355*1b2596b5SMatthias Ringwald #define SAM4CMS32 (SAM4CMS32_0 || SAM4CMS32_1) 1356*1b2596b5SMatthias Ringwald 1357*1b2596b5SMatthias Ringwald /** @} */ 1358*1b2596b5SMatthias Ringwald 1359*1b2596b5SMatthias Ringwald /** 1360*1b2596b5SMatthias Ringwald * \name SAM4CP series 1361*1b2596b5SMatthias Ringwald * @{ 1362*1b2596b5SMatthias Ringwald */ 1363*1b2596b5SMatthias Ringwald #define SAM4CP16_0 ( \ 1364*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CP16B_0) \ 1365*1b2596b5SMatthias Ringwald ) 1366*1b2596b5SMatthias Ringwald 1367*1b2596b5SMatthias Ringwald #define SAM4CP16_1 ( \ 1368*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAM4CP16B_1) \ 1369*1b2596b5SMatthias Ringwald ) 1370*1b2596b5SMatthias Ringwald 1371*1b2596b5SMatthias Ringwald #define SAM4CP16 (SAM4CP16_0 || SAM4CP16_1) 1372*1b2596b5SMatthias Ringwald /** @} */ 1373*1b2596b5SMatthias Ringwald 1374*1b2596b5SMatthias Ringwald /** 1375*1b2596b5SMatthias Ringwald * \name SAMG series 1376*1b2596b5SMatthias Ringwald * @{ 1377*1b2596b5SMatthias Ringwald */ 1378*1b2596b5SMatthias Ringwald #define SAMG51 ( \ 1379*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG51G18) \ 1380*1b2596b5SMatthias Ringwald ) 1381*1b2596b5SMatthias Ringwald 1382*1b2596b5SMatthias Ringwald #define SAMG53 ( \ 1383*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG53G19) ||\ 1384*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG53N19) \ 1385*1b2596b5SMatthias Ringwald ) 1386*1b2596b5SMatthias Ringwald 1387*1b2596b5SMatthias Ringwald #define SAMG54 ( \ 1388*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG54G19) ||\ 1389*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG54J19) ||\ 1390*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG54N19) \ 1391*1b2596b5SMatthias Ringwald ) 1392*1b2596b5SMatthias Ringwald 1393*1b2596b5SMatthias Ringwald #define SAMG55 ( \ 1394*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG55G18) ||\ 1395*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG55G19) ||\ 1396*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG55J18) ||\ 1397*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG55J19) ||\ 1398*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMG55N19) \ 1399*1b2596b5SMatthias Ringwald ) 1400*1b2596b5SMatthias Ringwald /** @} */ 1401*1b2596b5SMatthias Ringwald 1402*1b2596b5SMatthias Ringwald /** 1403*1b2596b5SMatthias Ringwald * \name SAMV71 series 1404*1b2596b5SMatthias Ringwald * @{ 1405*1b2596b5SMatthias Ringwald */ 1406*1b2596b5SMatthias Ringwald #define SAMV71J ( \ 1407*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71J19) || \ 1408*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71J20) || \ 1409*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71J21) \ 1410*1b2596b5SMatthias Ringwald ) 1411*1b2596b5SMatthias Ringwald 1412*1b2596b5SMatthias Ringwald #define SAMV71N ( \ 1413*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71N19) || \ 1414*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71N20) || \ 1415*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71N21) \ 1416*1b2596b5SMatthias Ringwald ) 1417*1b2596b5SMatthias Ringwald 1418*1b2596b5SMatthias Ringwald #define SAMV71Q ( \ 1419*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71Q19) || \ 1420*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71Q20) || \ 1421*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV71Q21) \ 1422*1b2596b5SMatthias Ringwald ) 1423*1b2596b5SMatthias Ringwald /** @} */ 1424*1b2596b5SMatthias Ringwald 1425*1b2596b5SMatthias Ringwald /** 1426*1b2596b5SMatthias Ringwald * \name SAMV70 series 1427*1b2596b5SMatthias Ringwald * @{ 1428*1b2596b5SMatthias Ringwald */ 1429*1b2596b5SMatthias Ringwald #define SAMV70J ( \ 1430*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70J19) || \ 1431*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70J20) \ 1432*1b2596b5SMatthias Ringwald ) 1433*1b2596b5SMatthias Ringwald 1434*1b2596b5SMatthias Ringwald #define SAMV70N ( \ 1435*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70N19) || \ 1436*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70N20) \ 1437*1b2596b5SMatthias Ringwald ) 1438*1b2596b5SMatthias Ringwald 1439*1b2596b5SMatthias Ringwald #define SAMV70Q ( \ 1440*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70Q19) || \ 1441*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMV70Q20) \ 1442*1b2596b5SMatthias Ringwald ) 1443*1b2596b5SMatthias Ringwald /** @} */ 1444*1b2596b5SMatthias Ringwald 1445*1b2596b5SMatthias Ringwald /** 1446*1b2596b5SMatthias Ringwald * \name SAMS70 series 1447*1b2596b5SMatthias Ringwald * @{ 1448*1b2596b5SMatthias Ringwald */ 1449*1b2596b5SMatthias Ringwald #define SAMS70J ( \ 1450*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70J19) || \ 1451*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70J20) || \ 1452*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70J21) \ 1453*1b2596b5SMatthias Ringwald ) 1454*1b2596b5SMatthias Ringwald 1455*1b2596b5SMatthias Ringwald #define SAMS70N ( \ 1456*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70N19) || \ 1457*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70N20) || \ 1458*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70N21) \ 1459*1b2596b5SMatthias Ringwald ) 1460*1b2596b5SMatthias Ringwald 1461*1b2596b5SMatthias Ringwald #define SAMS70Q ( \ 1462*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70Q19) || \ 1463*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70Q20) || \ 1464*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAMS70Q21) \ 1465*1b2596b5SMatthias Ringwald ) 1466*1b2596b5SMatthias Ringwald /** @} */ 1467*1b2596b5SMatthias Ringwald 1468*1b2596b5SMatthias Ringwald /** 1469*1b2596b5SMatthias Ringwald * \name SAME70 series 1470*1b2596b5SMatthias Ringwald * @{ 1471*1b2596b5SMatthias Ringwald */ 1472*1b2596b5SMatthias Ringwald #define SAME70J ( \ 1473*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70J19) || \ 1474*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70J20) || \ 1475*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70J21) \ 1476*1b2596b5SMatthias Ringwald ) 1477*1b2596b5SMatthias Ringwald 1478*1b2596b5SMatthias Ringwald #define SAME70N ( \ 1479*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70N19) || \ 1480*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70N20) || \ 1481*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70N21) \ 1482*1b2596b5SMatthias Ringwald ) 1483*1b2596b5SMatthias Ringwald 1484*1b2596b5SMatthias Ringwald #define SAME70Q ( \ 1485*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70Q19) || \ 1486*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70Q20) || \ 1487*1b2596b5SMatthias Ringwald SAM_PART_IS_DEFINED(SAME70Q21) \ 1488*1b2596b5SMatthias Ringwald ) 1489*1b2596b5SMatthias Ringwald /** @} */ 1490*1b2596b5SMatthias Ringwald 1491*1b2596b5SMatthias Ringwald /** 1492*1b2596b5SMatthias Ringwald * \name SAM families 1493*1b2596b5SMatthias Ringwald * @{ 1494*1b2596b5SMatthias Ringwald */ 1495*1b2596b5SMatthias Ringwald /** SAM3S Family */ 1496*1b2596b5SMatthias Ringwald #define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8) 1497*1b2596b5SMatthias Ringwald 1498*1b2596b5SMatthias Ringwald /** SAM3U Family */ 1499*1b2596b5SMatthias Ringwald #define SAM3U (SAM3U1 || SAM3U2 || SAM3U4) 1500*1b2596b5SMatthias Ringwald 1501*1b2596b5SMatthias Ringwald /** SAM3N Family */ 1502*1b2596b5SMatthias Ringwald #define SAM3N (SAM3N00 || SAM3N0 || SAM3N1 || SAM3N2 || SAM3N4) 1503*1b2596b5SMatthias Ringwald 1504*1b2596b5SMatthias Ringwald /** SAM3XA Family */ 1505*1b2596b5SMatthias Ringwald #define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8) 1506*1b2596b5SMatthias Ringwald 1507*1b2596b5SMatthias Ringwald /** SAM4S Family */ 1508*1b2596b5SMatthias Ringwald #define SAM4S (SAM4S2 || SAM4S4 || SAM4S8 || SAM4S16 || SAM4SA16 || SAM4SD16 || SAM4SD32) 1509*1b2596b5SMatthias Ringwald 1510*1b2596b5SMatthias Ringwald /** SAM4L Family */ 1511*1b2596b5SMatthias Ringwald #define SAM4L (SAM4LS || SAM4LC) 1512*1b2596b5SMatthias Ringwald 1513*1b2596b5SMatthias Ringwald /** SAMD20 Family */ 1514*1b2596b5SMatthias Ringwald #define SAMD20 (SAMD20J || SAMD20G || SAMD20E) 1515*1b2596b5SMatthias Ringwald 1516*1b2596b5SMatthias Ringwald /** SAMD21 Family */ 1517*1b2596b5SMatthias Ringwald #define SAMD21 (SAMD21J || SAMD21G || SAMD21E) 1518*1b2596b5SMatthias Ringwald 1519*1b2596b5SMatthias Ringwald /** SAMD09 Family */ 1520*1b2596b5SMatthias Ringwald #define SAMD09 (SAMD09C || SAMD09D) 1521*1b2596b5SMatthias Ringwald 1522*1b2596b5SMatthias Ringwald /** SAMD10 Family */ 1523*1b2596b5SMatthias Ringwald #define SAMD10 (SAMD10C || SAMD10DS || SAMD10DM) 1524*1b2596b5SMatthias Ringwald 1525*1b2596b5SMatthias Ringwald /** SAMD11 Family */ 1526*1b2596b5SMatthias Ringwald #define SAMD11 (SAMD11C || SAMD11DS || SAMD11DM) 1527*1b2596b5SMatthias Ringwald 1528*1b2596b5SMatthias Ringwald /** SAMDA1 Family */ 1529*1b2596b5SMatthias Ringwald #define SAMDA1 (SAMDA1J || SAMDA1G || SAMDA1E) 1530*1b2596b5SMatthias Ringwald 1531*1b2596b5SMatthias Ringwald /** SAMD Family */ 1532*1b2596b5SMatthias Ringwald #define SAMD (SAMD20 || SAMD21 || SAMD09 || SAMD10 || SAMD11 || SAMDA1) 1533*1b2596b5SMatthias Ringwald 1534*1b2596b5SMatthias Ringwald /** SAMR21 Family */ 1535*1b2596b5SMatthias Ringwald #define SAMR21 (SAMR21G || SAMR21E) 1536*1b2596b5SMatthias Ringwald 1537*1b2596b5SMatthias Ringwald /** SAML21 Family */ 1538*1b2596b5SMatthias Ringwald #define SAML21 (SAML21J || SAML21G || SAML21E) 1539*1b2596b5SMatthias Ringwald 1540*1b2596b5SMatthias Ringwald /** SAML22 Family */ 1541*1b2596b5SMatthias Ringwald #define SAML22 (SAML22J || SAML22G || SAML22N) 1542*1b2596b5SMatthias Ringwald /** SAMC20 Family */ 1543*1b2596b5SMatthias Ringwald #define SAMC20 (SAMC20J || SAMC20G || SAMC20E) 1544*1b2596b5SMatthias Ringwald 1545*1b2596b5SMatthias Ringwald /** SAMC21 Family */ 1546*1b2596b5SMatthias Ringwald #define SAMC21 (SAMC21J || SAMC21G || SAMC21E) 1547*1b2596b5SMatthias Ringwald 1548*1b2596b5SMatthias Ringwald /** SAM4E Family */ 1549*1b2596b5SMatthias Ringwald #define SAM4E (SAM4E8 || SAM4E16) 1550*1b2596b5SMatthias Ringwald 1551*1b2596b5SMatthias Ringwald /** SAM4N Family */ 1552*1b2596b5SMatthias Ringwald #define SAM4N (SAM4N8 || SAM4N16) 1553*1b2596b5SMatthias Ringwald 1554*1b2596b5SMatthias Ringwald /** SAM4C Family */ 1555*1b2596b5SMatthias Ringwald #define SAM4C_0 (SAM4C4_0 || SAM4C8_0 || SAM4C16_0 || SAM4C32_0) 1556*1b2596b5SMatthias Ringwald #define SAM4C_1 (SAM4C4_1 || SAM4C8_1 || SAM4C16_1 || SAM4C32_1) 1557*1b2596b5SMatthias Ringwald #define SAM4C (SAM4C4 || SAM4C8 || SAM4C16 || SAM4C32) 1558*1b2596b5SMatthias Ringwald 1559*1b2596b5SMatthias Ringwald /** SAM4CM Family */ 1560*1b2596b5SMatthias Ringwald #define SAM4CM_0 (SAM4CMP8_0 || SAM4CMP16_0 || SAM4CMP32_0 || \ 1561*1b2596b5SMatthias Ringwald SAM4CMS4_0 || SAM4CMS8_0 || SAM4CMS16_0 || SAM4CMS32_0) 1562*1b2596b5SMatthias Ringwald #define SAM4CM_1 (SAM4CMP8_1 || SAM4CMP16_1 || SAM4CMP32_1 || \ 1563*1b2596b5SMatthias Ringwald SAM4CMS4_1 || SAM4CMS8_1 || SAM4CMS16_1 || SAM4CMS32_1) 1564*1b2596b5SMatthias Ringwald #define SAM4CM (SAM4CMP8 || SAM4CMP16 || SAM4CMP32 || \ 1565*1b2596b5SMatthias Ringwald SAM4CMS4 || SAM4CMS8 || SAM4CMS16 || SAM4CMS32) 1566*1b2596b5SMatthias Ringwald 1567*1b2596b5SMatthias Ringwald /** SAM4CP Family */ 1568*1b2596b5SMatthias Ringwald #define SAM4CP_0 (SAM4CP16_0) 1569*1b2596b5SMatthias Ringwald #define SAM4CP_1 (SAM4CP16_1) 1570*1b2596b5SMatthias Ringwald #define SAM4CP (SAM4CP16) 1571*1b2596b5SMatthias Ringwald 1572*1b2596b5SMatthias Ringwald /** SAMG Family */ 1573*1b2596b5SMatthias Ringwald #define SAMG (SAMG51 || SAMG53 || SAMG54 || SAMG55) 1574*1b2596b5SMatthias Ringwald 1575*1b2596b5SMatthias Ringwald /** SAMV71 Family */ 1576*1b2596b5SMatthias Ringwald #define SAMV71 (SAMV71J || SAMV71N || SAMV71Q) 1577*1b2596b5SMatthias Ringwald 1578*1b2596b5SMatthias Ringwald /** SAMV70 Family */ 1579*1b2596b5SMatthias Ringwald #define SAMV70 (SAMV70J || SAMV70N || SAMV70Q) 1580*1b2596b5SMatthias Ringwald 1581*1b2596b5SMatthias Ringwald /** SAME70 Family */ 1582*1b2596b5SMatthias Ringwald #define SAME70 (SAME70J || SAME70N || SAME70Q) 1583*1b2596b5SMatthias Ringwald 1584*1b2596b5SMatthias Ringwald /** SAMS70 Family */ 1585*1b2596b5SMatthias Ringwald #define SAMS70 (SAMS70J || SAMS70N || SAMS70Q) 1586*1b2596b5SMatthias Ringwald 1587*1b2596b5SMatthias Ringwald /** SAM0 product line (cortex-m0+) */ 1588*1b2596b5SMatthias Ringwald #define SAM0 (SAMD20 || SAMD21 || SAMR21 || SAMD10 || SAMD11 || SAML21 ||\ 1589*1b2596b5SMatthias Ringwald SAMDA1 || SAMC20 || SAMC21 || SAML22 || SAMD09) 1590*1b2596b5SMatthias Ringwald 1591*1b2596b5SMatthias Ringwald /** @} */ 1592*1b2596b5SMatthias Ringwald 1593*1b2596b5SMatthias Ringwald /** SAM product line */ 1594*1b2596b5SMatthias Ringwald #define SAM (SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S || SAM4L || SAM4E || \ 1595*1b2596b5SMatthias Ringwald SAM0 || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAME70 || SAMS70) 1596*1b2596b5SMatthias Ringwald 1597*1b2596b5SMatthias Ringwald /** @} */ 1598*1b2596b5SMatthias Ringwald 1599*1b2596b5SMatthias Ringwald /** @} */ 1600*1b2596b5SMatthias Ringwald 1601*1b2596b5SMatthias Ringwald /** @} */ 1602*1b2596b5SMatthias Ringwald 1603*1b2596b5SMatthias Ringwald #endif /* ATMEL_PARTS_H */ 1604