1bf215546Sopenharmony_ci#ifndef CMDSTREAM_XML
2bf215546Sopenharmony_ci#define CMDSTREAM_XML
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7bf215546Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8bf215546Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- cmdstream.xml (  16930 bytes, from 2019-01-04 11:37:39)
12bf215546Sopenharmony_ci- copyright.xml (   1597 bytes, from 2018-02-10 13:09:26)
13bf215546Sopenharmony_ci- common.xml    (  35468 bytes, from 2020-01-04 20:02:31)
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ciCopyright (C) 2012-2019 by the following authors:
16bf215546Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
17bf215546Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
18bf215546Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
19bf215546Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
22bf215546Sopenharmony_cicopy of this software and associated documentation files (the "Software"),
23bf215546Sopenharmony_cito deal in the Software without restriction, including without limitation
24bf215546Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
25bf215546Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
26bf215546Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
29bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions
30bf215546Sopenharmony_ciof the Software.
31bf215546Sopenharmony_ci
32bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33bf215546Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34bf215546Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35bf215546Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36bf215546Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37bf215546Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38bf215546Sopenharmony_ciDEALINGS IN THE SOFTWARE.
39bf215546Sopenharmony_ci*/
40bf215546Sopenharmony_ci
41bf215546Sopenharmony_ci
42bf215546Sopenharmony_ci#define FE_OPCODE_LOAD_STATE					0x00000001
43bf215546Sopenharmony_ci#define FE_OPCODE_END						0x00000002
44bf215546Sopenharmony_ci#define FE_OPCODE_NOP						0x00000003
45bf215546Sopenharmony_ci#define FE_OPCODE_DRAW_2D					0x00000004
46bf215546Sopenharmony_ci#define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
47bf215546Sopenharmony_ci#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
48bf215546Sopenharmony_ci#define FE_OPCODE_WAIT						0x00000007
49bf215546Sopenharmony_ci#define FE_OPCODE_LINK						0x00000008
50bf215546Sopenharmony_ci#define FE_OPCODE_STALL						0x00000009
51bf215546Sopenharmony_ci#define FE_OPCODE_CALL						0x0000000a
52bf215546Sopenharmony_ci#define FE_OPCODE_RETURN					0x0000000b
53bf215546Sopenharmony_ci#define FE_OPCODE_DRAW_INSTANCED				0x0000000c
54bf215546Sopenharmony_ci#define FE_OPCODE_CHIP_SELECT					0x0000000d
55bf215546Sopenharmony_ci#define FE_OPCODE_WAIT_FENCE					0x0000000f
56bf215546Sopenharmony_ci#define FE_OPCODE_DRAW_INDIRECT					0x00000010
57bf215546Sopenharmony_ci#define FE_OPCODE_SNAP_PAGES					0x00000013
58bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_POINTS					0x00000001
59bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_LINES					0x00000002
60bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
61bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_TRIANGLES				0x00000004
62bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
63bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
64bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
65bf215546Sopenharmony_ci#define PRIMITIVE_TYPE_QUADS					0x00000008
66bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE					0x00000000
67bf215546Sopenharmony_ci
68bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER				0x00000000
69bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
70bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
71bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
72bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
73bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
74bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
75bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
76bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
77bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
78bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
79bf215546Sopenharmony_ci#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci#define VIV_FE_END						0x00000000
82bf215546Sopenharmony_ci
83bf215546Sopenharmony_ci#define VIV_FE_END_HEADER					0x00000000
84bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
85bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
86bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
87bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
88bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_OP__MASK				0xf8000000
89bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_OP__SHIFT				27
90bf215546Sopenharmony_ci#define VIV_FE_END_HEADER_OP_END				0x10000000
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci#define VIV_FE_NOP						0x00000000
93bf215546Sopenharmony_ci
94bf215546Sopenharmony_ci#define VIV_FE_NOP_HEADER					0x00000000
95bf215546Sopenharmony_ci#define VIV_FE_NOP_HEADER_OP__MASK				0xf8000000
96bf215546Sopenharmony_ci#define VIV_FE_NOP_HEADER_OP__SHIFT				27
97bf215546Sopenharmony_ci#define VIV_FE_NOP_HEADER_OP_NOP				0x18000000
98bf215546Sopenharmony_ci
99bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D						0x00000000
100bf215546Sopenharmony_ci
101bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER					0x00000000
102bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK			0x0000ff00
103bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT			8
104bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_COUNT(x)				(((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
105bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK			0x07ff0000
106bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT			16
107bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT(x)			(((x) << VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK)
108bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_OP__MASK				0xf8000000
109bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT				27
110bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D			0x20000000
111bf215546Sopenharmony_ci
112bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT					0x00000008
113bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK				0x0000ffff
114bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT			0
115bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_X(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_X__MASK)
116bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK				0xffff0000
117bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT			16
118bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_TOP_LEFT_Y(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK)
119bf215546Sopenharmony_ci
120bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT				0x0000000c
121bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK			0x0000ffff
122bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT			0
123bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK)
124bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK			0xffff0000
125bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT			16
126bf215546Sopenharmony_ci#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK)
127bf215546Sopenharmony_ci
128bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES					0x00000000
129bf215546Sopenharmony_ci
130bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_HEADER				0x00000000
131bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK			0xf8000000
132bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT			27
133bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES	0x28000000
134bf215546Sopenharmony_ci
135bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_COMMAND				0x00000004
136bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK		0x000000ff
137bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT		0
138bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)			(((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
139bf215546Sopenharmony_ci
140bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_START				0x00000008
141bf215546Sopenharmony_ci
142bf215546Sopenharmony_ci#define VIV_FE_DRAW_PRIMITIVES_COUNT				0x0000000c
143bf215546Sopenharmony_ci
144bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES				0x00000000
145bf215546Sopenharmony_ci
146bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER			0x00000000
147bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK		0xf8000000
148bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT		27
149bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES	0x30000000
150bf215546Sopenharmony_ci
151bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND			0x00000004
152bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK	0x000000ff
153bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT	0
154bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE(x)		(((x) << VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK)
155bf215546Sopenharmony_ci
156bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START			0x00000008
157bf215546Sopenharmony_ci
158bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT			0x0000000c
159bf215546Sopenharmony_ci
160bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET			0x00000010
161bf215546Sopenharmony_ci
162bf215546Sopenharmony_ci#define VIV_FE_WAIT						0x00000000
163bf215546Sopenharmony_ci
164bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER					0x00000000
165bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_DELAY__MASK				0x0000ffff
166bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_DELAY__SHIFT				0
167bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_DELAY(x)				(((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
168bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_OP__MASK				0xf8000000
169bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_OP__SHIFT				27
170bf215546Sopenharmony_ci#define VIV_FE_WAIT_HEADER_OP_WAIT				0x38000000
171bf215546Sopenharmony_ci
172bf215546Sopenharmony_ci#define VIV_FE_LINK						0x00000000
173bf215546Sopenharmony_ci
174bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER					0x00000000
175bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_PREFETCH__MASK			0x0000ffff
176bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT			0
177bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_PREFETCH(x)				(((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
178bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_OP__MASK				0xf8000000
179bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_OP__SHIFT				27
180bf215546Sopenharmony_ci#define VIV_FE_LINK_HEADER_OP_LINK				0x40000000
181bf215546Sopenharmony_ci
182bf215546Sopenharmony_ci#define VIV_FE_LINK_ADDRESS					0x00000004
183bf215546Sopenharmony_ci
184bf215546Sopenharmony_ci#define VIV_FE_STALL						0x00000000
185bf215546Sopenharmony_ci
186bf215546Sopenharmony_ci#define VIV_FE_STALL_HEADER					0x00000000
187bf215546Sopenharmony_ci#define VIV_FE_STALL_HEADER_OP__MASK				0xf8000000
188bf215546Sopenharmony_ci#define VIV_FE_STALL_HEADER_OP__SHIFT				27
189bf215546Sopenharmony_ci#define VIV_FE_STALL_HEADER_OP_STALL				0x48000000
190bf215546Sopenharmony_ci
191bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN					0x00000004
192bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_FROM__MASK				0x0000001f
193bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_FROM__SHIFT				0
194bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_FROM(x)				(((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
195bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_TO__MASK				0x00001f00
196bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_TO__SHIFT				8
197bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_TO(x)				(((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
198bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_UNK28__MASK				0x30000000
199bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_UNK28__SHIFT				28
200bf215546Sopenharmony_ci#define VIV_FE_STALL_TOKEN_UNK28(x)				(((x) << VIV_FE_STALL_TOKEN_UNK28__SHIFT) & VIV_FE_STALL_TOKEN_UNK28__MASK)
201bf215546Sopenharmony_ci
202bf215546Sopenharmony_ci#define VIV_FE_CALL						0x00000000
203bf215546Sopenharmony_ci
204bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER					0x00000000
205bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_PREFETCH__MASK			0x0000ffff
206bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT			0
207bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_PREFETCH(x)				(((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
208bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_OP__MASK				0xf8000000
209bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_OP__SHIFT				27
210bf215546Sopenharmony_ci#define VIV_FE_CALL_HEADER_OP_CALL				0x50000000
211bf215546Sopenharmony_ci
212bf215546Sopenharmony_ci#define VIV_FE_CALL_ADDRESS					0x00000004
213bf215546Sopenharmony_ci
214bf215546Sopenharmony_ci#define VIV_FE_CALL_RETURN_PREFETCH				0x00000008
215bf215546Sopenharmony_ci
216bf215546Sopenharmony_ci#define VIV_FE_CALL_RETURN_ADDRESS				0x0000000c
217bf215546Sopenharmony_ci
218bf215546Sopenharmony_ci#define VIV_FE_RETURN						0x00000000
219bf215546Sopenharmony_ci
220bf215546Sopenharmony_ci#define VIV_FE_RETURN_HEADER					0x00000000
221bf215546Sopenharmony_ci#define VIV_FE_RETURN_HEADER_OP__MASK				0xf8000000
222bf215546Sopenharmony_ci#define VIV_FE_RETURN_HEADER_OP__SHIFT				27
223bf215546Sopenharmony_ci#define VIV_FE_RETURN_HEADER_OP_RETURN				0x58000000
224bf215546Sopenharmony_ci
225bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT					0x00000000
226bf215546Sopenharmony_ci
227bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER				0x00000000
228bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK			0xf8000000
229bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT			27
230bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT		0x68000000
231bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15			0x00008000
232bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14			0x00004000
233bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13			0x00002000
234bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12			0x00001000
235bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11			0x00000800
236bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10			0x00000400
237bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9			0x00000200
238bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8			0x00000100
239bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7			0x00000080
240bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6			0x00000040
241bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5			0x00000020
242bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4			0x00000010
243bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3			0x00000008
244bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2			0x00000004
245bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1			0x00000002
246bf215546Sopenharmony_ci#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0			0x00000001
247bf215546Sopenharmony_ci
248bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED					0x00000000
249bf215546Sopenharmony_ci
250bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER				0x00000000
251bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_OP__MASK			0xf8000000
252bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_OP__SHIFT			27
253bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_OP_DRAW_INSTANCED		0x60000000
254bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_INDEXED			0x00100000
255bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK			0x000f0000
256bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT		16
257bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK)
258bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK	0x0000ffff
259bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT	0
260bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO(x)	(((x) << VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK)
261bf215546Sopenharmony_ci
262bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT				0x00000004
263bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK	0xff000000
264bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT	24
265bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI(x)	(((x) << VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK)
266bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK		0x00ffffff
267bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT		0
268bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT(x)		(((x) << VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK)
269bf215546Sopenharmony_ci
270bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_START				0x00000008
271bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_START_INDEX__MASK			0xffffffff
272bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT		0
273bf215546Sopenharmony_ci#define VIV_FE_DRAW_INSTANCED_START_INDEX(x)			(((x) << VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT) & VIV_FE_DRAW_INSTANCED_START_INDEX__MASK)
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE					0x00000000
276bf215546Sopenharmony_ci
277bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER				0x00000000
278bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_OP__MASK			0xf8000000
279bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_OP__SHIFT			27
280bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_OP_WAIT_FENCE			0x78000000
281bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK			0x00030000
282bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT			16
283bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_UNK16(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK)
284bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK		0x0000ffff
285bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT		0
286bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK)
287bf215546Sopenharmony_ci
288bf215546Sopenharmony_ci#define VIV_FE_WAIT_FENCE_ADDRESS				0x00000004
289bf215546Sopenharmony_ci
290bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT					0x00000000
291bf215546Sopenharmony_ci
292bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER				0x00000000
293bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_OP__MASK			0xf8000000
294bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_OP__SHIFT			27
295bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_OP_DRAW_INDIRECT		0x80000000
296bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_UNK8			0x00000100
297bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK			0x0000000f
298bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT			0
299bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK)
300bf215546Sopenharmony_ci
301bf215546Sopenharmony_ci#define VIV_FE_DRAW_INDIRECT_ADDRESS				0x00000004
302bf215546Sopenharmony_ci
303bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES					0x00000000
304bf215546Sopenharmony_ci
305bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER				0x00000000
306bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_OP__MASK			0xf8000000
307bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_OP__SHIFT			27
308bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_OP_SNAP_PAGES			0x98000000
309bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK			0x0000001f
310bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT			0
311bf215546Sopenharmony_ci#define VIV_FE_SNAP_PAGES_HEADER_UNK0(x)			(((x) << VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT) & VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK)
312bf215546Sopenharmony_ci
313bf215546Sopenharmony_ci
314bf215546Sopenharmony_ci#endif /* CMDSTREAM_XML */
315