1037b3c26Smrg#ifndef CMDSTREAM_XML
2037b3c26Smrg#define CMDSTREAM_XML
3037b3c26Smrg
4037b3c26Smrg/* Autogenerated file, DO NOT EDIT manually!
5037b3c26Smrg
6037b3c26SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository:
7037b3c26Smrghttp://0x04.net/cgit/index.cgi/rules-ng-ng
8037b3c26Smrggit clone git://0x04.net/rules-ng-ng
9037b3c26Smrg
10037b3c26SmrgThe rules-ng-ng source files this header was generated from are:
11037b3c26Smrg- cmdstream.xml (  12621 bytes, from 2016-09-06 14:44:16)
12037b3c26Smrg- copyright.xml (   1597 bytes, from 2016-09-06 14:44:16)
13037b3c26Smrg- common.xml    (  20583 bytes, from 2016-09-06 14:14:12)
14037b3c26Smrg
15037b3c26SmrgCopyright (C) 2012-2016 by the following authors:
16037b3c26Smrg- Wladimir J. van der Laan <laanwj@gmail.com>
17037b3c26Smrg- Christian Gmeiner <christian.gmeiner@gmail.com>
18037b3c26Smrg- Lucas Stach <l.stach@pengutronix.de>
19037b3c26Smrg- Russell King <rmk@arm.linux.org.uk>
20037b3c26Smrg
21037b3c26SmrgPermission is hereby granted, free of charge, to any person obtaining a
22037b3c26Smrgcopy of this software and associated documentation files (the "Software"),
23037b3c26Smrgto deal in the Software without restriction, including without limitation
24037b3c26Smrgthe rights to use, copy, modify, merge, publish, distribute, sub license,
25037b3c26Smrgand/or sell copies of the Software, and to permit persons to whom the
26037b3c26SmrgSoftware is furnished to do so, subject to the following conditions:
27037b3c26Smrg
28037b3c26SmrgThe above copyright notice and this permission notice (including the
29037b3c26Smrgnext paragraph) shall be included in all copies or substantial portions
30037b3c26Smrgof the Software.
31037b3c26Smrg
32037b3c26SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33037b3c26SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34037b3c26SmrgFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35037b3c26SmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36037b3c26SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37037b3c26SmrgFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38037b3c26SmrgDEALINGS IN THE SOFTWARE.
39037b3c26Smrg*/
40037b3c26Smrg
41037b3c26Smrg
42037b3c26Smrg#define FE_OPCODE_LOAD_STATE					0x00000001
43037b3c26Smrg#define FE_OPCODE_END						0x00000002
44037b3c26Smrg#define FE_OPCODE_NOP						0x00000003
45037b3c26Smrg#define FE_OPCODE_DRAW_2D					0x00000004
46037b3c26Smrg#define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
47037b3c26Smrg#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
48037b3c26Smrg#define FE_OPCODE_WAIT						0x00000007
49037b3c26Smrg#define FE_OPCODE_LINK						0x00000008
50037b3c26Smrg#define FE_OPCODE_STALL						0x00000009
51037b3c26Smrg#define FE_OPCODE_CALL						0x0000000a
52037b3c26Smrg#define FE_OPCODE_RETURN					0x0000000b
53037b3c26Smrg#define FE_OPCODE_CHIP_SELECT					0x0000000d
54037b3c26Smrg#define PRIMITIVE_TYPE_POINTS					0x00000001
55037b3c26Smrg#define PRIMITIVE_TYPE_LINES					0x00000002
56037b3c26Smrg#define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
57037b3c26Smrg#define PRIMITIVE_TYPE_TRIANGLES				0x00000004
58037b3c26Smrg#define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
59037b3c26Smrg#define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
60037b3c26Smrg#define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
61037b3c26Smrg#define PRIMITIVE_TYPE_QUADS					0x00000008
62037b3c26Smrg#define VIV_FE_LOAD_STATE					0x00000000
63037b3c26Smrg
64037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER				0x00000000
65037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
66037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
67037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
68037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
69037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
70037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
71037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
72037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
73037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
74037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
75037b3c26Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2
76037b3c26Smrg
77037b3c26Smrg#define VIV_FE_END						0x00000000
78037b3c26Smrg
79037b3c26Smrg#define VIV_FE_END_HEADER					0x00000000
80037b3c26Smrg#define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
81037b3c26Smrg#define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
82037b3c26Smrg#define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
83037b3c26Smrg#define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
84037b3c26Smrg#define VIV_FE_END_HEADER_OP__MASK				0xf8000000
85037b3c26Smrg#define VIV_FE_END_HEADER_OP__SHIFT				27
86037b3c26Smrg#define VIV_FE_END_HEADER_OP_END				0x10000000
87037b3c26Smrg
88037b3c26Smrg#define VIV_FE_NOP						0x00000000
89037b3c26Smrg
90037b3c26Smrg#define VIV_FE_NOP_HEADER					0x00000000
91037b3c26Smrg#define VIV_FE_NOP_HEADER_OP__MASK				0xf8000000
92037b3c26Smrg#define VIV_FE_NOP_HEADER_OP__SHIFT				27
93037b3c26Smrg#define VIV_FE_NOP_HEADER_OP_NOP				0x18000000
94037b3c26Smrg
95037b3c26Smrg#define VIV_FE_DRAW_2D						0x00000000
96037b3c26Smrg
97037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER					0x00000000
98037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK			0x0000ff00
99037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT			8
100037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT(x)				(((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
101037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK			0x07ff0000
102037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT			16
103037b3c26Smrg#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)
104037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_OP__MASK				0xf8000000
105037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT				27
106037b3c26Smrg#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D			0x20000000
107037b3c26Smrg
108037b3c26Smrg#define VIV_FE_DRAW_2D_TOP_LEFT					0x00000008
109037b3c26Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK				0x0000ffff
110037b3c26Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT			0
111037b3c26Smrg#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)
112037b3c26Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK				0xffff0000
113037b3c26Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT			16
114037b3c26Smrg#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)
115037b3c26Smrg
116037b3c26Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT				0x0000000c
117037b3c26Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK			0x0000ffff
118037b3c26Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT			0
119037b3c26Smrg#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)
120037b3c26Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK			0xffff0000
121037b3c26Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT			16
122037b3c26Smrg#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)
123037b3c26Smrg
124037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES					0x00000000
125037b3c26Smrg
126037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER				0x00000000
127037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK			0xf8000000
128037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT			27
129037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES	0x28000000
130037b3c26Smrg
131037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND				0x00000004
132037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK		0x000000ff
133037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT		0
134037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)			(((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
135037b3c26Smrg
136037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_START				0x00000008
137037b3c26Smrg
138037b3c26Smrg#define VIV_FE_DRAW_PRIMITIVES_COUNT				0x0000000c
139037b3c26Smrg
140037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES				0x00000000
141037b3c26Smrg
142037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER			0x00000000
143037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK		0xf8000000
144037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT		27
145037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES	0x30000000
146037b3c26Smrg
147037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND			0x00000004
148037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK	0x000000ff
149037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT	0
150037b3c26Smrg#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)
151037b3c26Smrg
152037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START			0x00000008
153037b3c26Smrg
154037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT			0x0000000c
155037b3c26Smrg
156037b3c26Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET			0x00000010
157037b3c26Smrg
158037b3c26Smrg#define VIV_FE_WAIT						0x00000000
159037b3c26Smrg
160037b3c26Smrg#define VIV_FE_WAIT_HEADER					0x00000000
161037b3c26Smrg#define VIV_FE_WAIT_HEADER_DELAY__MASK				0x0000ffff
162037b3c26Smrg#define VIV_FE_WAIT_HEADER_DELAY__SHIFT				0
163037b3c26Smrg#define VIV_FE_WAIT_HEADER_DELAY(x)				(((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
164037b3c26Smrg#define VIV_FE_WAIT_HEADER_OP__MASK				0xf8000000
165037b3c26Smrg#define VIV_FE_WAIT_HEADER_OP__SHIFT				27
166037b3c26Smrg#define VIV_FE_WAIT_HEADER_OP_WAIT				0x38000000
167037b3c26Smrg
168037b3c26Smrg#define VIV_FE_LINK						0x00000000
169037b3c26Smrg
170037b3c26Smrg#define VIV_FE_LINK_HEADER					0x00000000
171037b3c26Smrg#define VIV_FE_LINK_HEADER_PREFETCH__MASK			0x0000ffff
172037b3c26Smrg#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT			0
173037b3c26Smrg#define VIV_FE_LINK_HEADER_PREFETCH(x)				(((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
174037b3c26Smrg#define VIV_FE_LINK_HEADER_OP__MASK				0xf8000000
175037b3c26Smrg#define VIV_FE_LINK_HEADER_OP__SHIFT				27
176037b3c26Smrg#define VIV_FE_LINK_HEADER_OP_LINK				0x40000000
177037b3c26Smrg
178037b3c26Smrg#define VIV_FE_LINK_ADDRESS					0x00000004
179037b3c26Smrg
180037b3c26Smrg#define VIV_FE_STALL						0x00000000
181037b3c26Smrg
182037b3c26Smrg#define VIV_FE_STALL_HEADER					0x00000000
183037b3c26Smrg#define VIV_FE_STALL_HEADER_OP__MASK				0xf8000000
184037b3c26Smrg#define VIV_FE_STALL_HEADER_OP__SHIFT				27
185037b3c26Smrg#define VIV_FE_STALL_HEADER_OP_STALL				0x48000000
186037b3c26Smrg
187037b3c26Smrg#define VIV_FE_STALL_TOKEN					0x00000004
188037b3c26Smrg#define VIV_FE_STALL_TOKEN_FROM__MASK				0x0000001f
189037b3c26Smrg#define VIV_FE_STALL_TOKEN_FROM__SHIFT				0
190037b3c26Smrg#define VIV_FE_STALL_TOKEN_FROM(x)				(((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
191037b3c26Smrg#define VIV_FE_STALL_TOKEN_TO__MASK				0x00001f00
192037b3c26Smrg#define VIV_FE_STALL_TOKEN_TO__SHIFT				8
193037b3c26Smrg#define VIV_FE_STALL_TOKEN_TO(x)				(((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
194037b3c26Smrg
195037b3c26Smrg#define VIV_FE_CALL						0x00000000
196037b3c26Smrg
197037b3c26Smrg#define VIV_FE_CALL_HEADER					0x00000000
198037b3c26Smrg#define VIV_FE_CALL_HEADER_PREFETCH__MASK			0x0000ffff
199037b3c26Smrg#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT			0
200037b3c26Smrg#define VIV_FE_CALL_HEADER_PREFETCH(x)				(((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
201037b3c26Smrg#define VIV_FE_CALL_HEADER_OP__MASK				0xf8000000
202037b3c26Smrg#define VIV_FE_CALL_HEADER_OP__SHIFT				27
203037b3c26Smrg#define VIV_FE_CALL_HEADER_OP_CALL				0x50000000
204037b3c26Smrg
205037b3c26Smrg#define VIV_FE_CALL_ADDRESS					0x00000004
206037b3c26Smrg
207037b3c26Smrg#define VIV_FE_CALL_RETURN_PREFETCH				0x00000008
208037b3c26Smrg
209037b3c26Smrg#define VIV_FE_CALL_RETURN_ADDRESS				0x0000000c
210037b3c26Smrg
211037b3c26Smrg#define VIV_FE_RETURN						0x00000000
212037b3c26Smrg
213037b3c26Smrg#define VIV_FE_RETURN_HEADER					0x00000000
214037b3c26Smrg#define VIV_FE_RETURN_HEADER_OP__MASK				0xf8000000
215037b3c26Smrg#define VIV_FE_RETURN_HEADER_OP__SHIFT				27
216037b3c26Smrg#define VIV_FE_RETURN_HEADER_OP_RETURN				0x58000000
217037b3c26Smrg
218037b3c26Smrg#define VIV_FE_CHIP_SELECT					0x00000000
219037b3c26Smrg
220037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER				0x00000000
221037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK			0xf8000000
222037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT			27
223037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT		0x68000000
224037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15			0x00008000
225037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14			0x00004000
226037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13			0x00002000
227037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12			0x00001000
228037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11			0x00000800
229037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10			0x00000400
230037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9			0x00000200
231037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8			0x00000100
232037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7			0x00000080
233037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6			0x00000040
234037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5			0x00000020
235037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4			0x00000010
236037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3			0x00000008
237037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2			0x00000004
238037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1			0x00000002
239037b3c26Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0			0x00000001
240037b3c26Smrg
241037b3c26Smrg
242037b3c26Smrg#endif /* CMDSTREAM_XML */
243