TLE986x Device Family SDK
tle_variants.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) 2015, 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 ** **
41 ** Initials Name **
42 ** ---------------------------------------------------------------------------**
43 ** DM Daniel Mysliwitz **
44 ** JO Julia Ott **
45 *******************************************************************************/
46 
47 /*******************************************************************************
48 ** Revision Control History **
49 ********************************************************************************
50 ** V0.1.0: 2019-01-29, DM: initial version **
51 ** V0.1.1: 2019-02-23, DM: sNADStart defined to be ARMCC v6 compliant **
52 ** V0.1.2: 2019-08-01, JO: Added UC_FEATURE_* defines **
53 ** V0.1.3: 2019-10-21, JO: Added UC_FEATURE_STOPMODE define **
54 ** V0.1.4: 2020-10-08, JO: EP-507: Updated revision history format **
55 ** V0.2.0: 2020-10-12, JO: EP-503: Added support for TLE9862QXA40 **
56 *******************************************************************************/
57 
58 #ifndef _TLE_VARIANTS_H
59 #define _TLE_VARIANTS_H
60 
61 /* Family definitions */
62 #define TLE98 (98)
63 
64 /* Series definitions */
65 #define TLE984 (984)
66 #define TLE985 (985)
67 #define TLE986 (986)
68 #define TLE987 (987)
69 
70 /* Device definitions */
71 #define TLE9861 (9861)
72 #define TLE9867 (9867)
73 #define TLE9869 (9869)
74 
75 /* Package definitions */
76 #define BGA144 (1)
77 #define LQFP144 (2)
78 #define LQFP100 (3)
79 #define BGA64 (4)
80 #define LQFP64 (5)
81 #define VQFN48 (6)
82 #define TSSOP38 (7)
83 #define TSSOP28 (8)
84 #define TSSOP16 (9)
85 #define VQFN24 (10)
86 #define VQFN40 (11)
87 
88 
89 #if defined TLE9861QXA20
90  #define UC_FAMILY TLE98
91  #define UC_SERIES TLE986
92  #define UC_DEVICE TLE9861
93  #define UC_PACKAGE VQFN48
94  #define UC_FLASH (36UL)
95  #define UC_FEATURE_DMA
96  #define UC_FEATURE_STOPMODE
97  #define ProgFlashSize (0x8000U)
98  #define RAMSize (0xC00U)
99  #define sNADStart ".ARM.__at_0x11007FFC"
100 
101 #elif defined TLE9867QXA20
102  #define UC_FAMILY TLE98
103  #define UC_SERIES TLE986
104  #define UC_DEVICE TLE9867
105  #define UC_PACKAGE VQFN48
106  #define UC_FLASH (64UL)
107  #define UC_FEATURE_DMA
108  #define UC_FEATURE_STOPMODE
109  #define ProgFlashSize (0xF000U)
110  #define RAMSize (0x1800U)
111  #define sNADStart ".ARM.__at_0x1100EFFC"
112 
113 #elif defined TLE9867QXW20
114  #define UC_FAMILY TLE98
115  #define UC_SERIES TLE986
116  #define UC_DEVICE TLE9867
117  #define UC_PACKAGE VQFN48
118  #define UC_FLASH (64UL)
119  #define UC_FEATURE_DMA
120  #define UC_FEATURE_STOPMODE
121  #define ProgFlashSize (0xF000U)
122  #define RAMSize (0x1800U)
123  #define sNADStart ".ARM.__at_0x1100EFFC"
124 
125 #elif defined TLE9867QXA40
126  #define UC_FAMILY TLE98
127  #define UC_SERIES TLE986
128  #define UC_DEVICE TLE9867
129  #define UC_PACKAGE VQFN48
130  #define UC_FLASH (64UL)
131  #define UC_FEATURE_DMA
132  #define UC_FEATURE_STOPMODE
133  #define ProgFlashSize (0xF000U)
134  #define RAMSize (0x1800U)
135  #define sNADStart ".ARM.__at_0x1100EFFC"
136 
137 #elif defined TLE9868QXB20
138  #define UC_FAMILY TLE98
139  #define UC_SERIES TLE986
140  #define UC_DEVICE TLE9868
141  #define UC_PACKAGE VQFN48
142  #define UC_FLASH (128UL)
143  #define UC_FEATURE_SDADC
144  #define ProgFlashSize (0x1F000U)
145  #define RAMSize (0x1000U)
146  #define sNADStart ".ARM.__at_0x1101EFFC"
147 
148 #elif defined TLE9869QXA20
149  #define UC_FAMILY TLE98
150  #define UC_SERIES TLE986
151  #define UC_DEVICE TLE9869
152  #define UC_PACKAGE VQFN48
153  #define UC_FLASH (128UL)
154  #define UC_FEATURE_DMA
155  #define UC_FEATURE_STOPMODE
156  #define ProgFlashSize (0x1F000U)
157  #define RAMSize (0x1800U)
158  #define sNADStart ".ARM.__at_0x1101EFFC"
159 
160 #elif defined TLE9862QXA40
161  #define UC_FAMILY TLE98
162  #define UC_SERIES TLE986
163  #define UC_DEVICE TLE9862
164  #define UC_PACKAGE VQFN48
165  #define UC_FLASH (256UL)
166  #define UC_FEATURE_DMA
167  #define UC_FEATURE_STOPMODE
168  #define ProgFlashSize (0x3F000U)
169  #define RAMSize (0x2000U)
170  #define sNADStart ".ARM.__at_0x1103EFFC"
171 
172 #else
173  #error "tle_device.h: device not supported"
174 #endif
175 
176 #if defined UC_FEATURE_DMA && defined UC_FEATURE_SDADC
177  #define UC_FEATURE_DMA_CH13
178 #endif /* defined UC_FEATURE_DMA && defined UC_FEATURE_SDADC */
179 /*----------------------------------------------------------------------------
180  Define Memory
181  *----------------------------------------------------------------------------*/
182 #define ProgFlashStart (0x11000000U) /* Start Address of the flash */
183 #define DataFlashStart (ProgFlashStart + ProgFlashSize)
184 #define DataFlashSize (0x1000U) /* 4KB Data Flash */
185 #define NACStart (DataFlashStart - 4U)
186 #define NADStart (DataFlashStart - 2U)
187 #define RAMStart (0x18000000UL) /* Start Address of the SRAM */
188 
189 #if (UC_SERIES == 986)
190  #include "tle986x.h"
191 #endif
192 
193 #endif
tle986x.h
CMSIS register HeaderFile.