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  * Redistribution and use in source and binary forms, with or without modification,are permitted provided that the
8  * following conditions are met:
9  *
10  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following
11  * disclaimer.
12  *
13  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
14  * following disclaimer in the documentation and/or other materials provided with the distribution.
15  *
16  * Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote
17  * products derived from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24  * WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
25  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  **********************************************************************************************************************/
37 /*******************************************************************************
38 ** Author(s) Identity **
39 ********************************************************************************
40 ** Initials Name **
41 ** ---------------------------------------------------------------------------**
42 ** DM Daniel Mysliwitz **
43 ** JO Julia Ott **
44 ** BG Blandine Guillot **
45 *******************************************************************************/
46 
47 /*******************************************************************************
48 ** Revision Control History **
49 ********************************************************************************
50 ** V0.1.0: 2018-12-10, JO: Initial version **
51 ** V0.1.1: 2019-02-04, DM: sNADStart defined to be ARMCC v6 compliant **
52 ** V0.1.2: 2020-04-15, BG: Updated revision history format **
53 ** V0.1.3: 2020-07-21, BG: EP-439: Formatted .h/.c files **
54 ** V0.2.0: 2020-10-05, JO: EP-437: Added support for devices TLE9877QTW40, **
55 ** TLE9879QTW40, TLE9872QXA40, TLE9872QTW40, **
56 ** and TLE9872-2QXA40 **
57 ** V0.2.1: 2021-02-24, BG: EP-175: Added missing RTE_DEVICE_BF_STEP for **
58 ** TLE9872QTW40, TLE9872QXA40, TLE9872_2QXA40, **
59 ** TLE9877QTW40, TLE9879QTW40 **
60 ** V0.2.2: 2022-02-28, JO: EP-936: Updated copyright and branding **
61 *******************************************************************************/
62 
63 #ifndef _TLE_VARIANTS_H
64 #define _TLE_VARIANTS_H
65 
66 /* Family definitions */
67 #define TLE98 (98)
68 
69 /* Series definitions */
70 #define TLE984 (984)
71 #define TLE985 (985)
72 #define TLE986 (986)
73 #define TLE987 (987)
74 
75 /* Device definitions */
76 #define TLE9871 (9871)
77 #define TLE9873 (9873)
78 #define TLE9877 (9877)
79 #define TLE9879 (9879)
80 
81 /* Package definitions */
82 #define BGA144 (1)
83 #define LQFP144 (2)
84 #define LQFP100 (3)
85 #define BGA64 (4)
86 #define LQFP64 (5)
87 #define VQFN48 (6)
88 #define TSSOP38 (7)
89 #define TSSOP28 (8)
90 #define TSSOP16 (9)
91 #define VQFN24 (10)
92 #define VQFN40 (11)
93 #define TQFP48 (12)
94 
95 
96 #if defined(TLE9871QXA20)
97  #define UC_FAMILY TLE98
98  #define UC_SERIES TLE987
99  #define UC_DEVICE TLE9871
100  #define UC_PACKAGE VQFN48
101  #define UC_FLASH (36UL)
102  #define ProgFlashSize (0x8000U)
103  #define RAMSize (0xC00U)
104  #define sNADStart ".ARM.__at_0x11007FFC"
105 
106 #elif defined(TLE9872QTW40)
107  #define UC_FAMILY TLE98
108  #define UC_SERIES TLE987
109  #define UC_DEVICE TLE9879
110  #define UC_PACKAGE TQFP48
111  #define UC_FLASH (256UL)
112  #define ProgFlashSize (0x3F000U)
113  #define RAMSize (0x2000U)
114  #define sNADStart ".ARM.__at_0x1103EFFC"
115  #define RTE_DEVICE_BF_STEP
116 
117 #elif defined(TLE9872QXA40)
118  #define UC_FAMILY TLE98
119  #define UC_SERIES TLE987
120  #define UC_DEVICE TLE9879
121  #define UC_PACKAGE VQFN48
122  #define UC_FLASH (256UL)
123  #define ProgFlashSize (0x3F000U)
124  #define RAMSize (0x2000U)
125  #define sNADStart ".ARM.__at_0x1103EFFC"
126  #define RTE_DEVICE_BF_STEP
127 
128 #elif defined(TLE9872_2QXA40)
129  #define UC_FAMILY TLE98
130  #define UC_SERIES TLE987
131  #define UC_DEVICE TLE9879
132  #define UC_PACKAGE VQFN48
133  #define UC_FLASH (256UL)
134  #define ProgFlashSize (0x3F000U)
135  #define RAMSize (0x2000U)
136  #define sNADStart ".ARM.__at_0x1103EFFC"
137  #define RTE_DEVICE_BF_STEP
138 
139 #elif defined(TLE9873QXW40)
140  #define UC_FAMILY TLE98
141  #define UC_SERIES TLE987
142  #define UC_DEVICE TLE9873
143  #define UC_PACKAGE VQFN48
144  #define UC_FLASH (48UL)
145  #define ProgFlashSize (0xB000U)
146  #define RAMSize (0xC00U)
147  #define sNADStart ".ARM.__at_0x1100AFFC"
148  #define RTE_DEVICE_BF_STEP
149 
150 #elif defined(TLE9877QTW40)
151  #define UC_FAMILY TLE98
152  #define UC_SERIES TLE987
153  #define UC_DEVICE TLE9877
154  #define UC_PACKAGE TQFP48
155  #define UC_FLASH (64UL)
156  #define ProgFlashSize (0xF000U)
157  #define RAMSize (0x1800U)
158  #define sNADStart ".ARM.__at_0x1100EFFC"
159  #define RTE_DEVICE_BF_STEP
160 
161 #elif defined(TLE9877QXA20)
162  #define UC_FAMILY TLE98
163  #define UC_SERIES TLE987
164  #define UC_DEVICE TLE9877
165  #define UC_PACKAGE VQFN48
166  #define UC_FLASH (64UL)
167  #define ProgFlashSize (0xF000U)
168  #define RAMSize (0x1800U)
169  #define sNADStart ".ARM.__at_0x1100EFFC"
170 
171 #elif defined(TLE9877QXA40)
172  #define UC_FAMILY TLE98
173  #define UC_SERIES TLE987
174  #define UC_DEVICE TLE9877
175  #define UC_PACKAGE VQFN48
176  #define UC_FLASH (64UL)
177  #define ProgFlashSize (0xF000U)
178  #define RAMSize (0x1800U)
179  #define sNADStart ".ARM.__at_0x1100EFFC"
180 
181 #elif defined(TLE9877QXW40)
182  #define UC_FAMILY TLE98
183  #define UC_SERIES TLE987
184  #define UC_DEVICE TLE9877
185  #define UC_PACKAGE VQFN48
186  #define UC_FLASH (64UL)
187  #define ProgFlashSize (0xF000U)
188  #define RAMSize (0x1800U)
189  #define sNADStart ".ARM.__at_0x1100EFFC"
190  #define RTE_DEVICE_BF_STEP
191 
192 #elif defined(TLE9879QTW40)
193  #define UC_FAMILY TLE98
194  #define UC_SERIES TLE987
195  #define UC_DEVICE TLE9879
196  #define UC_PACKAGE TQFP48
197  #define UC_FLASH (128UL)
198  #define ProgFlashSize (0x1F000U)
199  #define RAMSize (0x1800U)
200  #define sNADStart ".ARM.__at_0x1101EFFC"
201  #define RTE_DEVICE_BF_STEP
202 
203 #elif defined(TLE9879QXA20)
204  #define UC_FAMILY TLE98
205  #define UC_SERIES TLE987
206  #define UC_DEVICE TLE9879
207  #define UC_PACKAGE VQFN48
208  #define UC_FLASH (128UL)
209  #define ProgFlashSize (0x1F000U)
210  #define RAMSize (0x1800U)
211  #define sNADStart ".ARM.__at_0x1101EFFC"
212 
213 #elif defined(TLE9879QXA40)
214  #define UC_FAMILY TLE98
215  #define UC_SERIES TLE987
216  #define UC_DEVICE TLE9879
217  #define UC_PACKAGE VQFN48
218  #define UC_FLASH (128UL)
219  #define ProgFlashSize (0x1F000U)
220  #define RAMSize (0x1800U)
221  #define sNADStart ".ARM.__at_0x1101EFFC"
222 
223 #elif defined(TLE9879QXW40)
224  #define UC_FAMILY TLE98
225  #define UC_SERIES TLE987
226  #define UC_DEVICE TLE9879
227  #define UC_PACKAGE VQFN48
228  #define UC_FLASH (128UL)
229  #define ProgFlashSize (0x1F000U)
230  #define RAMSize (0x1800U)
231  #define sNADStart ".ARM.__at_0x1101EFFC"
232  #define RTE_DEVICE_BF_STEP
233 
234 #elif defined(TLE9879_2QXA40)
235  #define UC_FAMILY TLE98
236  #define UC_SERIES TLE987
237  #define UC_DEVICE TLE9879
238  #define UC_PACKAGE VQFN48
239  #define UC_FLASH (128UL)
240  #define ProgFlashSize (0x1F000U)
241  #define RAMSize (0x1800U)
242  #define sNADStart ".ARM.__at_0x1101EFFC"
243  #define RTE_DEVICE_BF_STEP
244 
245 #else
246  #error "tle_device.h: device not supported"
247 #endif
248 /*----------------------------------------------------------------------------
249  Define Memory
250  *----------------------------------------------------------------------------*/
251 #define ProgFlashStart (0x11000000U) /* Start Address of the flash */
252 #define DataFlashStart (ProgFlashStart + ProgFlashSize)
253 #define DataFlashSize (0x1000U) /* 4KB Data Flash */
254 #define NACStart (DataFlashStart - 4U)
255 #define NADStart (DataFlashStart - 2U)
256 #define RAMStart (0x18000000UL) /* Start Address of the SRAM */
257 
258 #if (UC_SERIES == 987)
259  #include "tle987x.h"
260 #endif
261 
262 #endif
CMSIS register HeaderFile.