1 /****************************************************************************** 2 * Filename: hw_chip_def.h 3 * Revised: 2020-02-14 11:30:20 +0100 (Fri, 14 Feb 2020) 4 * Revision: 56760 5 * 6 * Description: Defines for device properties. 7 * 8 * Copyright (c) 2015 - 2017, Texas Instruments Incorporated 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions are met: 13 * 14 * 1) Redistributions of source code must retain the above copyright notice, 15 * this list of conditions and the following disclaimer. 16 * 17 * 2) Redistributions in binary form must reproduce the above copyright notice, 18 * this list of conditions and the following disclaimer in the documentation 19 * and/or other materials provided with the distribution. 20 * 21 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may 22 * be used to endorse or promote products derived from this software without 23 * specific prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 * POSSIBILITY OF SUCH DAMAGE. 36 * 37 ******************************************************************************/ 38 39 //***************************************************************************** 40 // 41 //! \addtogroup config_api 42 //! @{ 43 // 44 //***************************************************************************** 45 46 #ifndef __HW_CHIP_DEF_H__ 47 #define __HW_CHIP_DEF_H__ 48 49 //***************************************************************************** 50 // 51 // If building with a C++ compiler, make all of the definitions in this header 52 // have a C binding. 53 // 54 //***************************************************************************** 55 #ifdef __cplusplus 56 extern "C" 57 { 58 #endif 59 60 //***************************************************************************** 61 // 62 // Define CC_CHIP_ID code used in the following macros defined at the bottom: 63 // CC_GET_CHIP_FAMILY/DEVICE/PACKAGE/HWREV 64 // 65 //***************************************************************************** 66 /* CC2620F128 */ 67 #if defined(CC2620F128RGZ_R20) || defined(CC2620F128RGZ_R21) 68 #define CC_CHIP_ID 0x26200720 69 #elif defined(CC2620F128RHB_R20) || defined(CC2620F128RHB_R21) 70 #define CC_CHIP_ID 0x26200520 71 #elif defined(CC2620F128RSM_R20) || defined(CC2620F128RSM_R21) 72 #define CC_CHIP_ID 0x26200420 73 #elif defined(CC2620F128_R20) || defined(CC2620F128_R21) 74 #define CC_CHIP_ID 0x26200020 75 #elif defined(CC2620F128RGZ_R22) || defined(CC2620F128RGZ) 76 #define CC_CHIP_ID 0x26200722 77 #elif defined(CC2620F128RHB_R22) || defined(CC2620F128RHB) 78 #define CC_CHIP_ID 0x26200522 79 #elif defined(CC2620F128RSM_R22) || defined(CC2620F128RSM) 80 #define CC_CHIP_ID 0x26200422 81 #elif defined(CC2620F128_R22) || defined(CC2620F128) 82 #define CC_CHIP_ID 0x26200022 83 /* CC2630F128 */ 84 #elif defined(CC2630F128RGZ_R20) || defined(CC2630F128RGZ_R21) 85 #define CC_CHIP_ID 0x26300720 86 #elif defined(CC2630F128RHB_R20) || defined(CC2630F128RHB_R21) 87 #define CC_CHIP_ID 0x26300520 88 #elif defined(CC2630F128RSM_R20) || defined(CC2630F128RSM_R21) 89 #define CC_CHIP_ID 0x26300420 90 #elif defined(CC2630F128_R20) || defined(CC2630F128_R21) 91 #define CC_CHIP_ID 0x26300020 92 #elif defined(CC2630F128RGZ_R22) || defined(CC2630F128RGZ) 93 #define CC_CHIP_ID 0x26300722 94 #elif defined(CC2630F128RHB_R22) || defined(CC2630F128RHB) 95 #define CC_CHIP_ID 0x26300522 96 #elif defined(CC2630F128RSM_R22) || defined(CC2630F128RSM) 97 #define CC_CHIP_ID 0x26300422 98 #elif defined(CC2630F128_R22) || defined(CC2630F128) 99 #define CC_CHIP_ID 0x26300022 100 /* CC2640F128 */ 101 #elif defined(CC2640F128RGZ_R20) || defined(CC2640F128RGZ_R21) 102 #define CC_CHIP_ID 0x26400720 103 #elif defined(CC2640F128RHB_R20) || defined(CC2640F128RHB_R21) 104 #define CC_CHIP_ID 0x26400520 105 #elif defined(CC2640F128RSM_R20) || defined(CC2640F128RSM_R21) 106 #define CC_CHIP_ID 0x26400420 107 #elif defined(CC2640F128_R20) || defined(CC2640F128_R21) 108 #define CC_CHIP_ID 0x26400020 109 #elif defined(CC2640F128RGZ_R22) || defined(CC2640F128RGZ) 110 #define CC_CHIP_ID 0x26400722 111 #elif defined(CC2640F128RHB_R22) || defined(CC2640F128RHB) 112 #define CC_CHIP_ID 0x26400522 113 #elif defined(CC2640F128RSM_R22) || defined(CC2640F128RSM) 114 #define CC_CHIP_ID 0x26400422 115 #elif defined(CC2640F128_R22) || defined(CC2640F128) 116 #define CC_CHIP_ID 0x26400022 117 /* CC2650F128 */ 118 #elif defined(CC2650F128RGZ_R20) || defined(CC2650F128RGZ_R21) 119 #define CC_CHIP_ID 0x26500720 120 #elif defined(CC2650F128RHB_R20) || defined(CC2650F128RHB_R21) 121 #define CC_CHIP_ID 0x26500520 122 #elif defined(CC2650F128RSM_R20) || defined(CC2650F128RSM_R21) 123 #define CC_CHIP_ID 0x26500420 124 #elif defined(CC2650F128_R20) || defined(CC2650F128_R21) 125 #define CC_CHIP_ID 0x26500020 126 #elif defined(CC2650F128RGZ_R22) || defined(CC2650F128RGZ) 127 #define CC_CHIP_ID 0x26500722 128 #elif defined(CC2650F128RHB_R22) || defined(CC2650F128RHB) 129 #define CC_CHIP_ID 0x26500522 130 #elif defined(CC2650F128RSM_R22) || defined(CC2650F128RSM) 131 #define CC_CHIP_ID 0x26500422 132 #elif defined(CC2650F128_R22) || defined(CC2650F128) 133 #define CC_CHIP_ID 0x26500022 134 /* CC2650L128 (OTP) */ 135 #elif defined(CC2650L128) 136 #define CC_CHIP_ID 0x26501710 137 /* CC1310F128 */ 138 #elif defined(CC1310F128RGZ_R20) || defined(CC1310F128RGZ) 139 #define CC_CHIP_ID 0x13100720 140 #elif defined(CC1310F128RHB_R20) || defined(CC1310F128RHB) 141 #define CC_CHIP_ID 0x13100520 142 #elif defined(CC1310F128RSM_R20) || defined(CC1310F128RSM) 143 #define CC_CHIP_ID 0x13100420 144 #elif defined(CC1310F128_R20) || defined(CC1310F128) 145 #define CC_CHIP_ID 0x13100020 146 /* CC1350F128 */ 147 #elif defined(CC1350F128RGZ_R20) || defined(CC1350F128RGZ) 148 #define CC_CHIP_ID 0x13500720 149 #elif defined(CC1350F128RHB_R20) || defined(CC1350F128RHB) 150 #define CC_CHIP_ID 0x13500520 151 #elif defined(CC1350F128RSM_R20) || defined(CC1350F128RSM) 152 #define CC_CHIP_ID 0x13500420 153 #elif defined(CC1350F128_R20) || defined(CC1350F128) 154 #define CC_CHIP_ID 0x13500020 155 /* CC2640R2F */ 156 #elif defined(CC2640R2FRGZ_R25) || defined(CC2640R2FRGZ) 157 #define CC_CHIP_ID 0x26401710 158 #elif defined(CC2640R2FRHB_R25) || defined(CC2640R2FRHB) 159 #define CC_CHIP_ID 0x26401510 160 #elif defined(CC2640R2FRSM_R25) || defined(CC2640R2FRSM) 161 #define CC_CHIP_ID 0x26401410 162 #elif defined(CC2640R2F_R25) || defined(CC2640R2F) 163 #define CC_CHIP_ID 0x26401010 164 /* CC2652R1F */ 165 #elif defined(CC2652R1FRGZ_R10) || defined(CC2652R1FRGZ) 166 #define CC_CHIP_ID 0x26523710 167 #elif defined(CC2652R1F_R10) || defined(CC2652R1F) 168 #define CC_CHIP_ID 0x26523010 169 /* CC2644R1F */ 170 #elif defined(CC2644R1FRGZ_R10) || defined(CC2644R1FRGZ) 171 #define CC_CHIP_ID 0x26443710 172 #elif defined(CC2644R1F_R10) || defined(CC2644R1F) 173 #define CC_CHIP_ID 0x26443010 174 /* CC2642R1F */ 175 #elif defined(CC2642R1FRGZ_R10) || defined(CC2642R1FRGZ) 176 #define CC_CHIP_ID 0x26423710 177 #elif defined(CC2642R1F_R10) || defined(CC2642R1F) 178 #define CC_CHIP_ID 0x26423010 179 /* CC1354R1F */ 180 #elif defined(CC1354R1FRGZ_R10) || defined(CC1354R1FRGZ) 181 #define CC_CHIP_ID 0x13543710 182 #elif defined(CC1354R1F_R10) || defined(CC1354R1F) 183 #define CC_CHIP_ID 0x13543010 184 /* CC1352R1F */ 185 #elif defined(CC1352R1FRGZ_R10) || defined(CC1352R1FRGZ) 186 #define CC_CHIP_ID 0x13523710 187 #elif defined(CC1352R1F_R10) || defined(CC1352R1F) 188 #define CC_CHIP_ID 0x13523010 189 /* CC1312R1F */ 190 #elif defined(CC1312R1FRGZ_R10) || defined(CC1312R1FRGZ) 191 #define CC_CHIP_ID 0x13123710 192 #elif defined(CC1312R1F_R10) || defined(CC1312R1F) 193 #define CC_CHIP_ID 0x13123010 194 #endif 195 196 #define CC_GET_CHIP_FAMILY 0x26 197 #define CC_GET_CHIP_OPTION 0x3 198 #define CC_GET_CHIP_HWREV 0x20 199 200 #ifdef CC_CHIP_ID 201 /* Define chip package only if specified */ 202 #if (CC_CHIP_ID & 0x00000F00) != 0 203 #define CC_GET_CHIP_PACKAGE (((CC_CHIP_ID) & 0x00000F00) >> 8) 204 #endif 205 206 /* Define chip device */ 207 #define CC_GET_CHIP_DEVICE (((CC_CHIP_ID) & 0xFFFF0000) >> 16) 208 209 /* The chip family, option and package shall match the DriverLib release */ 210 #if (CC_GET_CHIP_OPTION != ((CC_CHIP_ID & 0x0000F000) >> 12)) 211 #error "Specified chip option does not match DriverLib release" 212 #endif 213 #if (CC_GET_CHIP_HWREV != ((CC_CHIP_ID & 0x000000FF) >> 0)) 214 #error "Specified chip hardware revision does not match DriverLib release" 215 #endif 216 #endif 217 218 //***************************************************************************** 219 // 220 // Mark the end of the C bindings section for C++ compilers. 221 // 222 //***************************************************************************** 223 #ifdef __cplusplus 224 } 225 #endif 226 227 #endif // __HW_CHIP_DEF_H__ 228 229 //***************************************************************************** 230 // 231 //! Close the Doxygen group. 232 //! @} 233 // 234 //***************************************************************************** 235