1 /**********************************************************************
2 Copyright (c) Imagination Technologies Ltd.
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 ******************************************************************************/
23 #ifndef _SGXERRATA_KM_H_
24 #define _SGXERRATA_KM_H_
26 #if defined(SGX520) && !defined(SGX_CORE_DEFINED)
28 #define SGX_CORE_REV_HEAD 0
29 #if defined(USE_SGX_CORE_REV_HEAD)
31 #define SGX_CORE_REV SGX_CORE_REV_HEAD
34 #if SGX_CORE_REV == 100
35 #define FIX_HW_BRN_28889
37 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
40 #error "sgxerrata.h: SGX520 Core Revision unspecified"
44 #define SGX_CORE_DEFINED
47 #if defined(SGX530) && !defined(SGX_CORE_DEFINED)
49 #define SGX_CORE_REV_HEAD 0
50 #if defined(USE_SGX_CORE_REV_HEAD)
52 #define SGX_CORE_REV SGX_CORE_REV_HEAD
55 #if SGX_CORE_REV == 103
56 #define FIX_HW_BRN_22934
57 #define FIX_HW_BRN_28889
59 #if SGX_CORE_REV == 110
60 #define FIX_HW_BRN_22934
61 #define FIX_HW_BRN_28889
63 #if SGX_CORE_REV == 111
64 #define FIX_HW_BRN_22934
65 #define FIX_HW_BRN_28889
67 #if SGX_CORE_REV == 120
68 #define FIX_HW_BRN_22934
69 #define FIX_HW_BRN_28889
71 #if SGX_CORE_REV == 121
72 #define FIX_HW_BRN_22934
73 #define FIX_HW_BRN_28889
75 #if SGX_CORE_REV == 125
76 #define FIX_HW_BRN_22934
77 #define FIX_HW_BRN_28889
79 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
82 #error "sgxerrata.h: SGX530 Core Revision unspecified"
91 #define SGX_CORE_DEFINED
94 #if defined(SGX531) && !defined(SGX_CORE_DEFINED)
96 #define SGX_CORE_REV_HEAD 0
97 #if defined(USE_SGX_CORE_REV_HEAD)
99 #define SGX_CORE_REV SGX_CORE_REV_HEAD
102 #if SGX_CORE_REV == 101
103 #define FIX_HW_BRN_26620
104 #define FIX_HW_BRN_28011
106 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
109 #error "sgxerrata.h: SGX531 Core Revision unspecified"
113 #define SGX_CORE_DEFINED
116 #if (defined(SGX535) || defined(SGX535_V1_1)) && !defined(SGX_CORE_DEFINED)
118 #define SGX_CORE_REV_HEAD 0
119 #if defined(USE_SGX_CORE_REV_HEAD)
121 #define SGX_CORE_REV SGX_CORE_REV_HEAD
124 #if SGX_CORE_REV == 111
125 #define FIX_HW_BRN_23281
126 #define FIX_HW_BRN_23410
127 #define FIX_HW_BRN_22693
128 #define FIX_HW_BRN_22934
129 #define FIX_HW_BRN_22997
130 #define FIX_HW_BRN_23030
132 #if SGX_CORE_REV == 1111
133 #define FIX_HW_BRN_23281
134 #define FIX_HW_BRN_23410
135 #define FIX_HW_BRN_22693
136 #define FIX_HW_BRN_22934
137 #define FIX_HW_BRN_22997
138 #define FIX_HW_BRN_23030
140 #if SGX_CORE_REV == 112
141 #define FIX_HW_BRN_23281
142 #define FIX_HW_BRN_23410
143 #define FIX_HW_BRN_22693
144 #define FIX_HW_BRN_22934
145 #define FIX_HW_BRN_22997
146 #define FIX_HW_BRN_23030
148 #if SGX_CORE_REV == 113
149 #define FIX_HW_BRN_22934
150 #define FIX_HW_BRN_23281
151 #define FIX_HW_BRN_23944
152 #define FIX_HW_BRN_23410
154 #if SGX_CORE_REV == 121
155 #define FIX_HW_BRN_22934
156 #define FIX_HW_BRN_23944
157 #define FIX_HW_BRN_23410
159 #if SGX_CORE_REV == 126
160 #define FIX_HW_BRN_22934
162 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
165 #error "sgxerrata.h: SGX535 Core Revision unspecified"
175 #define SGX_CORE_DEFINED
178 #if defined(SGX540) && !defined(SGX_CORE_DEFINED)
180 #define SGX_CORE_REV_HEAD 0
181 #if defined(USE_SGX_CORE_REV_HEAD)
183 #define SGX_CORE_REV SGX_CORE_REV_HEAD
186 #if SGX_CORE_REV == 101
187 #define FIX_HW_BRN_25499
188 #define FIX_HW_BRN_25503
189 #define FIX_HW_BRN_26620
190 #define FIX_HW_BRN_28011
192 #if SGX_CORE_REV == 110
193 #define FIX_HW_BRN_25503
194 #define FIX_HW_BRN_26620
195 #define FIX_HW_BRN_28011
197 #if SGX_CORE_REV == 120
198 #define FIX_HW_BRN_26620
199 #define FIX_HW_BRN_28011
201 #if SGX_CORE_REV == 121
202 #define FIX_HW_BRN_28011
204 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
207 #error "sgxerrata.h: SGX540 Core Revision unspecified"
214 #define SGX_CORE_DEFINED
217 #if defined(SGX541) && !defined(SGX_CORE_DEFINED)
218 #if defined(SGX_FEATURE_MP)
220 #define SGX_CORE_REV_HEAD 0
221 #if defined(USE_SGX_CORE_REV_HEAD)
223 #define SGX_CORE_REV SGX_CORE_REV_HEAD
226 #if SGX_CORE_REV == 100
227 #define FIX_HW_BRN_27270
228 #define FIX_HW_BRN_28011
229 #define FIX_HW_BRN_27510
232 #if SGX_CORE_REV == 101
235 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
238 #error "sgxerrata.h: SGX541 Core Revision unspecified"
243 #define SGX_CORE_DEFINED
245 #error "sgxerrata.h: SGX541 only supports MP configs (SGX_FEATURE_MP)"
249 #if defined(SGX543) && !defined(SGX_CORE_DEFINED)
250 #if defined(SGX_FEATURE_MP)
252 #define SGX_CORE_REV_HEAD 0
253 #if defined(USE_SGX_CORE_REV_HEAD)
255 #define SGX_CORE_REV SGX_CORE_REV_HEAD
258 #if SGX_CORE_REV == 100
261 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
264 #error "sgxerrata.h: SGX543 Core Revision unspecified"
268 #define SGX_CORE_DEFINED
270 #error "sgxerrata.h: SGX543 only supports MP configs (SGX_FEATURE_MP)"
274 #if defined(SGX545) && !defined(SGX_CORE_DEFINED)
276 #define SGX_CORE_REV_HEAD 0
277 #if defined(USE_SGX_CORE_REV_HEAD)
279 #define SGX_CORE_REV SGX_CORE_REV_HEAD
282 #if SGX_CORE_REV == 100
283 #define FIX_HW_BRN_26620
284 #define FIX_HW_BRN_27266
285 #define FIX_HW_BRN_27456
287 #if SGX_CORE_REV == 109
290 #if SGX_CORE_REV == SGX_CORE_REV_HEAD
293 #error "sgxerrata.h: SGX545 Core Revision unspecified"
298 #define SGX_CORE_DEFINED
301 #if !defined(SGX_CORE_DEFINED)
302 #if defined (__GNUC__)
303 #warning "sgxerrata.h: SGX Core Version unspecified"
305 #pragma message("sgxerrata.h: SGX Core Version unspecified")