Infineon MOTIX™ MCU TLE987x Device Family SDK
tle_variants.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) Infineon Technologies AG
5  * All rights reserved.
6  *
7  * The applicable license agreement can be found at this pack's installation directory in the file
8  * license/IFX_SW_Licence_MOTIX_LITIX.txt
9  *
10  **********************************************************************************************************************/
20 /*******************************************************************************
21 ** Author(s) Identity **
22 ********************************************************************************
23 ** Initials Name **
24 ** ---------------------------------------------------------------------------**
25 ** DM Daniel Mysliwitz **
26 ** JO Julia Ott **
27 ** BG Blandine Guillot **
28 *******************************************************************************/
29 
30 /*******************************************************************************
31 ** Revision Control History **
32 ********************************************************************************
33 ** V0.1.0: 2018-12-10, JO: Initial version **
34 ** V0.1.1: 2019-02-04, DM: sNADStart defined to be ARMCC v6 compliant **
35 ** V0.1.2: 2020-04-15, BG: Updated revision history format **
36 ** V0.1.3: 2020-07-21, BG: EP-439: Formatted .h/.c files **
37 ** V0.2.0: 2020-10-05, JO: EP-437: Added support for devices TLE9877QTW40, **
38 ** TLE9879QTW40, TLE9872QXA40, TLE9872QTW40, **
39 ** and TLE9872-2QXA40 **
40 ** V0.2.1: 2021-02-24, BG: EP-175: Added missing RTE_DEVICE_BF_STEP for **
41 ** TLE9872QTW40, TLE9872QXA40, TLE9872_2QXA40, **
42 ** TLE9877QTW40, TLE9879QTW40 **
43 ** V0.2.2: 2022-02-28, JO: EP-936: Updated copyright and branding **
44 ** V0.2.3: 2025-01-02, JO: EP-1493: Updated license **
45 *******************************************************************************/
46 
47 #ifndef _TLE_VARIANTS_H
48 #define _TLE_VARIANTS_H
49 
50 /* Family definitions */
51 #define TLE98 (98)
52 
53 /* Series definitions */
54 #define TLE984 (984)
55 #define TLE985 (985)
56 #define TLE986 (986)
57 #define TLE987 (987)
58 
59 /* Device definitions */
60 #define TLE9871 (9871)
61 #define TLE9873 (9873)
62 #define TLE9877 (9877)
63 #define TLE9879 (9879)
64 
65 /* Package definitions */
66 #define BGA144 (1)
67 #define LQFP144 (2)
68 #define LQFP100 (3)
69 #define BGA64 (4)
70 #define LQFP64 (5)
71 #define VQFN48 (6)
72 #define TSSOP38 (7)
73 #define TSSOP28 (8)
74 #define TSSOP16 (9)
75 #define VQFN24 (10)
76 #define VQFN40 (11)
77 #define TQFP48 (12)
78 
79 
80 #if defined(TLE9871QXA20)
81  #define UC_FAMILY TLE98
82  #define UC_SERIES TLE987
83  #define UC_DEVICE TLE9871
84  #define UC_PACKAGE VQFN48
85  #define UC_FLASH (36UL)
86  #define ProgFlashSize (0x8000U)
87  #define RAMSize (0xC00U)
88  #define sNADStart ".ARM.__at_0x11007FFC"
89 
90 #elif defined(TLE9872QTW40)
91  #define UC_FAMILY TLE98
92  #define UC_SERIES TLE987
93  #define UC_DEVICE TLE9879
94  #define UC_PACKAGE TQFP48
95  #define UC_FLASH (256UL)
96  #define ProgFlashSize (0x3F000U)
97  #define RAMSize (0x2000U)
98  #define sNADStart ".ARM.__at_0x1103EFFC"
99  #define RTE_DEVICE_BF_STEP
100 
101 #elif defined(TLE9872QXA40)
102  #define UC_FAMILY TLE98
103  #define UC_SERIES TLE987
104  #define UC_DEVICE TLE9879
105  #define UC_PACKAGE VQFN48
106  #define UC_FLASH (256UL)
107  #define ProgFlashSize (0x3F000U)
108  #define RAMSize (0x2000U)
109  #define sNADStart ".ARM.__at_0x1103EFFC"
110  #define RTE_DEVICE_BF_STEP
111 
112 #elif defined(TLE9872_2QXA40)
113  #define UC_FAMILY TLE98
114  #define UC_SERIES TLE987
115  #define UC_DEVICE TLE9879
116  #define UC_PACKAGE VQFN48
117  #define UC_FLASH (256UL)
118  #define ProgFlashSize (0x3F000U)
119  #define RAMSize (0x2000U)
120  #define sNADStart ".ARM.__at_0x1103EFFC"
121  #define RTE_DEVICE_BF_STEP
122 
123 #elif defined(TLE9873QXW40)
124  #define UC_FAMILY TLE98
125  #define UC_SERIES TLE987
126  #define UC_DEVICE TLE9873
127  #define UC_PACKAGE VQFN48
128  #define UC_FLASH (48UL)
129  #define ProgFlashSize (0xB000U)
130  #define RAMSize (0xC00U)
131  #define sNADStart ".ARM.__at_0x1100AFFC"
132  #define RTE_DEVICE_BF_STEP
133 
134 #elif defined(TLE9877QTW40)
135  #define UC_FAMILY TLE98
136  #define UC_SERIES TLE987
137  #define UC_DEVICE TLE9877
138  #define UC_PACKAGE TQFP48
139  #define UC_FLASH (64UL)
140  #define ProgFlashSize (0xF000U)
141  #define RAMSize (0x1800U)
142  #define sNADStart ".ARM.__at_0x1100EFFC"
143  #define RTE_DEVICE_BF_STEP
144 
145 #elif defined(TLE9877QXA20)
146  #define UC_FAMILY TLE98
147  #define UC_SERIES TLE987
148  #define UC_DEVICE TLE9877
149  #define UC_PACKAGE VQFN48
150  #define UC_FLASH (64UL)
151  #define ProgFlashSize (0xF000U)
152  #define RAMSize (0x1800U)
153  #define sNADStart ".ARM.__at_0x1100EFFC"
154 
155 #elif defined(TLE9877QXA40)
156  #define UC_FAMILY TLE98
157  #define UC_SERIES TLE987
158  #define UC_DEVICE TLE9877
159  #define UC_PACKAGE VQFN48
160  #define UC_FLASH (64UL)
161  #define ProgFlashSize (0xF000U)
162  #define RAMSize (0x1800U)
163  #define sNADStart ".ARM.__at_0x1100EFFC"
164 
165 #elif defined(TLE9877QXW40)
166  #define UC_FAMILY TLE98
167  #define UC_SERIES TLE987
168  #define UC_DEVICE TLE9877
169  #define UC_PACKAGE VQFN48
170  #define UC_FLASH (64UL)
171  #define ProgFlashSize (0xF000U)
172  #define RAMSize (0x1800U)
173  #define sNADStart ".ARM.__at_0x1100EFFC"
174  #define RTE_DEVICE_BF_STEP
175 
176 #elif defined(TLE9879QTW40)
177  #define UC_FAMILY TLE98
178  #define UC_SERIES TLE987
179  #define UC_DEVICE TLE9879
180  #define UC_PACKAGE TQFP48
181  #define UC_FLASH (128UL)
182  #define ProgFlashSize (0x1F000U)
183  #define RAMSize (0x1800U)
184  #define sNADStart ".ARM.__at_0x1101EFFC"
185  #define RTE_DEVICE_BF_STEP
186 
187 #elif defined(TLE9879QXA20)
188  #define UC_FAMILY TLE98
189  #define UC_SERIES TLE987
190  #define UC_DEVICE TLE9879
191  #define UC_PACKAGE VQFN48
192  #define UC_FLASH (128UL)
193  #define ProgFlashSize (0x1F000U)
194  #define RAMSize (0x1800U)
195  #define sNADStart ".ARM.__at_0x1101EFFC"
196 
197 #elif defined(TLE9879QXA40)
198  #define UC_FAMILY TLE98
199  #define UC_SERIES TLE987
200  #define UC_DEVICE TLE9879
201  #define UC_PACKAGE VQFN48
202  #define UC_FLASH (128UL)
203  #define ProgFlashSize (0x1F000U)
204  #define RAMSize (0x1800U)
205  #define sNADStart ".ARM.__at_0x1101EFFC"
206 
207 #elif defined(TLE9879QXW40)
208  #define UC_FAMILY TLE98
209  #define UC_SERIES TLE987
210  #define UC_DEVICE TLE9879
211  #define UC_PACKAGE VQFN48
212  #define UC_FLASH (128UL)
213  #define ProgFlashSize (0x1F000U)
214  #define RAMSize (0x1800U)
215  #define sNADStart ".ARM.__at_0x1101EFFC"
216  #define RTE_DEVICE_BF_STEP
217 
218 #elif defined(TLE9879_2QXA40)
219  #define UC_FAMILY TLE98
220  #define UC_SERIES TLE987
221  #define UC_DEVICE TLE9879
222  #define UC_PACKAGE VQFN48
223  #define UC_FLASH (128UL)
224  #define ProgFlashSize (0x1F000U)
225  #define RAMSize (0x1800U)
226  #define sNADStart ".ARM.__at_0x1101EFFC"
227  #define RTE_DEVICE_BF_STEP
228 
229 #else
230  #error "tle_device.h: device not supported"
231 #endif
232 /*----------------------------------------------------------------------------
233  Define Memory
234  *----------------------------------------------------------------------------*/
235 #define ProgFlashStart (0x11000000U) /* Start Address of the flash */
236 #define DataFlashStart (ProgFlashStart + ProgFlashSize)
237 #define DataFlashSize (0x1000U) /* 4KB Data Flash */
238 #define NACStart (DataFlashStart - 4U)
239 #define NADStart (DataFlashStart - 2U)
240 #define RAMStart (0x18000000UL) /* Start Address of the SRAM */
241 
242 #if (UC_SERIES == 987)
243  #include "tle987x.h"
244 #endif
245 
246 #endif
CMSIS register HeaderFile.