Infineon MOTIX™ MCU TLE985x Device Family SDK
tle_variants.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) 2018-2022, 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  **********************************************************************************************************************/
39 /*******************************************************************************
40 ** Author(s) Identity **
41 ********************************************************************************
42 ** **
43 ** Initials Name **
44 ** ---------------------------------------------------------------------------**
45 ** DM Daniel Mysliwitz **
46 ** JO Julia Ott **
47 ** BG Blandine Guillot **
48 *******************************************************************************/
49 
50 /*******************************************************************************
51 ** Revision Control History **
52 ********************************************************************************
53 ** V0.1.0: 2018-12-10, DM: Initial version **
54 ** V0.1.1: 2018-12-10, JO: Added devices TLE9850QX, TLE9852QX, TLE9854QXW **
55 ** Added define UC_FEATURE_HB2 where needed **
56 ** V0.1.2: 2020-03-02, BG: Updated revision history format **
57 ** V0.1.3: 2020-07-28, JO: EP-435: Corrected path to file tle985x.h in **
58 ** include (case sensitive) **
59 ** V0.1.4: 2022-01-21, JO: EP-934: Updated copyright and branding **
60 *******************************************************************************/
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 TLE9851 (9851)
77 #define TLE9853 (9853)
78 #define TLE9854 (9854)
79 #define TLE9855 (9855)
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 
94 #if defined(TLE9850QX)
95 #define UC_FAMILY TLE98
96 #define UC_SERIES TLE985
97 #define UC_DEVICE TLE9850
98 #define UC_PACKAGE VQFN48
99 #define UC_FLASH (48UL)
100 #define ProgFlashSize (0xB000U)
101 #define RAMSize (0x1000U)
102 
103 #elif defined(TLE9851QXW)
104 #define UC_FAMILY TLE98
105 #define UC_SERIES TLE985
106 #define UC_DEVICE TLE9851
107 #define UC_PACKAGE VQFN48
108 #define UC_FLASH (64UL)
109 #define ProgFlashSize (0xF000U)
110 #define RAMSize (0x1000U)
111 
112 #elif defined(TLE9852QX)
113 #define UC_FAMILY TLE98
114 #define UC_SERIES TLE985
115 #define UC_DEVICE TLE9853
116 #define UC_PACKAGE VQFN48
117 #define UC_FLASH (48UL)
118 #define UC_FEATURE_HB2
119 #define ProgFlashSize (0xB000U)
120 #define RAMSize (0x1000U)
121 
122 #elif defined(TLE9853QX)
123 #define UC_FAMILY TLE98
124 #define UC_SERIES TLE985
125 #define UC_DEVICE TLE9853
126 #define UC_PACKAGE VQFN48
127 #define UC_FLASH (48UL)
128 #define UC_FEATURE_HB2
129 #define ProgFlashSize (0xB000U)
130 #define RAMSize (0x1000U)
131 
132 #elif defined(TLE9854QX)
133 #define UC_FAMILY TLE98
134 #define UC_SERIES TLE985
135 #define UC_DEVICE TLE9854
136 #define UC_PACKAGE VQFN48
137 #define UC_FLASH (64UL)
138 #define UC_FEATURE_HB2
139 #define ProgFlashSize (0xF000U)
140 #define RAMSize (0x1000U)
141 
142 #elif defined(TLE9854QXW)
143 #define UC_FAMILY TLE98
144 #define UC_SERIES TLE985
145 #define UC_DEVICE TLE9854
146 #define UC_PACKAGE VQFN48
147 #define UC_FLASH (64UL)
148 #define UC_FEATURE_HB2
149 #define ProgFlashSize (0xF000U)
150 #define RAMSize (0x1000U)
151 
152 #elif defined(TLE9855QX)
153 #define UC_FAMILY TLE98
154 #define UC_SERIES TLE985
155 #define UC_DEVICE TLE9855
156 #define UC_PACKAGE VQFN48
157 #define UC_FLASH (96UL)
158 #define UC_FEATURE_HB2
159 #define ProgFlashSize (0x17000U)
160 #define RAMSize (0x1000U)
161 
162 #elif defined(TLE9851QXW_int)
163 #define UC_FAMILY TLE98
164 #define UC_SERIES TLE985
165 #define UC_DEVICE TLE9851
166 #define UC_PACKAGE VQFN48
167 #define UC_FLASH (64UL)
168 #define UC_intern
169 #define ProgFlashSize (0xF000U)
170 #define RAMSize (0x1000U)
171 
172 #elif defined(TLE9853QX_int)
173 #define UC_FAMILY TLE98
174 #define UC_SERIES TLE985
175 #define UC_DEVICE TLE9853
176 #define UC_PACKAGE VQFN48
177 #define UC_FLASH (48UL)
178 #define UC_intern
179 #define UC_FEATURE_HB2
180 #define ProgFlashSize (0xB000U)
181 #define RAMSize (0x1000U)
182 
183 #elif defined(TLE9854QX_int)
184 #define UC_FAMILY TLE98
185 #define UC_SERIES TLE985
186 #define UC_DEVICE TLE9854
187 #define UC_PACKAGE VQFN48
188 #define UC_FLASH (64UL)
189 #define UC_intern
190 #define UC_FEATURE_HB2
191 #define ProgFlashSize (0xF000U)
192 #define RAMSize (0x1000U)
193 
194 #elif defined(TLE9855QX_int)
195 #define UC_FAMILY TLE98
196 #define UC_SERIES TLE985
197 #define UC_DEVICE TLE9855
198 #define UC_PACKAGE VQFN48
199 #define UC_FLASH (96UL)
200 #define UC_intern
201 #define UC_FEATURE_HB2
202 #define ProgFlashSize (0x17000U)
203 #define RAMSize (0x1000U)
204 
205 #else
206 #error "tle_device.h: device not supported"
207 #endif
208 /*----------------------------------------------------------------------------
209  Define Memory
210  *----------------------------------------------------------------------------*/
211 #define ProgFlashStart (0x11000000U) /* Start Address of the flash */
212 #define DataFlashStart (ProgFlashStart + ProgFlashSize)
213 #define DataFlashSize (0x1000U) /* 4KB Data Flash */
214 #define RAMStart (0x18000000UL) /* Start Address of the SRAM */
215 
216 #if (UC_SERIES == 985)
217  #include "tle985x.h"
218 #endif
219 
220 #endif
CMSIS register HeaderFile.