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