1b8e80941Smrg#ifndef ADRENO_COMMON_XML
2b8e80941Smrg#define ADRENO_COMMON_XML
3b8e80941Smrg
4b8e80941Smrg/* Autogenerated file, DO NOT EDIT manually!
5b8e80941Smrg
6b8e80941SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository:
7b8e80941Smrghttp://github.com/freedreno/envytools/
8b8e80941Smrggit clone https://github.com/freedreno/envytools.git
9b8e80941Smrg
10b8e80941SmrgThe rules-ng-ng source files this header was generated from are:
11b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
12b8e80941Smrg- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
13b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  79608 bytes, from 2019-01-21 14:36:17)
14b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  14239 bytes, from 2018-12-05 15:25:53)
15b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  43155 bytes, from 2019-05-03 18:24:29)
16b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
17b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
18b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2019-05-03 18:24:29)
19b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 148461 bytes, from 2019-05-03 18:24:37)
20b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-09-14 13:03:07)
21b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
22b8e80941Smrg
23b8e80941SmrgCopyright (C) 2013-2018 by the following authors:
24b8e80941Smrg- Rob Clark <robdclark@gmail.com> (robclark)
25b8e80941Smrg- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
26b8e80941Smrg
27b8e80941SmrgPermission is hereby granted, free of charge, to any person obtaining
28b8e80941Smrga copy of this software and associated documentation files (the
29b8e80941Smrg"Software"), to deal in the Software without restriction, including
30b8e80941Smrgwithout limitation the rights to use, copy, modify, merge, publish,
31b8e80941Smrgdistribute, sublicense, and/or sell copies of the Software, and to
32b8e80941Smrgpermit persons to whom the Software is furnished to do so, subject to
33b8e80941Smrgthe following conditions:
34b8e80941Smrg
35b8e80941SmrgThe above copyright notice and this permission notice (including the
36b8e80941Smrgnext paragraph) shall be included in all copies or substantial
37b8e80941Smrgportions of the Software.
38b8e80941Smrg
39b8e80941SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40b8e80941SmrgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41b8e80941SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
42b8e80941SmrgIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
43b8e80941SmrgLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
44b8e80941SmrgOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
45b8e80941SmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
46b8e80941Smrg*/
47b8e80941Smrg
48b8e80941Smrg
49b8e80941Smrgenum chip {
50b8e80941Smrg	A2XX = 0,
51b8e80941Smrg	A3XX = 0,
52b8e80941Smrg	A4XX = 0,
53b8e80941Smrg	A5XX = 0,
54b8e80941Smrg	A6XX = 0,
55b8e80941Smrg};
56b8e80941Smrg
57b8e80941Smrgenum adreno_pa_su_sc_draw {
58b8e80941Smrg	PC_DRAW_POINTS = 0,
59b8e80941Smrg	PC_DRAW_LINES = 1,
60b8e80941Smrg	PC_DRAW_TRIANGLES = 2,
61b8e80941Smrg};
62b8e80941Smrg
63b8e80941Smrgenum adreno_compare_func {
64b8e80941Smrg	FUNC_NEVER = 0,
65b8e80941Smrg	FUNC_LESS = 1,
66b8e80941Smrg	FUNC_EQUAL = 2,
67b8e80941Smrg	FUNC_LEQUAL = 3,
68b8e80941Smrg	FUNC_GREATER = 4,
69b8e80941Smrg	FUNC_NOTEQUAL = 5,
70b8e80941Smrg	FUNC_GEQUAL = 6,
71b8e80941Smrg	FUNC_ALWAYS = 7,
72b8e80941Smrg};
73b8e80941Smrg
74b8e80941Smrgenum adreno_stencil_op {
75b8e80941Smrg	STENCIL_KEEP = 0,
76b8e80941Smrg	STENCIL_ZERO = 1,
77b8e80941Smrg	STENCIL_REPLACE = 2,
78b8e80941Smrg	STENCIL_INCR_CLAMP = 3,
79b8e80941Smrg	STENCIL_DECR_CLAMP = 4,
80b8e80941Smrg	STENCIL_INVERT = 5,
81b8e80941Smrg	STENCIL_INCR_WRAP = 6,
82b8e80941Smrg	STENCIL_DECR_WRAP = 7,
83b8e80941Smrg};
84b8e80941Smrg
85b8e80941Smrgenum adreno_rb_blend_factor {
86b8e80941Smrg	FACTOR_ZERO = 0,
87b8e80941Smrg	FACTOR_ONE = 1,
88b8e80941Smrg	FACTOR_SRC_COLOR = 4,
89b8e80941Smrg	FACTOR_ONE_MINUS_SRC_COLOR = 5,
90b8e80941Smrg	FACTOR_SRC_ALPHA = 6,
91b8e80941Smrg	FACTOR_ONE_MINUS_SRC_ALPHA = 7,
92b8e80941Smrg	FACTOR_DST_COLOR = 8,
93b8e80941Smrg	FACTOR_ONE_MINUS_DST_COLOR = 9,
94b8e80941Smrg	FACTOR_DST_ALPHA = 10,
95b8e80941Smrg	FACTOR_ONE_MINUS_DST_ALPHA = 11,
96b8e80941Smrg	FACTOR_CONSTANT_COLOR = 12,
97b8e80941Smrg	FACTOR_ONE_MINUS_CONSTANT_COLOR = 13,
98b8e80941Smrg	FACTOR_CONSTANT_ALPHA = 14,
99b8e80941Smrg	FACTOR_ONE_MINUS_CONSTANT_ALPHA = 15,
100b8e80941Smrg	FACTOR_SRC_ALPHA_SATURATE = 16,
101b8e80941Smrg	FACTOR_SRC1_COLOR = 20,
102b8e80941Smrg	FACTOR_ONE_MINUS_SRC1_COLOR = 21,
103b8e80941Smrg	FACTOR_SRC1_ALPHA = 22,
104b8e80941Smrg	FACTOR_ONE_MINUS_SRC1_ALPHA = 23,
105b8e80941Smrg};
106b8e80941Smrg
107b8e80941Smrgenum adreno_rb_surface_endian {
108b8e80941Smrg	ENDIAN_NONE = 0,
109b8e80941Smrg	ENDIAN_8IN16 = 1,
110b8e80941Smrg	ENDIAN_8IN32 = 2,
111b8e80941Smrg	ENDIAN_16IN32 = 3,
112b8e80941Smrg	ENDIAN_8IN64 = 4,
113b8e80941Smrg	ENDIAN_8IN128 = 5,
114b8e80941Smrg};
115b8e80941Smrg
116b8e80941Smrgenum adreno_rb_dither_mode {
117b8e80941Smrg	DITHER_DISABLE = 0,
118b8e80941Smrg	DITHER_ALWAYS = 1,
119b8e80941Smrg	DITHER_IF_ALPHA_OFF = 2,
120b8e80941Smrg};
121b8e80941Smrg
122b8e80941Smrgenum adreno_rb_depth_format {
123b8e80941Smrg	DEPTHX_16 = 0,
124b8e80941Smrg	DEPTHX_24_8 = 1,
125b8e80941Smrg	DEPTHX_32 = 2,
126b8e80941Smrg};
127b8e80941Smrg
128b8e80941Smrgenum adreno_rb_copy_control_mode {
129b8e80941Smrg	RB_COPY_RESOLVE = 1,
130b8e80941Smrg	RB_COPY_CLEAR = 2,
131b8e80941Smrg	RB_COPY_DEPTH_STENCIL = 5,
132b8e80941Smrg};
133b8e80941Smrg
134b8e80941Smrgenum a3xx_rop_code {
135b8e80941Smrg	ROP_CLEAR = 0,
136b8e80941Smrg	ROP_NOR = 1,
137b8e80941Smrg	ROP_AND_INVERTED = 2,
138b8e80941Smrg	ROP_COPY_INVERTED = 3,
139b8e80941Smrg	ROP_AND_REVERSE = 4,
140b8e80941Smrg	ROP_INVERT = 5,
141b8e80941Smrg	ROP_XOR = 6,
142b8e80941Smrg	ROP_NAND = 7,
143b8e80941Smrg	ROP_AND = 8,
144b8e80941Smrg	ROP_EQUIV = 9,
145b8e80941Smrg	ROP_NOOP = 10,
146b8e80941Smrg	ROP_OR_INVERTED = 11,
147b8e80941Smrg	ROP_COPY = 12,
148b8e80941Smrg	ROP_OR_REVERSE = 13,
149b8e80941Smrg	ROP_OR = 14,
150b8e80941Smrg	ROP_SET = 15,
151b8e80941Smrg};
152b8e80941Smrg
153b8e80941Smrgenum a3xx_render_mode {
154b8e80941Smrg	RB_RENDERING_PASS = 0,
155b8e80941Smrg	RB_TILING_PASS = 1,
156b8e80941Smrg	RB_RESOLVE_PASS = 2,
157b8e80941Smrg	RB_COMPUTE_PASS = 3,
158b8e80941Smrg};
159b8e80941Smrg
160b8e80941Smrgenum a3xx_msaa_samples {
161b8e80941Smrg	MSAA_ONE = 0,
162b8e80941Smrg	MSAA_TWO = 1,
163b8e80941Smrg	MSAA_FOUR = 2,
164b8e80941Smrg	MSAA_EIGHT = 3,
165b8e80941Smrg};
166b8e80941Smrg
167b8e80941Smrgenum a3xx_threadmode {
168b8e80941Smrg	MULTI = 0,
169b8e80941Smrg	SINGLE = 1,
170b8e80941Smrg};
171b8e80941Smrg
172b8e80941Smrgenum a3xx_instrbuffermode {
173b8e80941Smrg	CACHE = 0,
174b8e80941Smrg	BUFFER = 1,
175b8e80941Smrg};
176b8e80941Smrg
177b8e80941Smrgenum a3xx_threadsize {
178b8e80941Smrg	TWO_QUADS = 0,
179b8e80941Smrg	FOUR_QUADS = 1,
180b8e80941Smrg};
181b8e80941Smrg
182b8e80941Smrgenum a3xx_color_swap {
183b8e80941Smrg	WZYX = 0,
184b8e80941Smrg	WXYZ = 1,
185b8e80941Smrg	ZYXW = 2,
186b8e80941Smrg	XYZW = 3,
187b8e80941Smrg};
188b8e80941Smrg
189b8e80941Smrgenum a3xx_rb_blend_opcode {
190b8e80941Smrg	BLEND_DST_PLUS_SRC = 0,
191b8e80941Smrg	BLEND_SRC_MINUS_DST = 1,
192b8e80941Smrg	BLEND_DST_MINUS_SRC = 2,
193b8e80941Smrg	BLEND_MIN_DST_SRC = 3,
194b8e80941Smrg	BLEND_MAX_DST_SRC = 4,
195b8e80941Smrg};
196b8e80941Smrg
197b8e80941Smrgenum a4xx_tess_spacing {
198b8e80941Smrg	EQUAL_SPACING = 0,
199b8e80941Smrg	ODD_SPACING = 2,
200b8e80941Smrg	EVEN_SPACING = 3,
201b8e80941Smrg};
202b8e80941Smrg
203b8e80941Smrg#define REG_AXXX_CP_RB_BASE					0x000001c0
204b8e80941Smrg
205b8e80941Smrg#define REG_AXXX_CP_RB_CNTL					0x000001c1
206b8e80941Smrg#define AXXX_CP_RB_CNTL_BUFSZ__MASK				0x0000003f
207b8e80941Smrg#define AXXX_CP_RB_CNTL_BUFSZ__SHIFT				0
208b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BUFSZ(uint32_t val)
209b8e80941Smrg{
210b8e80941Smrg	return ((val) << AXXX_CP_RB_CNTL_BUFSZ__SHIFT) & AXXX_CP_RB_CNTL_BUFSZ__MASK;
211b8e80941Smrg}
212b8e80941Smrg#define AXXX_CP_RB_CNTL_BLKSZ__MASK				0x00003f00
213b8e80941Smrg#define AXXX_CP_RB_CNTL_BLKSZ__SHIFT				8
214b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BLKSZ(uint32_t val)
215b8e80941Smrg{
216b8e80941Smrg	return ((val) << AXXX_CP_RB_CNTL_BLKSZ__SHIFT) & AXXX_CP_RB_CNTL_BLKSZ__MASK;
217b8e80941Smrg}
218b8e80941Smrg#define AXXX_CP_RB_CNTL_BUF_SWAP__MASK				0x00030000
219b8e80941Smrg#define AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT				16
220b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BUF_SWAP(uint32_t val)
221b8e80941Smrg{
222b8e80941Smrg	return ((val) << AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT) & AXXX_CP_RB_CNTL_BUF_SWAP__MASK;
223b8e80941Smrg}
224b8e80941Smrg#define AXXX_CP_RB_CNTL_POLL_EN					0x00100000
225b8e80941Smrg#define AXXX_CP_RB_CNTL_NO_UPDATE				0x08000000
226b8e80941Smrg#define AXXX_CP_RB_CNTL_RPTR_WR_EN				0x80000000
227b8e80941Smrg
228b8e80941Smrg#define REG_AXXX_CP_RB_RPTR_ADDR				0x000001c3
229b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_SWAP__MASK				0x00000003
230b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT			0
231b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_RPTR_ADDR_SWAP(uint32_t val)
232b8e80941Smrg{
233b8e80941Smrg	return ((val) << AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT) & AXXX_CP_RB_RPTR_ADDR_SWAP__MASK;
234b8e80941Smrg}
235b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_ADDR__MASK				0xfffffffc
236b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT			2
237b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_RPTR_ADDR_ADDR(uint32_t val)
238b8e80941Smrg{
239b8e80941Smrg	assert(!(val & 0x3));
240b8e80941Smrg	return ((val >> 2) << AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT) & AXXX_CP_RB_RPTR_ADDR_ADDR__MASK;
241b8e80941Smrg}
242b8e80941Smrg
243b8e80941Smrg#define REG_AXXX_CP_RB_RPTR					0x000001c4
244b8e80941Smrg
245b8e80941Smrg#define REG_AXXX_CP_RB_WPTR					0x000001c5
246b8e80941Smrg
247b8e80941Smrg#define REG_AXXX_CP_RB_WPTR_DELAY				0x000001c6
248b8e80941Smrg
249b8e80941Smrg#define REG_AXXX_CP_RB_RPTR_WR					0x000001c7
250b8e80941Smrg
251b8e80941Smrg#define REG_AXXX_CP_RB_WPTR_BASE				0x000001c8
252b8e80941Smrg
253b8e80941Smrg#define REG_AXXX_CP_QUEUE_THRESHOLDS				0x000001d5
254b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK		0x0000000f
255b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT		0
256b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START(uint32_t val)
257b8e80941Smrg{
258b8e80941Smrg	return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK;
259b8e80941Smrg}
260b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK		0x00000f00
261b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT		8
262b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START(uint32_t val)
263b8e80941Smrg{
264b8e80941Smrg	return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK;
265b8e80941Smrg}
266b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK		0x000f0000
267b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT		16
268b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START(uint32_t val)
269b8e80941Smrg{
270b8e80941Smrg	return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK;
271b8e80941Smrg}
272b8e80941Smrg
273b8e80941Smrg#define REG_AXXX_CP_MEQ_THRESHOLDS				0x000001d6
274b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK			0x001f0000
275b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT			16
276b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_THRESHOLDS_MEQ_END(uint32_t val)
277b8e80941Smrg{
278b8e80941Smrg	return ((val) << AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK;
279b8e80941Smrg}
280b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK			0x1f000000
281b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT			24
282b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_THRESHOLDS_ROQ_END(uint32_t val)
283b8e80941Smrg{
284b8e80941Smrg	return ((val) << AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK;
285b8e80941Smrg}
286b8e80941Smrg
287b8e80941Smrg#define REG_AXXX_CP_CSQ_AVAIL					0x000001d7
288b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_RING__MASK				0x0000007f
289b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_RING__SHIFT				0
290b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_RING(uint32_t val)
291b8e80941Smrg{
292b8e80941Smrg	return ((val) << AXXX_CP_CSQ_AVAIL_RING__SHIFT) & AXXX_CP_CSQ_AVAIL_RING__MASK;
293b8e80941Smrg}
294b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB1__MASK				0x00007f00
295b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB1__SHIFT				8
296b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_IB1(uint32_t val)
297b8e80941Smrg{
298b8e80941Smrg	return ((val) << AXXX_CP_CSQ_AVAIL_IB1__SHIFT) & AXXX_CP_CSQ_AVAIL_IB1__MASK;
299b8e80941Smrg}
300b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB2__MASK				0x007f0000
301b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB2__SHIFT				16
302b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_IB2(uint32_t val)
303b8e80941Smrg{
304b8e80941Smrg	return ((val) << AXXX_CP_CSQ_AVAIL_IB2__SHIFT) & AXXX_CP_CSQ_AVAIL_IB2__MASK;
305b8e80941Smrg}
306b8e80941Smrg
307b8e80941Smrg#define REG_AXXX_CP_STQ_AVAIL					0x000001d8
308b8e80941Smrg#define AXXX_CP_STQ_AVAIL_ST__MASK				0x0000007f
309b8e80941Smrg#define AXXX_CP_STQ_AVAIL_ST__SHIFT				0
310b8e80941Smrgstatic inline uint32_t AXXX_CP_STQ_AVAIL_ST(uint32_t val)
311b8e80941Smrg{
312b8e80941Smrg	return ((val) << AXXX_CP_STQ_AVAIL_ST__SHIFT) & AXXX_CP_STQ_AVAIL_ST__MASK;
313b8e80941Smrg}
314b8e80941Smrg
315b8e80941Smrg#define REG_AXXX_CP_MEQ_AVAIL					0x000001d9
316b8e80941Smrg#define AXXX_CP_MEQ_AVAIL_MEQ__MASK				0x0000001f
317b8e80941Smrg#define AXXX_CP_MEQ_AVAIL_MEQ__SHIFT				0
318b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_AVAIL_MEQ(uint32_t val)
319b8e80941Smrg{
320b8e80941Smrg	return ((val) << AXXX_CP_MEQ_AVAIL_MEQ__SHIFT) & AXXX_CP_MEQ_AVAIL_MEQ__MASK;
321b8e80941Smrg}
322b8e80941Smrg
323b8e80941Smrg#define REG_AXXX_SCRATCH_UMSK					0x000001dc
324b8e80941Smrg#define AXXX_SCRATCH_UMSK_UMSK__MASK				0x000000ff
325b8e80941Smrg#define AXXX_SCRATCH_UMSK_UMSK__SHIFT				0
326b8e80941Smrgstatic inline uint32_t AXXX_SCRATCH_UMSK_UMSK(uint32_t val)
327b8e80941Smrg{
328b8e80941Smrg	return ((val) << AXXX_SCRATCH_UMSK_UMSK__SHIFT) & AXXX_SCRATCH_UMSK_UMSK__MASK;
329b8e80941Smrg}
330b8e80941Smrg#define AXXX_SCRATCH_UMSK_SWAP__MASK				0x00030000
331b8e80941Smrg#define AXXX_SCRATCH_UMSK_SWAP__SHIFT				16
332b8e80941Smrgstatic inline uint32_t AXXX_SCRATCH_UMSK_SWAP(uint32_t val)
333b8e80941Smrg{
334b8e80941Smrg	return ((val) << AXXX_SCRATCH_UMSK_SWAP__SHIFT) & AXXX_SCRATCH_UMSK_SWAP__MASK;
335b8e80941Smrg}
336b8e80941Smrg
337b8e80941Smrg#define REG_AXXX_SCRATCH_ADDR					0x000001dd
338b8e80941Smrg
339b8e80941Smrg#define REG_AXXX_CP_ME_RDADDR					0x000001ea
340b8e80941Smrg
341b8e80941Smrg#define REG_AXXX_CP_STATE_DEBUG_INDEX				0x000001ec
342b8e80941Smrg
343b8e80941Smrg#define REG_AXXX_CP_STATE_DEBUG_DATA				0x000001ed
344b8e80941Smrg
345b8e80941Smrg#define REG_AXXX_CP_INT_CNTL					0x000001f2
346b8e80941Smrg#define AXXX_CP_INT_CNTL_SW_INT_MASK				0x00080000
347b8e80941Smrg#define AXXX_CP_INT_CNTL_T0_PACKET_IN_IB_MASK			0x00800000
348b8e80941Smrg#define AXXX_CP_INT_CNTL_OPCODE_ERROR_MASK			0x01000000
349b8e80941Smrg#define AXXX_CP_INT_CNTL_PROTECTED_MODE_ERROR_MASK		0x02000000
350b8e80941Smrg#define AXXX_CP_INT_CNTL_RESERVED_BIT_ERROR_MASK		0x04000000
351b8e80941Smrg#define AXXX_CP_INT_CNTL_IB_ERROR_MASK				0x08000000
352b8e80941Smrg#define AXXX_CP_INT_CNTL_IB2_INT_MASK				0x20000000
353b8e80941Smrg#define AXXX_CP_INT_CNTL_IB1_INT_MASK				0x40000000
354b8e80941Smrg#define AXXX_CP_INT_CNTL_RB_INT_MASK				0x80000000
355b8e80941Smrg
356b8e80941Smrg#define REG_AXXX_CP_INT_STATUS					0x000001f3
357b8e80941Smrg
358b8e80941Smrg#define REG_AXXX_CP_INT_ACK					0x000001f4
359b8e80941Smrg
360b8e80941Smrg#define REG_AXXX_CP_ME_CNTL					0x000001f6
361b8e80941Smrg#define AXXX_CP_ME_CNTL_BUSY					0x20000000
362b8e80941Smrg#define AXXX_CP_ME_CNTL_HALT					0x10000000
363b8e80941Smrg
364b8e80941Smrg#define REG_AXXX_CP_ME_STATUS					0x000001f7
365b8e80941Smrg
366b8e80941Smrg#define REG_AXXX_CP_ME_RAM_WADDR				0x000001f8
367b8e80941Smrg
368b8e80941Smrg#define REG_AXXX_CP_ME_RAM_RADDR				0x000001f9
369b8e80941Smrg
370b8e80941Smrg#define REG_AXXX_CP_ME_RAM_DATA					0x000001fa
371b8e80941Smrg
372b8e80941Smrg#define REG_AXXX_CP_DEBUG					0x000001fc
373b8e80941Smrg#define AXXX_CP_DEBUG_PREDICATE_DISABLE				0x00800000
374b8e80941Smrg#define AXXX_CP_DEBUG_PROG_END_PTR_ENABLE			0x01000000
375b8e80941Smrg#define AXXX_CP_DEBUG_MIU_128BIT_WRITE_ENABLE			0x02000000
376b8e80941Smrg#define AXXX_CP_DEBUG_PREFETCH_PASS_NOPS			0x04000000
377b8e80941Smrg#define AXXX_CP_DEBUG_DYNAMIC_CLK_DISABLE			0x08000000
378b8e80941Smrg#define AXXX_CP_DEBUG_PREFETCH_MATCH_DISABLE			0x10000000
379b8e80941Smrg#define AXXX_CP_DEBUG_SIMPLE_ME_FLOW_CONTROL			0x40000000
380b8e80941Smrg#define AXXX_CP_DEBUG_MIU_WRITE_PACK_DISABLE			0x80000000
381b8e80941Smrg
382b8e80941Smrg#define REG_AXXX_CP_CSQ_RB_STAT					0x000001fd
383b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_RPTR__MASK				0x0000007f
384b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT				0
385b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_RB_STAT_RPTR(uint32_t val)
386b8e80941Smrg{
387b8e80941Smrg	return ((val) << AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_RPTR__MASK;
388b8e80941Smrg}
389b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_WPTR__MASK				0x007f0000
390b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT				16
391b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_RB_STAT_WPTR(uint32_t val)
392b8e80941Smrg{
393b8e80941Smrg	return ((val) << AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_WPTR__MASK;
394b8e80941Smrg}
395b8e80941Smrg
396b8e80941Smrg#define REG_AXXX_CP_CSQ_IB1_STAT				0x000001fe
397b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_RPTR__MASK				0x0000007f
398b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT			0
399b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB1_STAT_RPTR(uint32_t val)
400b8e80941Smrg{
401b8e80941Smrg	return ((val) << AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_RPTR__MASK;
402b8e80941Smrg}
403b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_WPTR__MASK				0x007f0000
404b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT			16
405b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB1_STAT_WPTR(uint32_t val)
406b8e80941Smrg{
407b8e80941Smrg	return ((val) << AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_WPTR__MASK;
408b8e80941Smrg}
409b8e80941Smrg
410b8e80941Smrg#define REG_AXXX_CP_CSQ_IB2_STAT				0x000001ff
411b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_RPTR__MASK				0x0000007f
412b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT			0
413b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB2_STAT_RPTR(uint32_t val)
414b8e80941Smrg{
415b8e80941Smrg	return ((val) << AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_RPTR__MASK;
416b8e80941Smrg}
417b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_WPTR__MASK				0x007f0000
418b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT			16
419b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB2_STAT_WPTR(uint32_t val)
420b8e80941Smrg{
421b8e80941Smrg	return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK;
422b8e80941Smrg}
423b8e80941Smrg
424b8e80941Smrg#define REG_AXXX_CP_NON_PREFETCH_CNTRS				0x00000440
425b8e80941Smrg
426b8e80941Smrg#define REG_AXXX_CP_STQ_ST_STAT					0x00000443
427b8e80941Smrg
428b8e80941Smrg#define REG_AXXX_CP_ST_BASE					0x0000044d
429b8e80941Smrg
430b8e80941Smrg#define REG_AXXX_CP_ST_BUFSZ					0x0000044e
431b8e80941Smrg
432b8e80941Smrg#define REG_AXXX_CP_MEQ_STAT					0x0000044f
433b8e80941Smrg
434b8e80941Smrg#define REG_AXXX_CP_MIU_TAG_STAT				0x00000452
435b8e80941Smrg
436b8e80941Smrg#define REG_AXXX_CP_BIN_MASK_LO					0x00000454
437b8e80941Smrg
438b8e80941Smrg#define REG_AXXX_CP_BIN_MASK_HI					0x00000455
439b8e80941Smrg
440b8e80941Smrg#define REG_AXXX_CP_BIN_SELECT_LO				0x00000456
441b8e80941Smrg
442b8e80941Smrg#define REG_AXXX_CP_BIN_SELECT_HI				0x00000457
443b8e80941Smrg
444b8e80941Smrg#define REG_AXXX_CP_IB1_BASE					0x00000458
445b8e80941Smrg
446b8e80941Smrg#define REG_AXXX_CP_IB1_BUFSZ					0x00000459
447b8e80941Smrg
448b8e80941Smrg#define REG_AXXX_CP_IB2_BASE					0x0000045a
449b8e80941Smrg
450b8e80941Smrg#define REG_AXXX_CP_IB2_BUFSZ					0x0000045b
451b8e80941Smrg
452b8e80941Smrg#define REG_AXXX_CP_STAT					0x0000047f
453b8e80941Smrg#define AXXX_CP_STAT_CP_BUSY					0x80000000
454b8e80941Smrg#define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY				0x40000000
455b8e80941Smrg#define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY				0x20000000
456b8e80941Smrg#define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY				0x10000000
457b8e80941Smrg#define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY				0x08000000
458b8e80941Smrg#define AXXX_CP_STAT_ME_BUSY					0x04000000
459b8e80941Smrg#define AXXX_CP_STAT_MIU_WR_C_BUSY				0x02000000
460b8e80941Smrg#define AXXX_CP_STAT_CP_3D_BUSY					0x00800000
461b8e80941Smrg#define AXXX_CP_STAT_CP_NRT_BUSY				0x00400000
462b8e80941Smrg#define AXXX_CP_STAT_RBIU_SCRATCH_BUSY				0x00200000
463b8e80941Smrg#define AXXX_CP_STAT_RCIU_ME_BUSY				0x00100000
464b8e80941Smrg#define AXXX_CP_STAT_RCIU_PFP_BUSY				0x00080000
465b8e80941Smrg#define AXXX_CP_STAT_MEQ_RING_BUSY				0x00040000
466b8e80941Smrg#define AXXX_CP_STAT_PFP_BUSY					0x00020000
467b8e80941Smrg#define AXXX_CP_STAT_ST_QUEUE_BUSY				0x00010000
468b8e80941Smrg#define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY			0x00002000
469b8e80941Smrg#define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY			0x00001000
470b8e80941Smrg#define AXXX_CP_STAT_RING_QUEUE_BUSY				0x00000800
471b8e80941Smrg#define AXXX_CP_STAT_CSF_BUSY					0x00000400
472b8e80941Smrg#define AXXX_CP_STAT_CSF_ST_BUSY				0x00000200
473b8e80941Smrg#define AXXX_CP_STAT_EVENT_BUSY					0x00000100
474b8e80941Smrg#define AXXX_CP_STAT_CSF_INDIRECT2_BUSY				0x00000080
475b8e80941Smrg#define AXXX_CP_STAT_CSF_INDIRECTS_BUSY				0x00000040
476b8e80941Smrg#define AXXX_CP_STAT_CSF_RING_BUSY				0x00000020
477b8e80941Smrg#define AXXX_CP_STAT_RCIU_BUSY					0x00000010
478b8e80941Smrg#define AXXX_CP_STAT_RBIU_BUSY					0x00000008
479b8e80941Smrg#define AXXX_CP_STAT_MIU_RD_RETURN_BUSY				0x00000004
480b8e80941Smrg#define AXXX_CP_STAT_MIU_RD_REQ_BUSY				0x00000002
481b8e80941Smrg#define AXXX_CP_STAT_MIU_WR_BUSY				0x00000001
482b8e80941Smrg
483b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG0				0x00000578
484b8e80941Smrg
485b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG1				0x00000579
486b8e80941Smrg
487b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG2				0x0000057a
488b8e80941Smrg
489b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG3				0x0000057b
490b8e80941Smrg
491b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG4				0x0000057c
492b8e80941Smrg
493b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG5				0x0000057d
494b8e80941Smrg
495b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG6				0x0000057e
496b8e80941Smrg
497b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG7				0x0000057f
498b8e80941Smrg
499b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_SRC				0x00000600
500b8e80941Smrg
501b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_ADDR				0x00000601
502b8e80941Smrg
503b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_DATA				0x00000602
504b8e80941Smrg
505b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_ADDR_SWM			0x00000603
506b8e80941Smrg
507b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_DATA_SWM			0x00000604
508b8e80941Smrg
509b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_SRC				0x00000605
510b8e80941Smrg
511b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_ADDR				0x00000606
512b8e80941Smrg
513b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_DATA				0x00000607
514b8e80941Smrg
515b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_ADDR_SWM			0x00000608
516b8e80941Smrg
517b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_DATA_SWM			0x00000609
518b8e80941Smrg
519b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_SRC				0x0000060a
520b8e80941Smrg
521b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_ADDR				0x0000060b
522b8e80941Smrg
523b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_DATA				0x0000060c
524b8e80941Smrg
525b8e80941Smrg#define REG_AXXX_CP_ME_NRT_ADDR					0x0000060d
526b8e80941Smrg
527b8e80941Smrg#define REG_AXXX_CP_ME_NRT_DATA					0x0000060e
528b8e80941Smrg
529b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_SRC			0x00000612
530b8e80941Smrg
531b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_ADDR			0x00000613
532b8e80941Smrg
533b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_DATA			0x00000614
534b8e80941Smrg
535b8e80941Smrg
536b8e80941Smrg#endif /* ADRENO_COMMON_XML */
537