1
/**********************************************************************
3
* Copyright (C) Imagination Technologies Ltd. All rights reserved.
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms and conditions of the GNU General Public License,
7
* version 2, as published by the Free Software Foundation.
9
* This program is distributed in the hope it will be useful but, except
10
* as otherwise stated in writing, without any warranty; without even the
11
* implied warranty of merchantability or fitness for a particular purpose.
12
* See the GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License along with
15
* this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18
* The full GNU General Public License is included in this distribution in
19
* the file called "COPYING".
21
* Contact Information:
22
* Imagination Technologies Ltd. <gpl-support@imgtec.com>
23
* Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK
25
******************************************************************************/
28
#define SGX_CORE_FRIENDLY_NAME "SGX520"
29
#define SGX_CORE_ID SGX_CORE_ID_520
30
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (28)
31
#define SGX_FEATURE_AUTOCLOCKGATING
34
#define SGX_CORE_FRIENDLY_NAME "SGX530"
35
#define SGX_CORE_ID SGX_CORE_ID_530
36
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (28)
37
#define SGX_FEATURE_AUTOCLOCKGATING
40
#define SGX_CORE_FRIENDLY_NAME "SGX531"
41
#define SGX_CORE_ID SGX_CORE_ID_531
42
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (28)
43
#define SGX_FEATURE_AUTOCLOCKGATING
44
#define SGX_FEATURE_MULTI_EVENT_KICK
47
#define SGX_CORE_FRIENDLY_NAME "SGX535"
48
#define SGX_CORE_ID SGX_CORE_ID_535
49
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (32)
50
#define SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
51
#define SGX_FEATURE_BIF_NUM_DIRLISTS (16)
52
#define SGX_FEATURE_2D_HARDWARE
53
#define SGX_FEATURE_AUTOCLOCKGATING
54
#define SUPPORT_SGX_GENERAL_MAPPING_HEAP
55
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
58
#define SGX_CORE_FRIENDLY_NAME "SGX540"
59
#define SGX_CORE_ID SGX_CORE_ID_540
60
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (28)
61
#define SGX_FEATURE_AUTOCLOCKGATING
62
#define SGX_FEATURE_MULTI_EVENT_KICK
65
#define SGX_CORE_FRIENDLY_NAME "SGX543"
66
#define SGX_CORE_ID SGX_CORE_ID_543
67
#define SGX_FEATURE_USE_NO_INSTRUCTION_PAIRING
68
#define SGX_FEATURE_USE_UNLIMITED_PHASES
69
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (32)
70
#define SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
71
#define SGX_FEATURE_BIF_NUM_DIRLISTS (8)
72
#define SGX_FEATURE_AUTOCLOCKGATING
73
#define SGX_FEATURE_MONOLITHIC_UKERNEL
74
#define SGX_FEATURE_SPM_MODE_0
75
#define SGX_FEATURE_MULTI_EVENT_KICK
76
#define SGX_FEATURE_DATA_BREAKPOINTS
77
#define SGX_FEATURE_PERPIPE_BKPT_REGS
78
#define SGX_FEATURE_PERPIPE_BKPT_REGS_NUMPIPES (2)
79
#define SGX_FEATURE_2D_HARDWARE
80
#define SGX_FEATURE_PTLA
81
#define SGX_FEATURE_EXTENDED_PERF_COUNTERS
82
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
83
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING)
84
#if defined(SGX_FEATURE_MP)
85
#define SGX_FEATURE_MASTER_VDM_CONTEXT_SWITCH
87
#define SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH
88
#define SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_3
92
#define SGX_CORE_FRIENDLY_NAME "SGX544"
93
#define SGX_CORE_ID SGX_CORE_ID_544
94
#define SGX_FEATURE_USE_NO_INSTRUCTION_PAIRING
95
#define SGX_FEATURE_USE_UNLIMITED_PHASES
96
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (32)
97
#define SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
98
#define SGX_FEATURE_BIF_NUM_DIRLISTS (8)
99
#define SGX_FEATURE_AUTOCLOCKGATING
100
#define SGX_FEATURE_MONOLITHIC_UKERNEL
101
#define SGX_FEATURE_SPM_MODE_0
102
#define SGX_FEATURE_MULTI_EVENT_KICK
103
#define SGX_FEATURE_EXTENDED_PERF_COUNTERS
104
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
105
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING)
106
#if defined(SGX_FEATURE_MP)
107
#define SGX_FEATURE_MASTER_VDM_CONTEXT_SWITCH
109
#define SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH
110
#define SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_3
114
#define SGX_CORE_FRIENDLY_NAME "SGX545"
115
#define SGX_CORE_ID SGX_CORE_ID_545
116
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (32)
117
#define SGX_FEATURE_AUTOCLOCKGATING
118
#define SGX_FEATURE_USE_NO_INSTRUCTION_PAIRING
119
#define SGX_FEATURE_USE_UNLIMITED_PHASES
120
#define SGX_FEATURE_VOLUME_TEXTURES
121
#define SGX_FEATURE_HOST_ALLOC_FROM_DPM
122
#define SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
123
#define SGX_FEATURE_BIF_NUM_DIRLISTS (16)
124
#define SGX_FEATURE_NUM_USE_PIPES (4)
125
#define SGX_FEATURE_TEXTURESTRIDE_EXTENSION
126
#define SGX_FEATURE_PDS_DATA_INTERLEAVE_2DWORDS
127
#define SGX_FEATURE_MONOLITHIC_UKERNEL
128
#define SGX_FEATURE_ZLS_EXTERNALZ
129
#define SGX_FEATURE_VDM_CONTEXT_SWITCH_REV_2
130
#define SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_2
131
#define SGX_FEATURE_NUM_PDS_PIPES (2)
132
#define SGX_FEATURE_NATIVE_BACKWARD_BLIT
133
#define SGX_FEATURE_MAX_TA_RENDER_TARGETS (512)
134
#define SGX_FEATURE_SPM_MODE_0
135
#define SGX_FEATURE_SECONDARY_REQUIRES_USE_KICK
136
#define SGX_FEATURE_WRITEBACK_DCU
139
#define SGX_FEATURE_BIF_WIDE_TILING_AND_4K_ADDRESS
140
#define SGX_FEATURE_MULTI_EVENT_KICK
141
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
142
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING)
143
#if defined(USE_SGX_CORE_REV_HEAD)
144
#define SGX_FEATURE_FAST_RENDER_CONTEXT_SWITCH
146
#define SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH
147
#define SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_2
151
#define SGX_CORE_FRIENDLY_NAME "SGX554"
152
#define SGX_CORE_ID SGX_CORE_ID_554
153
#define SGX_FEATURE_USE_NO_INSTRUCTION_PAIRING
154
#define SGX_FEATURE_USE_UNLIMITED_PHASES
155
#define SGX_FEATURE_ADDRESS_SPACE_SIZE (32)
156
#define SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
157
#define SGX_FEATURE_BIF_NUM_DIRLISTS (8)
158
#define SGX_FEATURE_AUTOCLOCKGATING
159
#define SGX_FEATURE_MONOLITHIC_UKERNEL
160
#define SGX_FEATURE_SPM_MODE_0
161
#define SGX_FEATURE_MULTI_EVENT_KICK
162
#define SGX_FEATURE_2D_HARDWARE
163
#define SGX_FEATURE_PTLA
164
#define SGX_FEATURE_EXTENDED_PERF_COUNTERS
165
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
166
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING)
167
#if defined(SGX_FEATURE_MP)
168
#define SGX_FEATURE_MASTER_VDM_CONTEXT_SWITCH
170
#define SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH
171
#define SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_3
183
#if defined(SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH) \
184
|| defined(SGX_FEATURE_MASTER_VDM_CONTEXT_SWITCH)
185
#define SGX_FEATURE_VDM_CONTEXT_SWITCH
188
#if defined(SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_2) \
189
|| defined(SGX_FEATURE_ISP_CONTEXT_SWITCH_REV_3)
190
#define SGX_FEATURE_ISP_CONTEXT_SWITCH
193
#if defined(FIX_HW_BRN_22693)
194
#undef SGX_FEATURE_AUTOCLOCKGATING
197
#if defined(FIX_HW_BRN_27266)
198
#undef SGX_FEATURE_36BIT_MMU
201
#if defined(FIX_HW_BRN_27456)
202
#undef SGX_FEATURE_BIF_WIDE_TILING_AND_4K_ADDRESS
205
#if defined(FIX_HW_BRN_22934) \
206
|| defined(FIX_HW_BRN_25499)
207
#undef SGX_FEATURE_MULTI_EVENT_KICK
210
#if defined(SGX_FEATURE_SYSTEM_CACHE)
211
#if defined(SGX_FEATURE_36BIT_MMU)
212
#error SGX_FEATURE_SYSTEM_CACHE is incompatible with SGX_FEATURE_36BIT_MMU
214
#if defined(FIX_HW_BRN_26620) && !defined(SGX_FEATURE_MULTI_EVENT_KICK)
215
#define SGX_BYPASS_SYSTEM_CACHE
219
#if defined(FIX_HW_BRN_29954)
220
#undef SGX_FEATURE_PERPIPE_BKPT_REGS
223
#if defined(FIX_HW_BRN_31620)
224
#undef SGX_FEATURE_MULTIPLE_MEM_CONTEXTS
225
#undef SGX_FEATURE_BIF_NUM_DIRLISTS
228
#if defined(SGX_FEATURE_MP)
229
#if defined(SGX_FEATURE_MP_CORE_COUNT_TA) && defined(SGX_FEATURE_MP_CORE_COUNT_3D)
230
#if (SGX_FEATURE_MP_CORE_COUNT_TA > SGX_FEATURE_MP_CORE_COUNT_3D)
231
#error Number of TA cores larger than number of 3D cores not supported in current driver
234
#if defined(SGX_FEATURE_MP_CORE_COUNT)
235
#define SGX_FEATURE_MP_CORE_COUNT_TA (SGX_FEATURE_MP_CORE_COUNT)
236
#define SGX_FEATURE_MP_CORE_COUNT_3D (SGX_FEATURE_MP_CORE_COUNT)
238
#error Either SGX_FEATURE_MP_CORE_COUNT or \
239
both SGX_FEATURE_MP_CORE_COUNT_TA and SGX_FEATURE_MP_CORE_COUNT_3D \
240
must be defined when SGX_FEATURE_MP is defined
244
#define SGX_FEATURE_MP_CORE_COUNT (1)
245
#define SGX_FEATURE_MP_CORE_COUNT_TA (1)
246
#define SGX_FEATURE_MP_CORE_COUNT_3D (1)
249
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING) && !defined(SUPPORT_SGX_PRIORITY_SCHEDULING)
250
#define SUPPORT_SGX_PRIORITY_SCHEDULING
253
#include "img_types.h"