cmdstream.xml.h revision 037b3c26
1#ifndef CMDSTREAM_XML
2#define CMDSTREAM_XML
3
4/* Autogenerated file, DO NOT EDIT manually!
5
6This file was generated by the rules-ng-ng headergen tool in this git repository:
7http://0x04.net/cgit/index.cgi/rules-ng-ng
8git clone git://0x04.net/rules-ng-ng
9
10The rules-ng-ng source files this header was generated from are:
11- cmdstream.xml (  12621 bytes, from 2016-09-06 14:44:16)
12- copyright.xml (   1597 bytes, from 2016-09-06 14:44:16)
13- common.xml    (  20583 bytes, from 2016-09-06 14:14:12)
14
15Copyright (C) 2012-2016 by the following authors:
16- Wladimir J. van der Laan <laanwj@gmail.com>
17- Christian Gmeiner <christian.gmeiner@gmail.com>
18- Lucas Stach <l.stach@pengutronix.de>
19- Russell King <rmk@arm.linux.org.uk>
20
21Permission is hereby granted, free of charge, to any person obtaining a
22copy of this software and associated documentation files (the "Software"),
23to deal in the Software without restriction, including without limitation
24the rights to use, copy, modify, merge, publish, distribute, sub license,
25and/or sell copies of the Software, and to permit persons to whom the
26Software is furnished to do so, subject to the following conditions:
27
28The above copyright notice and this permission notice (including the
29next paragraph) shall be included in all copies or substantial portions
30of the Software.
31
32THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38DEALINGS IN THE SOFTWARE.
39*/
40
41
42#define FE_OPCODE_LOAD_STATE					0x00000001
43#define FE_OPCODE_END						0x00000002
44#define FE_OPCODE_NOP						0x00000003
45#define FE_OPCODE_DRAW_2D					0x00000004
46#define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
47#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
48#define FE_OPCODE_WAIT						0x00000007
49#define FE_OPCODE_LINK						0x00000008
50#define FE_OPCODE_STALL						0x00000009
51#define FE_OPCODE_CALL						0x0000000a
52#define FE_OPCODE_RETURN					0x0000000b
53#define FE_OPCODE_CHIP_SELECT					0x0000000d
54#define PRIMITIVE_TYPE_POINTS					0x00000001
55#define PRIMITIVE_TYPE_LINES					0x00000002
56#define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
57#define PRIMITIVE_TYPE_TRIANGLES				0x00000004
58#define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
59#define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
60#define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
61#define PRIMITIVE_TYPE_QUADS					0x00000008
62#define VIV_FE_LOAD_STATE					0x00000000
63
64#define VIV_FE_LOAD_STATE_HEADER				0x00000000
65#define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
66#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
67#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
68#define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
69#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
70#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
71#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
72#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
73#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
74#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
75#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2
76
77#define VIV_FE_END						0x00000000
78
79#define VIV_FE_END_HEADER					0x00000000
80#define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
81#define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
82#define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
83#define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
84#define VIV_FE_END_HEADER_OP__MASK				0xf8000000
85#define VIV_FE_END_HEADER_OP__SHIFT				27
86#define VIV_FE_END_HEADER_OP_END				0x10000000
87
88#define VIV_FE_NOP						0x00000000
89
90#define VIV_FE_NOP_HEADER					0x00000000
91#define VIV_FE_NOP_HEADER_OP__MASK				0xf8000000
92#define VIV_FE_NOP_HEADER_OP__SHIFT				27
93#define VIV_FE_NOP_HEADER_OP_NOP				0x18000000
94
95#define VIV_FE_DRAW_2D						0x00000000
96
97#define VIV_FE_DRAW_2D_HEADER					0x00000000
98#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK			0x0000ff00
99#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT			8
100#define VIV_FE_DRAW_2D_HEADER_COUNT(x)				(((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
101#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK			0x07ff0000
102#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT			16
103#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)
104#define VIV_FE_DRAW_2D_HEADER_OP__MASK				0xf8000000
105#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT				27
106#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D			0x20000000
107
108#define VIV_FE_DRAW_2D_TOP_LEFT					0x00000008
109#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK				0x0000ffff
110#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT			0
111#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)
112#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK				0xffff0000
113#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT			16
114#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)
115
116#define VIV_FE_DRAW_2D_BOTTOM_RIGHT				0x0000000c
117#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK			0x0000ffff
118#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT			0
119#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)
120#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK			0xffff0000
121#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT			16
122#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)
123
124#define VIV_FE_DRAW_PRIMITIVES					0x00000000
125
126#define VIV_FE_DRAW_PRIMITIVES_HEADER				0x00000000
127#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK			0xf8000000
128#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT			27
129#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES	0x28000000
130
131#define VIV_FE_DRAW_PRIMITIVES_COMMAND				0x00000004
132#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK		0x000000ff
133#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT		0
134#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)			(((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
135
136#define VIV_FE_DRAW_PRIMITIVES_START				0x00000008
137
138#define VIV_FE_DRAW_PRIMITIVES_COUNT				0x0000000c
139
140#define VIV_FE_DRAW_INDEXED_PRIMITIVES				0x00000000
141
142#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER			0x00000000
143#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK		0xf8000000
144#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT		27
145#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES	0x30000000
146
147#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND			0x00000004
148#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK	0x000000ff
149#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT	0
150#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)
151
152#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START			0x00000008
153
154#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT			0x0000000c
155
156#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET			0x00000010
157
158#define VIV_FE_WAIT						0x00000000
159
160#define VIV_FE_WAIT_HEADER					0x00000000
161#define VIV_FE_WAIT_HEADER_DELAY__MASK				0x0000ffff
162#define VIV_FE_WAIT_HEADER_DELAY__SHIFT				0
163#define VIV_FE_WAIT_HEADER_DELAY(x)				(((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
164#define VIV_FE_WAIT_HEADER_OP__MASK				0xf8000000
165#define VIV_FE_WAIT_HEADER_OP__SHIFT				27
166#define VIV_FE_WAIT_HEADER_OP_WAIT				0x38000000
167
168#define VIV_FE_LINK						0x00000000
169
170#define VIV_FE_LINK_HEADER					0x00000000
171#define VIV_FE_LINK_HEADER_PREFETCH__MASK			0x0000ffff
172#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT			0
173#define VIV_FE_LINK_HEADER_PREFETCH(x)				(((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
174#define VIV_FE_LINK_HEADER_OP__MASK				0xf8000000
175#define VIV_FE_LINK_HEADER_OP__SHIFT				27
176#define VIV_FE_LINK_HEADER_OP_LINK				0x40000000
177
178#define VIV_FE_LINK_ADDRESS					0x00000004
179
180#define VIV_FE_STALL						0x00000000
181
182#define VIV_FE_STALL_HEADER					0x00000000
183#define VIV_FE_STALL_HEADER_OP__MASK				0xf8000000
184#define VIV_FE_STALL_HEADER_OP__SHIFT				27
185#define VIV_FE_STALL_HEADER_OP_STALL				0x48000000
186
187#define VIV_FE_STALL_TOKEN					0x00000004
188#define VIV_FE_STALL_TOKEN_FROM__MASK				0x0000001f
189#define VIV_FE_STALL_TOKEN_FROM__SHIFT				0
190#define VIV_FE_STALL_TOKEN_FROM(x)				(((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
191#define VIV_FE_STALL_TOKEN_TO__MASK				0x00001f00
192#define VIV_FE_STALL_TOKEN_TO__SHIFT				8
193#define VIV_FE_STALL_TOKEN_TO(x)				(((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
194
195#define VIV_FE_CALL						0x00000000
196
197#define VIV_FE_CALL_HEADER					0x00000000
198#define VIV_FE_CALL_HEADER_PREFETCH__MASK			0x0000ffff
199#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT			0
200#define VIV_FE_CALL_HEADER_PREFETCH(x)				(((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
201#define VIV_FE_CALL_HEADER_OP__MASK				0xf8000000
202#define VIV_FE_CALL_HEADER_OP__SHIFT				27
203#define VIV_FE_CALL_HEADER_OP_CALL				0x50000000
204
205#define VIV_FE_CALL_ADDRESS					0x00000004
206
207#define VIV_FE_CALL_RETURN_PREFETCH				0x00000008
208
209#define VIV_FE_CALL_RETURN_ADDRESS				0x0000000c
210
211#define VIV_FE_RETURN						0x00000000
212
213#define VIV_FE_RETURN_HEADER					0x00000000
214#define VIV_FE_RETURN_HEADER_OP__MASK				0xf8000000
215#define VIV_FE_RETURN_HEADER_OP__SHIFT				27
216#define VIV_FE_RETURN_HEADER_OP_RETURN				0x58000000
217
218#define VIV_FE_CHIP_SELECT					0x00000000
219
220#define VIV_FE_CHIP_SELECT_HEADER				0x00000000
221#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK			0xf8000000
222#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT			27
223#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT		0x68000000
224#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15			0x00008000
225#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14			0x00004000
226#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13			0x00002000
227#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12			0x00001000
228#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11			0x00000800
229#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10			0x00000400
230#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9			0x00000200
231#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8			0x00000100
232#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7			0x00000080
233#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6			0x00000040
234#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5			0x00000020
235#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4			0x00000010
236#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3			0x00000008
237#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2			0x00000004
238#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1			0x00000002
239#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0			0x00000001
240
241
242#endif /* CMDSTREAM_XML */
243