1 #ifndef CMDSTREAM_XML
2 #define CMDSTREAM_XML
3 
4 /* Autogenerated file, DO NOT EDIT manually!
5 
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://0x04.net/cgit/index.cgi/rules-ng-ng
8 git clone git://0x04.net/rules-ng-ng
9 
10 The 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 
15 Copyright (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 
21 Permission is hereby granted, free of charge, to any person obtaining a
22 copy of this software and associated documentation files (the "Software"),
23 to deal in the Software without restriction, including without limitation
24 the rights to use, copy, modify, merge, publish, distribute, sub license,
25 and/or sell copies of the Software, and to permit persons to whom the
26 Software is furnished to do so, subject to the following conditions:
27 
28 The above copyright notice and this permission notice (including the
29 next paragraph) shall be included in all copies or substantial portions
30 of the Software.
31 
32 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34 FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38 DEALINGS 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