gpu: pvr: pdumpfs: add Kconfig and debugfs pdump mode handling
[sgx.git] / pvr / sgx530defs.h
1 /**********************************************************************
2  *
3  * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved.
4  *
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.
8  *
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.
13  *
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.
17  *
18  * The full GNU General Public License is included in this distribution in
19  * the file called "COPYING".
20  *
21  * Contact Information:
22  * Imagination Technologies Ltd. <gpl-support@imgtec.com>
23  * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK
24  *
25  ******************************************************************************/
26
27 #ifndef _SGX530DEFS_KM_H_
28 #define _SGX530DEFS_KM_H_
29
30 #define EUR_CR_CLKGATECTL                                       0x0000
31 #define EUR_CR_CLKGATECTL_2D_CLKG_MASK                          0x00000003
32 #define EUR_CR_CLKGATECTL_2D_CLKG_SHIFT                         0
33 #define EUR_CR_CLKGATECTL_ISP_CLKG_MASK                         0x00000030
34 #define EUR_CR_CLKGATECTL_ISP_CLKG_SHIFT                        4
35 #define EUR_CR_CLKGATECTL_TSP_CLKG_MASK                         0x00000300
36 #define EUR_CR_CLKGATECTL_TSP_CLKG_SHIFT                        8
37 #define EUR_CR_CLKGATECTL_TA_CLKG_MASK                          0x00003000
38 #define EUR_CR_CLKGATECTL_TA_CLKG_SHIFT                         12
39 #define EUR_CR_CLKGATECTL_DPM_CLKG_MASK                         0x00030000
40 #define EUR_CR_CLKGATECTL_DPM_CLKG_SHIFT                        16
41 #define EUR_CR_CLKGATECTL_USE_CLKG_MASK                         0x00300000
42 #define EUR_CR_CLKGATECTL_USE_CLKG_SHIFT                        20
43 #define EUR_CR_CLKGATECTL_AUTO_MAN_REG_MASK                     0x01000000
44 #define EUR_CR_CLKGATECTL_AUTO_MAN_REG_SHIFT                    24
45
46 #define EUR_CR_CLKGATESTATUS                                    0x0004
47 #define EUR_CR_CLKGATESTATUS_2D_CLKS_MASK                       0x00000001
48 #define EUR_CR_CLKGATESTATUS_2D_CLKS_SHIFT                      0
49 #define EUR_CR_CLKGATESTATUS_ISP_CLKS_MASK                      0x00000010
50 #define EUR_CR_CLKGATESTATUS_ISP_CLKS_SHIFT                     4
51 #define EUR_CR_CLKGATESTATUS_TSP_CLKS_MASK                      0x00000100
52 #define EUR_CR_CLKGATESTATUS_TSP_CLKS_SHIFT                     8
53 #define EUR_CR_CLKGATESTATUS_TA_CLKS_MASK                       0x00001000
54 #define EUR_CR_CLKGATESTATUS_TA_CLKS_SHIFT                      12
55 #define EUR_CR_CLKGATESTATUS_DPM_CLKS_MASK                      0x00010000
56 #define EUR_CR_CLKGATESTATUS_DPM_CLKS_SHIFT                     16
57 #define EUR_CR_CLKGATESTATUS_USE_CLKS_MASK                      0x00100000
58 #define EUR_CR_CLKGATESTATUS_USE_CLKS_SHIFT                     20
59
60 #define EUR_CR_CLKGATECTLOVR                                    0x0008
61 #define EUR_CR_CLKGATECTLOVR_2D_CLKO_MASK                       0x00000003
62 #define EUR_CR_CLKGATECTLOVR_2D_CLKO_SHIFT                      0
63 #define EUR_CR_CLKGATECTLOVR_ISP_CLKO_MASK                      0x00000030
64 #define EUR_CR_CLKGATECTLOVR_ISP_CLKO_SHIFT                     4
65 #define EUR_CR_CLKGATECTLOVR_TSP_CLKO_MASK                      0x00000300
66 #define EUR_CR_CLKGATECTLOVR_TSP_CLKO_SHIFT                     8
67 #define EUR_CR_CLKGATECTLOVR_TA_CLKO_MASK                       0x00003000
68 #define EUR_CR_CLKGATECTLOVR_TA_CLKO_SHIFT                      12
69 #define EUR_CR_CLKGATECTLOVR_DPM_CLKO_MASK                      0x00030000
70 #define EUR_CR_CLKGATECTLOVR_DPM_CLKO_SHIFT                     16
71 #define EUR_CR_CLKGATECTLOVR_USE_CLKO_MASK                      0x00300000
72 #define EUR_CR_CLKGATECTLOVR_USE_CLKO_SHIFT                     20
73
74 #define EUR_CR_CORE_ID                                          0x0010
75 #define EUR_CR_CORE_ID_CONFIG_MASK                              0x0000FFFF
76 #define EUR_CR_CORE_ID_CONFIG_SHIFT                             0
77 #define EUR_CR_CORE_ID_ID_MASK                                  0xFFFF0000
78 #define EUR_CR_CORE_ID_ID_SHIFT                                 16
79
80 #define EUR_CR_CORE_REVISION                                    0x0014
81 #define EUR_CR_CORE_REVISION_MAINTENANCE_MASK                   0x000000FF
82 #define EUR_CR_CORE_REVISION_MAINTENANCE_SHIFT                  0
83 #define EUR_CR_CORE_REVISION_MINOR_MASK                         0x0000FF00
84 #define EUR_CR_CORE_REVISION_MINOR_SHIFT                        8
85 #define EUR_CR_CORE_REVISION_MAJOR_MASK                         0x00FF0000
86 #define EUR_CR_CORE_REVISION_MAJOR_SHIFT                        16
87 #define EUR_CR_CORE_MAKE_REV(maj, min, maint) (                 \
88          (((maj) << EUR_CR_CORE_REVISION_MAJOR_SHIFT) &         \
89            EUR_CR_CORE_REVISION_MAJOR_MASK) |                   \
90          (((min) << EUR_CR_CORE_REVISION_MINOR_SHIFT) &         \
91            EUR_CR_CORE_REVISION_MINOR_MASK) |                   \
92          (((maint) << EUR_CR_CORE_REVISION_MAINTENANCE_SHIFT) & \
93            EUR_CR_CORE_REVISION_MAINTENANCE_MASK)               \
94         )
95 #define EUR_CR_CORE_REVISION_DESIGNER_MASK                      0xFF000000
96 #define EUR_CR_CORE_REVISION_DESIGNER_SHIFT                     24
97
98 #define EUR_CR_DESIGNER_REV_FIELD1                              0x0018
99 #define EUR_CR_DESIGNER_REV_FIELD1_DESIGNER_REV_FIELD1_MASK     0xFFFFFFFF
100 #define EUR_CR_DESIGNER_REV_FIELD1_DESIGNER_REV_FIELD1_SHIFT    0
101
102 #define EUR_CR_DESIGNER_REV_FIELD2                              0x001C
103 #define EUR_CR_DESIGNER_REV_FIELD2_DESIGNER_REV_FIELD2_MASK     0xFFFFFFFF
104 #define EUR_CR_DESIGNER_REV_FIELD2_DESIGNER_REV_FIELD2_SHIFT    0
105
106 #define EUR_CR_SOFT_RESET                                       0x0080
107 #define EUR_CR_SOFT_RESET_BIF_RESET_MASK                        0x00000001
108 #define EUR_CR_SOFT_RESET_BIF_RESET_SHIFT                       0
109 #define EUR_CR_SOFT_RESET_TWOD_RESET_MASK                       0x00000002
110 #define EUR_CR_SOFT_RESET_TWOD_RESET_SHIFT                      1
111 #define EUR_CR_SOFT_RESET_DPM_RESET_MASK                        0x00000004
112 #define EUR_CR_SOFT_RESET_DPM_RESET_SHIFT                       2
113 #define EUR_CR_SOFT_RESET_TA_RESET_MASK                         0x00000008
114 #define EUR_CR_SOFT_RESET_TA_RESET_SHIFT                        3
115 #define EUR_CR_SOFT_RESET_USE_RESET_MASK                        0x00000010
116 #define EUR_CR_SOFT_RESET_USE_RESET_SHIFT                       4
117 #define EUR_CR_SOFT_RESET_ISP_RESET_MASK                        0x00000020
118 #define EUR_CR_SOFT_RESET_ISP_RESET_SHIFT                       5
119 #define EUR_CR_SOFT_RESET_TSP_RESET_MASK                        0x00000040
120 #define EUR_CR_SOFT_RESET_TSP_RESET_SHIFT                       6
121
122 #define EUR_CR_EVENT_HOST_ENABLE2                               0x0110
123 #define EUR_CR_EVENT_HOST_ENABLE2_DPM_3D_FREE_LOAD_MASK         0x00000002
124 #define EUR_CR_EVENT_HOST_ENABLE2_DPM_3D_FREE_LOAD_SHIFT        1
125 #define EUR_CR_EVENT_HOST_ENABLE2_DPM_TA_FREE_LOAD_MASK         0x00000001
126 #define EUR_CR_EVENT_HOST_ENABLE2_DPM_TA_FREE_LOAD_SHIFT        0
127
128 #define EUR_CR_EVENT_HOST_CLEAR2                                0x0114
129 #define EUR_CR_EVENT_HOST_CLEAR2_DPM_3D_FREE_LOAD_MASK          0x00000002
130 #define EUR_CR_EVENT_HOST_CLEAR2_DPM_3D_FREE_LOAD_SHIFT         1
131 #define EUR_CR_EVENT_HOST_CLEAR2_DPM_TA_FREE_LOAD_MASK          0x00000001
132 #define EUR_CR_EVENT_HOST_CLEAR2_DPM_TA_FREE_LOAD_SHIFT         0
133
134 #define EUR_CR_EVENT_STATUS2                                    0x0118
135 #define EUR_CR_EVENT_STATUS2_DPM_3D_FREE_LOAD_MASK              0x00000002
136 #define EUR_CR_EVENT_STATUS2_DPM_3D_FREE_LOAD_SHIFT             1
137 #define EUR_CR_EVENT_STATUS2_DPM_TA_FREE_LOAD_MASK              0x00000001
138 #define EUR_CR_EVENT_STATUS2_DPM_TA_FREE_LOAD_SHIFT             0
139
140 #define EUR_CR_EVENT_STATUS                                     0x012C
141 #define EUR_CR_EVENT_STATUS_MASTER_INTERRUPT_MASK               0x80000000
142 #define EUR_CR_EVENT_STATUS_MASTER_INTERRUPT_SHIFT              31
143 #define EUR_CR_EVENT_STATUS_TIMER_MASK                          0x20000000
144 #define EUR_CR_EVENT_STATUS_TIMER_SHIFT                         29
145 #define EUR_CR_EVENT_STATUS_TA_DPM_FAULT_MASK                   0x10000000
146 #define EUR_CR_EVENT_STATUS_TA_DPM_FAULT_SHIFT                  28
147 #define EUR_CR_EVENT_STATUS_TWOD_COMPLETE_MASK                  0x08000000
148 #define EUR_CR_EVENT_STATUS_TWOD_COMPLETE_SHIFT                 27
149 #define EUR_CR_EVENT_STATUS_MADD_CACHE_INVALCOMPLETE_MASK       0x04000000
150 #define EUR_CR_EVENT_STATUS_MADD_CACHE_INVALCOMPLETE_SHIFT      26
151 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_ZLS_MASK          0x02000000
152 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_ZLS_SHIFT         25
153 #define EUR_CR_EVENT_STATUS_DPM_TA_MEM_FREE_MASK                0x01000000
154 #define EUR_CR_EVENT_STATUS_DPM_TA_MEM_FREE_SHIFT               24
155 #define EUR_CR_EVENT_STATUS_ISP_END_TILE_MASK                   0x00800000
156 #define EUR_CR_EVENT_STATUS_ISP_END_TILE_SHIFT                  23
157 #define EUR_CR_EVENT_STATUS_DPM_INITEND_MASK                    0x00400000
158 #define EUR_CR_EVENT_STATUS_DPM_INITEND_SHIFT                   22
159 #define EUR_CR_EVENT_STATUS_OTPM_LOADED_MASK                    0x00200000
160 #define EUR_CR_EVENT_STATUS_OTPM_LOADED_SHIFT                   21
161 #define EUR_CR_EVENT_STATUS_OTPM_INV_MASK                       0x00100000
162 #define EUR_CR_EVENT_STATUS_OTPM_INV_SHIFT                      20
163 #define EUR_CR_EVENT_STATUS_OTPM_FLUSHED_MASK                   0x00080000
164 #define EUR_CR_EVENT_STATUS_OTPM_FLUSHED_SHIFT                  19
165 #define EUR_CR_EVENT_STATUS_PIXELBE_END_RENDER_MASK             0x00040000
166 #define EUR_CR_EVENT_STATUS_PIXELBE_END_RENDER_SHIFT            18
167 #define EUR_CR_EVENT_STATUS_ISP_HALT_MASK                       0x00020000
168 #define EUR_CR_EVENT_STATUS_ISP_HALT_SHIFT                      17
169 #define EUR_CR_EVENT_STATUS_ISP_VISIBILITY_FAIL_MASK            0x00010000
170 #define EUR_CR_EVENT_STATUS_ISP_VISIBILITY_FAIL_SHIFT           16
171 #define EUR_CR_EVENT_STATUS_BREAKPOINT_MASK                     0x00008000
172 #define EUR_CR_EVENT_STATUS_BREAKPOINT_SHIFT                    15
173 #define EUR_CR_EVENT_STATUS_SW_EVENT_MASK                       0x00004000
174 #define EUR_CR_EVENT_STATUS_SW_EVENT_SHIFT                      14
175 #define EUR_CR_EVENT_STATUS_TA_FINISHED_MASK                    0x00002000
176 #define EUR_CR_EVENT_STATUS_TA_FINISHED_SHIFT                   13
177 #define EUR_CR_EVENT_STATUS_TA_TERMINATE_MASK                   0x00001000
178 #define EUR_CR_EVENT_STATUS_TA_TERMINATE_SHIFT                  12
179 #define EUR_CR_EVENT_STATUS_TPC_CLEAR_MASK                      0x00000800
180 #define EUR_CR_EVENT_STATUS_TPC_CLEAR_SHIFT                     11
181 #define EUR_CR_EVENT_STATUS_TPC_FLUSH_MASK                      0x00000400
182 #define EUR_CR_EVENT_STATUS_TPC_FLUSH_SHIFT                     10
183 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_CLEAR_MASK              0x00000200
184 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_CLEAR_SHIFT             9
185 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_LOAD_MASK               0x00000100
186 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_LOAD_SHIFT              8
187 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_STORE_MASK              0x00000080
188 #define EUR_CR_EVENT_STATUS_DPM_CONTROL_STORE_SHIFT             7
189 #define EUR_CR_EVENT_STATUS_DPM_STATE_CLEAR_MASK                0x00000040
190 #define EUR_CR_EVENT_STATUS_DPM_STATE_CLEAR_SHIFT               6
191 #define EUR_CR_EVENT_STATUS_DPM_STATE_LOAD_MASK                 0x00000020
192 #define EUR_CR_EVENT_STATUS_DPM_STATE_LOAD_SHIFT                5
193 #define EUR_CR_EVENT_STATUS_DPM_STATE_STORE_MASK                0x00000010
194 #define EUR_CR_EVENT_STATUS_DPM_STATE_STORE_SHIFT               4
195 #define EUR_CR_EVENT_STATUS_DPM_REACHED_MEM_THRESH_MASK         0x00000008
196 #define EUR_CR_EVENT_STATUS_DPM_REACHED_MEM_THRESH_SHIFT        3
197 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_GBL_MASK          0x00000004
198 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_GBL_SHIFT         2
199 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_MT_MASK           0x00000002
200 #define EUR_CR_EVENT_STATUS_DPM_OUT_OF_MEMORY_MT_SHIFT          1
201 #define EUR_CR_EVENT_STATUS_DPM_3D_MEM_FREE_MASK                0x00000001
202 #define EUR_CR_EVENT_STATUS_DPM_3D_MEM_FREE_SHIFT               0
203
204 #define EUR_CR_EVENT_HOST_ENABLE                                0x0130
205 #define EUR_CR_EVENT_HOST_ENABLE_MASTER_INTERRUPT_MASK          0x80000000
206 #define EUR_CR_EVENT_HOST_ENABLE_MASTER_INTERRUPT_SHIFT         31
207 #define EUR_CR_EVENT_HOST_ENABLE_TIMER_MASK                     0x20000000
208 #define EUR_CR_EVENT_HOST_ENABLE_TIMER_SHIFT                    29
209 #define EUR_CR_EVENT_HOST_ENABLE_TA_DPM_FAULT_MASK              0x10000000
210 #define EUR_CR_EVENT_HOST_ENABLE_TA_DPM_FAULT_SHIFT             28
211 #define EUR_CR_EVENT_HOST_ENABLE_TWOD_COMPLETE_MASK             0x08000000
212 #define EUR_CR_EVENT_HOST_ENABLE_TWOD_COMPLETE_SHIFT            27
213 #define EUR_CR_EVENT_HOST_ENABLE_MADD_CACHE_INVALCOMPLETE_MASK  0x04000000
214 #define EUR_CR_EVENT_HOST_ENABLE_MADD_CACHE_INVALCOMPLETE_SHIFT 26
215 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_ZLS_MASK     0x02000000
216 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_ZLS_SHIFT    25
217 #define EUR_CR_EVENT_HOST_ENABLE_DPM_TA_MEM_FREE_MASK           0x01000000
218 #define EUR_CR_EVENT_HOST_ENABLE_DPM_TA_MEM_FREE_SHIFT          24
219 #define EUR_CR_EVENT_HOST_ENABLE_ISP_END_TILE_MASK              0x00800000
220 #define EUR_CR_EVENT_HOST_ENABLE_ISP_END_TILE_SHIFT             23
221 #define EUR_CR_EVENT_HOST_ENABLE_DPM_INITEND_MASK               0x00400000
222 #define EUR_CR_EVENT_HOST_ENABLE_DPM_INITEND_SHIFT              22
223 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_LOADED_MASK               0x00200000
224 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_LOADED_SHIFT              21
225 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_INV_MASK                  0x00100000
226 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_INV_SHIFT                 20
227 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_FLUSHED_MASK              0x00080000
228 #define EUR_CR_EVENT_HOST_ENABLE_OTPM_FLUSHED_SHIFT             19
229 #define EUR_CR_EVENT_HOST_ENABLE_PIXELBE_END_RENDER_MASK        0x00040000
230 #define EUR_CR_EVENT_HOST_ENABLE_PIXELBE_END_RENDER_SHIFT       18
231 #define EUR_CR_EVENT_HOST_ENABLE_ISP_HALT_MASK                  0x00020000
232 #define EUR_CR_EVENT_HOST_ENABLE_ISP_HALT_SHIFT                 17
233 #define EUR_CR_EVENT_HOST_ENABLE_ISP_VISIBILITY_FAIL_MASK       0x00010000
234 #define EUR_CR_EVENT_HOST_ENABLE_ISP_VISIBILITY_FAIL_SHIFT      16
235 #define EUR_CR_EVENT_HOST_ENABLE_BREAKPOINT_MASK                0x00008000
236 #define EUR_CR_EVENT_HOST_ENABLE_BREAKPOINT_SHIFT               15
237 #define EUR_CR_EVENT_HOST_ENABLE_SW_EVENT_MASK                  0x00004000
238 #define EUR_CR_EVENT_HOST_ENABLE_SW_EVENT_SHIFT                 14
239 #define EUR_CR_EVENT_HOST_ENABLE_TA_FINISHED_MASK               0x00002000
240 #define EUR_CR_EVENT_HOST_ENABLE_TA_FINISHED_SHIFT              13
241 #define EUR_CR_EVENT_HOST_ENABLE_TA_TERMINATE_MASK              0x00001000
242 #define EUR_CR_EVENT_HOST_ENABLE_TA_TERMINATE_SHIFT             12
243 #define EUR_CR_EVENT_HOST_ENABLE_TPC_CLEAR_MASK                 0x00000800
244 #define EUR_CR_EVENT_HOST_ENABLE_TPC_CLEAR_SHIFT                11
245 #define EUR_CR_EVENT_HOST_ENABLE_TPC_FLUSH_MASK                 0x00000400
246 #define EUR_CR_EVENT_HOST_ENABLE_TPC_FLUSH_SHIFT                10
247 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_CLEAR_MASK         0x00000200
248 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_CLEAR_SHIFT        9
249 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_LOAD_MASK          0x00000100
250 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_LOAD_SHIFT         8
251 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_STORE_MASK         0x00000080
252 #define EUR_CR_EVENT_HOST_ENABLE_DPM_CONTROL_STORE_SHIFT        7
253 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_CLEAR_MASK           0x00000040
254 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_CLEAR_SHIFT          6
255 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_LOAD_MASK            0x00000020
256 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_LOAD_SHIFT           5
257 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_STORE_MASK           0x00000010
258 #define EUR_CR_EVENT_HOST_ENABLE_DPM_STATE_STORE_SHIFT          4
259 #define EUR_CR_EVENT_HOST_ENABLE_DPM_REACHED_MEM_THRESH_MASK    0x00000008
260 #define EUR_CR_EVENT_HOST_ENABLE_DPM_REACHED_MEM_THRESH_SHIFT   3
261 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_GBL_MASK     0x00000004
262 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_GBL_SHIFT    2
263 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_MT_MASK      0x00000002
264 #define EUR_CR_EVENT_HOST_ENABLE_DPM_OUT_OF_MEMORY_MT_SHIFT     1
265 #define EUR_CR_EVENT_HOST_ENABLE_DPM_3D_MEM_FREE_MASK           0x00000001
266 #define EUR_CR_EVENT_HOST_ENABLE_DPM_3D_MEM_FREE_SHIFT          0
267
268 #define EUR_CR_EVENT_HOST_CLEAR                                 0x0134
269 #define EUR_CR_EVENT_HOST_CLEAR_MASTER_INTERRUPT_MASK           0x80000000
270 #define EUR_CR_EVENT_HOST_CLEAR_MASTER_INTERRUPT_SHIFT          31
271 #define EUR_CR_EVENT_HOST_CLEAR_TIMER_MASK                      0x20000000
272 #define EUR_CR_EVENT_HOST_CLEAR_TIMER_SHIFT                     29
273 #define EUR_CR_EVENT_HOST_CLEAR_TA_DPM_FAULT_MASK               0x10000000
274 #define EUR_CR_EVENT_HOST_CLEAR_TA_DPM_FAULT_SHIFT              28
275 #define EUR_CR_EVENT_HOST_CLEAR_TWOD_COMPLETE_MASK              0x08000000
276 #define EUR_CR_EVENT_HOST_CLEAR_TWOD_COMPLETE_SHIFT             27
277 #define EUR_CR_EVENT_HOST_CLEAR_MADD_CACHE_INVALCOMPLETE_MASK   0x04000000
278 #define EUR_CR_EVENT_HOST_CLEAR_MADD_CACHE_INVALCOMPLETE_SHIFT  26
279 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_ZLS_MASK      0x02000000
280 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_ZLS_SHIFT     25
281 #define EUR_CR_EVENT_HOST_CLEAR_DPM_TA_MEM_FREE_MASK            0x01000000
282 #define EUR_CR_EVENT_HOST_CLEAR_DPM_TA_MEM_FREE_SHIFT           24
283 #define EUR_CR_EVENT_HOST_CLEAR_ISP_END_TILE_MASK               0x00800000
284 #define EUR_CR_EVENT_HOST_CLEAR_ISP_END_TILE_SHIFT              23
285 #define EUR_CR_EVENT_HOST_CLEAR_DPM_INITEND_MASK                0x00400000
286 #define EUR_CR_EVENT_HOST_CLEAR_DPM_INITEND_SHIFT               22
287 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_LOADED_MASK                0x00200000
288 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_LOADED_SHIFT               21
289 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_INV_MASK                   0x00100000
290 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_INV_SHIFT                  20
291 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_FLUSHED_MASK               0x00080000
292 #define EUR_CR_EVENT_HOST_CLEAR_OTPM_FLUSHED_SHIFT              19
293 #define EUR_CR_EVENT_HOST_CLEAR_PIXELBE_END_RENDER_MASK         0x00040000
294 #define EUR_CR_EVENT_HOST_CLEAR_PIXELBE_END_RENDER_SHIFT        18
295 #define EUR_CR_EVENT_HOST_CLEAR_ISP_HALT_MASK                   0x00020000
296 #define EUR_CR_EVENT_HOST_CLEAR_ISP_HALT_SHIFT                  17
297 #define EUR_CR_EVENT_HOST_CLEAR_ISP_VISIBILITY_FAIL_MASK        0x00010000
298 #define EUR_CR_EVENT_HOST_CLEAR_ISP_VISIBILITY_FAIL_SHIFT       16
299 #define EUR_CR_EVENT_HOST_CLEAR_BREAKPOINT_MASK                 0x00008000
300 #define EUR_CR_EVENT_HOST_CLEAR_BREAKPOINT_SHIFT                15
301 #define EUR_CR_EVENT_HOST_CLEAR_SW_EVENT_MASK                   0x00004000
302 #define EUR_CR_EVENT_HOST_CLEAR_SW_EVENT_SHIFT                  14
303 #define EUR_CR_EVENT_HOST_CLEAR_TA_FINISHED_MASK                0x00002000
304 #define EUR_CR_EVENT_HOST_CLEAR_TA_FINISHED_SHIFT               13
305 #define EUR_CR_EVENT_HOST_CLEAR_TA_TERMINATE_MASK               0x00001000
306 #define EUR_CR_EVENT_HOST_CLEAR_TA_TERMINATE_SHIFT              12
307 #define EUR_CR_EVENT_HOST_CLEAR_TPC_CLEAR_MASK                  0x00000800
308 #define EUR_CR_EVENT_HOST_CLEAR_TPC_CLEAR_SHIFT                 11
309 #define EUR_CR_EVENT_HOST_CLEAR_TPC_FLUSH_MASK                  0x00000400
310 #define EUR_CR_EVENT_HOST_CLEAR_TPC_FLUSH_SHIFT                 10
311 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_CLEAR_MASK          0x00000200
312 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_CLEAR_SHIFT         9
313 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_LOAD_MASK           0x00000100
314 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_LOAD_SHIFT          8
315 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_STORE_MASK          0x00000080
316 #define EUR_CR_EVENT_HOST_CLEAR_DPM_CONTROL_STORE_SHIFT         7
317 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_CLEAR_MASK            0x00000040
318 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_CLEAR_SHIFT           6
319 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_LOAD_MASK             0x00000020
320 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_LOAD_SHIFT            5
321 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_STORE_MASK            0x00000010
322 #define EUR_CR_EVENT_HOST_CLEAR_DPM_STATE_STORE_SHIFT           4
323 #define EUR_CR_EVENT_HOST_CLEAR_DPM_REACHED_MEM_THRESH_MASK     0x00000008
324 #define EUR_CR_EVENT_HOST_CLEAR_DPM_REACHED_MEM_THRESH_SHIFT    3
325 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_GBL_MASK      0x00000004
326 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_GBL_SHIFT     2
327 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_MT_MASK       0x00000002
328 #define EUR_CR_EVENT_HOST_CLEAR_DPM_OUT_OF_MEMORY_MT_SHIFT      1
329 #define EUR_CR_EVENT_HOST_CLEAR_DPM_3D_MEM_FREE_MASK            0x00000001
330 #define EUR_CR_EVENT_HOST_CLEAR_DPM_3D_MEM_FREE_SHIFT           0
331
332 #define EUR_CR_PDS                                              0x0ABC
333 #define EUR_CR_PDS_DOUT_TIMEOUT_DISABLE_MASK                    0x00000040
334 #define EUR_CR_PDS_DOUT_TIMEOUT_DISABLE_SHIFT                   6
335
336 #define EUR_CR_PDS_EXEC_BASE                                    0x0AB8
337 #define EUR_CR_PDS_EXEC_BASE_ADDR_MASK                          0x0FF00000
338 #define EUR_CR_PDS_EXEC_BASE_ADDR_SHIFT                         20
339
340 #define EUR_CR_EVENT_KICKER                                     0x0AC4
341 #define EUR_CR_EVENT_KICKER_ADDRESS_MASK                        0x0FFFFFF0
342 #define EUR_CR_EVENT_KICKER_ADDRESS_SHIFT                       4
343
344 #define EUR_CR_EVENT_KICK                                       0x0AC8
345 #define EUR_CR_EVENT_KICK_NOW_MASK                              0x00000001
346 #define EUR_CR_EVENT_KICK_NOW_SHIFT                             0
347
348 #define EUR_CR_EVENT_TIMER                                      0x0ACC
349 #define EUR_CR_EVENT_TIMER_ENABLE_MASK                          0x01000000
350 #define EUR_CR_EVENT_TIMER_ENABLE_SHIFT                         24
351 #define EUR_CR_EVENT_TIMER_VALUE_MASK                           0x00FFFFFF
352 #define EUR_CR_EVENT_TIMER_VALUE_SHIFT                          0
353
354 #define EUR_CR_PDS_INV0                                         0x0AD0
355 #define EUR_CR_PDS_INV0_DSC_MASK                                0x00000001
356 #define EUR_CR_PDS_INV0_DSC_SHIFT                               0
357
358 #define EUR_CR_PDS_INV1                                         0x0AD4
359 #define EUR_CR_PDS_INV1_DSC_MASK                                0x00000001
360 #define EUR_CR_PDS_INV1_DSC_SHIFT                               0
361
362 #define EUR_CR_PDS_INV2                                         0x0AD8
363 #define EUR_CR_PDS_INV2_DSC_MASK                                0x00000001
364 #define EUR_CR_PDS_INV2_DSC_SHIFT                               0
365
366 #define EUR_CR_PDS_INV3                                         0x0ADC
367 #define EUR_CR_PDS_INV3_DSC_MASK                                0x00000001
368 #define EUR_CR_PDS_INV3_DSC_SHIFT                               0
369
370 #define EUR_CR_PDS_INV_CSC                                      0x0AE0
371 #define EUR_CR_PDS_INV_CSC_KICK_MASK                            0x00000001
372 #define EUR_CR_PDS_INV_CSC_KICK_SHIFT                           0
373
374 #define EUR_CR_PDS_PC_BASE                                      0x0B2C
375 #define EUR_CR_PDS_PC_BASE_ADDRESS_MASK                         0x3FFFFFFF
376 #define EUR_CR_PDS_PC_BASE_ADDRESS_SHIFT                        0
377
378 #define EUR_CR_BIF_CTRL                                         0x0C00
379 #define EUR_CR_BIF_CTRL_NOREORDER_MASK                          0x00000001
380 #define EUR_CR_BIF_CTRL_NOREORDER_SHIFT                         0
381 #define EUR_CR_BIF_CTRL_PAUSE_MASK                              0x00000002
382 #define EUR_CR_BIF_CTRL_PAUSE_SHIFT                             1
383 #define EUR_CR_BIF_CTRL_FLUSH_MASK                              0x00000004
384 #define EUR_CR_BIF_CTRL_FLUSH_SHIFT                             2
385 #define EUR_CR_BIF_CTRL_INVALDC_MASK                            0x00000008
386 #define EUR_CR_BIF_CTRL_INVALDC_SHIFT                           3
387 #define EUR_CR_BIF_CTRL_CLEAR_FAULT_MASK                        0x00000010
388 #define EUR_CR_BIF_CTRL_CLEAR_FAULT_SHIFT                       4
389 #define EUR_CR_BIF_CTRL_MMU_BYPASS_CACHE_MASK                   0x00000100
390 #define EUR_CR_BIF_CTRL_MMU_BYPASS_CACHE_SHIFT                  8
391 #define EUR_CR_BIF_CTRL_MMU_BYPASS_VDM_MASK                     0x00000200
392 #define EUR_CR_BIF_CTRL_MMU_BYPASS_VDM_SHIFT                    9
393 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TE_MASK                      0x00000400
394 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TE_SHIFT                     10
395 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TWOD_MASK                    0x00000800
396 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TWOD_SHIFT                   11
397 #define EUR_CR_BIF_CTRL_MMU_BYPASS_PBE_MASK                     0x00001000
398 #define EUR_CR_BIF_CTRL_MMU_BYPASS_PBE_SHIFT                    12
399 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TSPP_MASK                    0x00002000
400 #define EUR_CR_BIF_CTRL_MMU_BYPASS_TSPP_SHIFT                   13
401 #define EUR_CR_BIF_CTRL_MMU_BYPASS_ISP_MASK                     0x00004000
402 #define EUR_CR_BIF_CTRL_MMU_BYPASS_ISP_SHIFT                    14
403 #define EUR_CR_BIF_CTRL_MMU_BYPASS_USE_MASK                     0x00008000
404 #define EUR_CR_BIF_CTRL_MMU_BYPASS_USE_SHIFT                    15
405
406 #define EUR_CR_BIF_INT_STAT                                     0x0C04
407 #define EUR_CR_BIF_INT_STAT_FAULT_MASK                          0x00003FFF
408 #define EUR_CR_BIF_INT_STAT_FAULT_SHIFT                         0
409 #define EUR_CR_BIF_INT_STAT_PF_N_RW_MASK                        0x00004000
410 #define EUR_CR_BIF_INT_STAT_PF_N_RW_SHIFT                       14
411 #define EUR_CR_BIF_FAULT                                        0x0C08
412 #define EUR_CR_BIF_FAULT_ADDR_MASK                              0x0FFFF000
413 #define EUR_CR_BIF_FAULT_ADDR_SHIFT                             12
414
415 #define EUR_CR_BIF_DIR_LIST_BASE0                               0x0C84
416 #define EUR_CR_BIF_DIR_LIST_BASE0_ADDR_MASK                     0xFFFFF000
417 #define EUR_CR_BIF_DIR_LIST_BASE0_ADDR_SHIFT                    12
418
419 #define EUR_CR_BIF_TWOD_REQ_BASE                                0x0C88
420 #define EUR_CR_BIF_TWOD_REQ_BASE_ADDR_MASK                      0x0FF00000
421 #define EUR_CR_BIF_TWOD_REQ_BASE_ADDR_SHIFT                     20
422
423 #define EUR_CR_BIF_TA_REQ_BASE                                  0x0C90
424 #define EUR_CR_BIF_TA_REQ_BASE_ADDR_MASK                        0x0FF00000
425 #define EUR_CR_BIF_TA_REQ_BASE_ADDR_SHIFT                       20
426
427 #define EUR_CR_BIF_MEM_REQ_STAT                                 0x0CA8
428 #define EUR_CR_BIF_MEM_REQ_STAT_READS_MASK                      0x000000FF
429 #define EUR_CR_BIF_MEM_REQ_STAT_READS_SHIFT                     0
430
431 #define EUR_CR_BIF_3D_REQ_BASE                                  0x0CAC
432 #define EUR_CR_BIF_3D_REQ_BASE_ADDR_MASK                        0x0FF00000
433 #define EUR_CR_BIF_3D_REQ_BASE_ADDR_SHIFT                       20
434
435 #define EUR_CR_BIF_ZLS_REQ_BASE                                 0x0CB0
436 #define EUR_CR_BIF_ZLS_REQ_BASE_ADDR_MASK                       0x0FF00000
437 #define EUR_CR_BIF_ZLS_REQ_BASE_ADDR_SHIFT                      20
438
439 #define EUR_CR_2D_BLIT_STATUS                                   0x0E04
440 #define EUR_CR_2D_BLIT_STATUS_COMPLETE_MASK                     0x00FFFFFF
441 #define EUR_CR_2D_BLIT_STATUS_COMPLETE_SHIFT                    0
442 #define EUR_CR_2D_BLIT_STATUS_BUSY_MASK                         0x01000000
443 #define EUR_CR_2D_BLIT_STATUS_BUSY_SHIFT                        24
444
445 #define EUR_CR_2D_VIRTUAL_FIFO_0                                0x0E10
446 #define EUR_CR_2D_VIRTUAL_FIFO_0_ENABLE_MASK                    0x00000001
447 #define EUR_CR_2D_VIRTUAL_FIFO_0_ENABLE_SHIFT                   0
448 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_MASK                  0x0000000E
449 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_SHIFT                 1
450 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_DIV_MASK              0x00000FF0
451 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_DIV_SHIFT             4
452 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_MUL_MASK              0x0000F000
453 #define EUR_CR_2D_VIRTUAL_FIFO_0_FLOWRATE_MUL_SHIFT             12
454
455 #define EUR_CR_2D_VIRTUAL_FIFO_1                                0x0E14
456 #define EUR_CR_2D_VIRTUAL_FIFO_1_MIN_ACC_MASK                   0x00000FFF
457 #define EUR_CR_2D_VIRTUAL_FIFO_1_MIN_ACC_SHIFT                  0
458 #define EUR_CR_2D_VIRTUAL_FIFO_1_MAX_ACC_MASK                   0x00FFF000
459 #define EUR_CR_2D_VIRTUAL_FIFO_1_MAX_ACC_SHIFT                  12
460 #define EUR_CR_2D_VIRTUAL_FIFO_1_MIN_METRIC_MASK                0xFF000000
461 #define EUR_CR_2D_VIRTUAL_FIFO_1_MIN_METRIC_SHIFT               24
462
463 #define EUR_CR_USE_CODE_BASE(X)                                 (0x0A0C + (4 * (X)))
464 #define EUR_CR_USE_CODE_BASE_ADDR_MASK                          0x00FFFFFF
465 #define EUR_CR_USE_CODE_BASE_ADDR_SHIFT                         0
466 #define EUR_CR_USE_CODE_BASE_DM_MASK                            0x03000000
467 #define EUR_CR_USE_CODE_BASE_DM_SHIFT                           24
468 #define EUR_CR_USE_CODE_BASE_SIZE_UINT32                        16
469 #define EUR_CR_USE_CODE_BASE_NUM_ENTRIES                        16
470
471 #endif