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