1bf215546Sopenharmony_ci<?xml version="1.0" encoding="UTF-8"?>
2bf215546Sopenharmony_ci<database xmlns="http://nouveau.freedesktop.org/"
3bf215546Sopenharmony_cixmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4bf215546Sopenharmony_cixsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ci<enum name="chip" bare="yes">
7bf215546Sopenharmony_ci	<value name="A2XX"/>
8bf215546Sopenharmony_ci	<value name="A3XX"/>
9bf215546Sopenharmony_ci	<value name="A4XX"/>
10bf215546Sopenharmony_ci	<value name="A5XX"/>
11bf215546Sopenharmony_ci	<value name="A6XX"/>
12bf215546Sopenharmony_ci	<value name="A7XX"/>
13bf215546Sopenharmony_ci</enum>
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ci<enum name="adreno_pa_su_sc_draw">
16bf215546Sopenharmony_ci	<value name="PC_DRAW_POINTS" value="0"/>
17bf215546Sopenharmony_ci	<value name="PC_DRAW_LINES" value="1"/>
18bf215546Sopenharmony_ci	<value name="PC_DRAW_TRIANGLES" value="2"/>
19bf215546Sopenharmony_ci</enum>
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ci<enum name="adreno_compare_func">
22bf215546Sopenharmony_ci	<value name="FUNC_NEVER" value="0"/>
23bf215546Sopenharmony_ci	<value name="FUNC_LESS" value="1"/>
24bf215546Sopenharmony_ci	<value name="FUNC_EQUAL" value="2"/>
25bf215546Sopenharmony_ci	<value name="FUNC_LEQUAL" value="3"/>
26bf215546Sopenharmony_ci	<value name="FUNC_GREATER" value="4"/>
27bf215546Sopenharmony_ci	<value name="FUNC_NOTEQUAL" value="5"/>
28bf215546Sopenharmony_ci	<value name="FUNC_GEQUAL" value="6"/>
29bf215546Sopenharmony_ci	<value name="FUNC_ALWAYS" value="7"/>
30bf215546Sopenharmony_ci</enum>
31bf215546Sopenharmony_ci
32bf215546Sopenharmony_ci<enum name="adreno_stencil_op">
33bf215546Sopenharmony_ci	<value name="STENCIL_KEEP" value="0"/>
34bf215546Sopenharmony_ci	<value name="STENCIL_ZERO" value="1"/>
35bf215546Sopenharmony_ci	<value name="STENCIL_REPLACE" value="2"/>
36bf215546Sopenharmony_ci	<value name="STENCIL_INCR_CLAMP" value="3"/>
37bf215546Sopenharmony_ci	<value name="STENCIL_DECR_CLAMP" value="4"/>
38bf215546Sopenharmony_ci	<value name="STENCIL_INVERT" value="5"/>
39bf215546Sopenharmony_ci	<value name="STENCIL_INCR_WRAP" value="6"/>
40bf215546Sopenharmony_ci	<value name="STENCIL_DECR_WRAP" value="7"/>
41bf215546Sopenharmony_ci</enum>
42bf215546Sopenharmony_ci
43bf215546Sopenharmony_ci<enum name="adreno_rb_blend_factor">
44bf215546Sopenharmony_ci	<value name="FACTOR_ZERO" value="0"/>
45bf215546Sopenharmony_ci	<value name="FACTOR_ONE" value="1"/>
46bf215546Sopenharmony_ci	<value name="FACTOR_SRC_COLOR" value="4"/>
47bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_SRC_COLOR" value="5"/>
48bf215546Sopenharmony_ci	<value name="FACTOR_SRC_ALPHA" value="6"/>
49bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_SRC_ALPHA" value="7"/>
50bf215546Sopenharmony_ci	<value name="FACTOR_DST_COLOR" value="8"/>
51bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_DST_COLOR" value="9"/>
52bf215546Sopenharmony_ci	<value name="FACTOR_DST_ALPHA" value="10"/>
53bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_DST_ALPHA" value="11"/>
54bf215546Sopenharmony_ci	<value name="FACTOR_CONSTANT_COLOR" value="12"/>
55bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_CONSTANT_COLOR" value="13"/>
56bf215546Sopenharmony_ci	<value name="FACTOR_CONSTANT_ALPHA" value="14"/>
57bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_CONSTANT_ALPHA" value="15"/>
58bf215546Sopenharmony_ci	<value name="FACTOR_SRC_ALPHA_SATURATE" value="16"/>
59bf215546Sopenharmony_ci	<value name="FACTOR_SRC1_COLOR" value="20"/>
60bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_SRC1_COLOR" value="21"/>
61bf215546Sopenharmony_ci	<value name="FACTOR_SRC1_ALPHA" value="22"/>
62bf215546Sopenharmony_ci	<value name="FACTOR_ONE_MINUS_SRC1_ALPHA" value="23"/>
63bf215546Sopenharmony_ci</enum>
64bf215546Sopenharmony_ci
65bf215546Sopenharmony_ci<bitset name="adreno_rb_stencilrefmask" inline="yes">
66bf215546Sopenharmony_ci	<bitfield name="STENCILREF" low="0" high="7" type="hex"/>
67bf215546Sopenharmony_ci	<bitfield name="STENCILMASK" low="8" high="15" type="hex"/>
68bf215546Sopenharmony_ci	<bitfield name="STENCILWRITEMASK" low="16" high="23" type="hex"/>
69bf215546Sopenharmony_ci</bitset>
70bf215546Sopenharmony_ci
71bf215546Sopenharmony_ci<enum name="adreno_rb_surface_endian">
72bf215546Sopenharmony_ci	<value name="ENDIAN_NONE" value="0"/>
73bf215546Sopenharmony_ci	<value name="ENDIAN_8IN16" value="1"/>
74bf215546Sopenharmony_ci	<value name="ENDIAN_8IN32" value="2"/>
75bf215546Sopenharmony_ci	<value name="ENDIAN_16IN32" value="3"/>
76bf215546Sopenharmony_ci	<value name="ENDIAN_8IN64" value="4"/>
77bf215546Sopenharmony_ci	<value name="ENDIAN_8IN128" value="5"/>
78bf215546Sopenharmony_ci</enum>
79bf215546Sopenharmony_ci
80bf215546Sopenharmony_ci<enum name="adreno_rb_dither_mode">
81bf215546Sopenharmony_ci	<value name="DITHER_DISABLE" value="0"/>
82bf215546Sopenharmony_ci	<value name="DITHER_ALWAYS" value="1"/>
83bf215546Sopenharmony_ci	<value name="DITHER_IF_ALPHA_OFF" value="2"/>
84bf215546Sopenharmony_ci</enum>
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci<enum name="adreno_rb_depth_format">
87bf215546Sopenharmony_ci	<value name="DEPTHX_16" value="0"/>
88bf215546Sopenharmony_ci	<value name="DEPTHX_24_8" value="1"/>
89bf215546Sopenharmony_ci	<value name="DEPTHX_32" value="2"/>
90bf215546Sopenharmony_ci</enum>
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci<enum name="adreno_rb_copy_control_mode">
93bf215546Sopenharmony_ci	<value name="RB_COPY_RESOLVE" value="1"/>
94bf215546Sopenharmony_ci	<value name="RB_COPY_CLEAR" value="2"/>
95bf215546Sopenharmony_ci	<value name="RB_COPY_DEPTH_STENCIL" value="5"/>  <!-- not sure if this is part of MODE or another bitfield?? -->
96bf215546Sopenharmony_ci</enum>
97bf215546Sopenharmony_ci
98bf215546Sopenharmony_ci<bitset name="adreno_reg_xy" inline="yes">
99bf215546Sopenharmony_ci	<bitfield name="WINDOW_OFFSET_DISABLE" pos="31" type="boolean"/>
100bf215546Sopenharmony_ci	<bitfield name="X" low="0" high="14" type="uint"/>
101bf215546Sopenharmony_ci	<bitfield name="Y" low="16" high="30" type="uint"/>
102bf215546Sopenharmony_ci</bitset>
103bf215546Sopenharmony_ci
104bf215546Sopenharmony_ci<bitset name="adreno_cp_protect" inline="yes">
105bf215546Sopenharmony_ci	<bitfield name="BASE_ADDR" low="0" high="16"/>
106bf215546Sopenharmony_ci	<bitfield name="MASK_LEN" low="24" high="28"/>
107bf215546Sopenharmony_ci	<bitfield name="TRAP_WRITE" pos="29"/>
108bf215546Sopenharmony_ci	<bitfield name="TRAP_READ" pos="30"/>
109bf215546Sopenharmony_ci</bitset>
110bf215546Sopenharmony_ci
111bf215546Sopenharmony_ci<domain name="AXXX" width="32">
112bf215546Sopenharmony_ci	<brief>Registers in common between a2xx and a3xx</brief>
113bf215546Sopenharmony_ci
114bf215546Sopenharmony_ci	<reg32 offset="0x01c0" name="CP_RB_BASE"/>
115bf215546Sopenharmony_ci	<reg32 offset="0x01c1" name="CP_RB_CNTL">
116bf215546Sopenharmony_ci		<bitfield name="BUFSZ" low="0" high="5"/>
117bf215546Sopenharmony_ci		<bitfield name="BLKSZ" low="8" high="13"/>
118bf215546Sopenharmony_ci		<bitfield name="BUF_SWAP" low="16" high="17"/>
119bf215546Sopenharmony_ci		<bitfield name="POLL_EN" pos="20" type="boolean"/>
120bf215546Sopenharmony_ci		<bitfield name="NO_UPDATE" pos="27" type="boolean"/>
121bf215546Sopenharmony_ci		<bitfield name="RPTR_WR_EN" pos="31" type="boolean"/>
122bf215546Sopenharmony_ci	</reg32>
123bf215546Sopenharmony_ci	<reg32 offset="0x01c3" name="CP_RB_RPTR_ADDR">
124bf215546Sopenharmony_ci		<bitfield name="SWAP" low="0" high="1" type="uint"/>
125bf215546Sopenharmony_ci		<bitfield name="ADDR" low="2" high="31" shr="2"/>
126bf215546Sopenharmony_ci	</reg32>
127bf215546Sopenharmony_ci	<reg32 offset="0x01c4" name="CP_RB_RPTR" type="uint"/>
128bf215546Sopenharmony_ci	<reg32 offset="0x01c5" name="CP_RB_WPTR" type="uint"/>
129bf215546Sopenharmony_ci	<reg32 offset="0x01c6" name="CP_RB_WPTR_DELAY"/>
130bf215546Sopenharmony_ci	<reg32 offset="0x01c7" name="CP_RB_RPTR_WR"/>
131bf215546Sopenharmony_ci	<reg32 offset="0x01c8" name="CP_RB_WPTR_BASE"/>
132bf215546Sopenharmony_ci	<reg32 offset="0x01d5" name="CP_QUEUE_THRESHOLDS">
133bf215546Sopenharmony_ci		<bitfield name="CSQ_IB1_START" low="0" high="3" type="uint"/>
134bf215546Sopenharmony_ci		<bitfield name="CSQ_IB2_START" low="8" high="11" type="uint"/>
135bf215546Sopenharmony_ci		<bitfield name="CSQ_ST_START" low="16" high="19" type="uint"/>
136bf215546Sopenharmony_ci	</reg32>
137bf215546Sopenharmony_ci	<reg32 offset="0x01d6" name="CP_MEQ_THRESHOLDS">
138bf215546Sopenharmony_ci		<bitfield name="MEQ_END" low="16" high="20" type="uint"/>
139bf215546Sopenharmony_ci		<bitfield name="ROQ_END" low="24" high="28" type="uint"/>
140bf215546Sopenharmony_ci	</reg32>
141bf215546Sopenharmony_ci	<reg32 offset="0x01d7" name="CP_CSQ_AVAIL">
142bf215546Sopenharmony_ci		<bitfield name="RING" low="0" high="6" type="uint"/>
143bf215546Sopenharmony_ci		<bitfield name="IB1" low="8" high="14" type="uint"/>
144bf215546Sopenharmony_ci		<bitfield name="IB2" low="16" high="22" type="uint"/>
145bf215546Sopenharmony_ci	</reg32>
146bf215546Sopenharmony_ci	<reg32 offset="0x01d8" name="CP_STQ_AVAIL">
147bf215546Sopenharmony_ci		<bitfield name="ST" low="0" high="6" type="uint"/>
148bf215546Sopenharmony_ci	</reg32>
149bf215546Sopenharmony_ci	<reg32 offset="0x01d9" name="CP_MEQ_AVAIL">
150bf215546Sopenharmony_ci		<bitfield name="MEQ" low="0" high="4" type="uint"/>
151bf215546Sopenharmony_ci	</reg32>
152bf215546Sopenharmony_ci	<reg32 offset="0x01dc" name="SCRATCH_UMSK">
153bf215546Sopenharmony_ci		<bitfield name="UMSK" low="0" high="7" type="uint"/>
154bf215546Sopenharmony_ci		<bitfield name="SWAP" low="16" high="17" type="uint"/>
155bf215546Sopenharmony_ci	</reg32>
156bf215546Sopenharmony_ci	<reg32 offset="0x01dd" name="SCRATCH_ADDR"/>
157bf215546Sopenharmony_ci	<reg32 offset="0x01ea" name="CP_ME_RDADDR"/>
158bf215546Sopenharmony_ci
159bf215546Sopenharmony_ci	<reg32 offset="0x01ec" name="CP_STATE_DEBUG_INDEX"/>
160bf215546Sopenharmony_ci	<reg32 offset="0x01ed" name="CP_STATE_DEBUG_DATA"/>
161bf215546Sopenharmony_ci	<reg32 offset="0x01f2" name="CP_INT_CNTL">
162bf215546Sopenharmony_ci		<bitfield name="SW_INT_MASK" pos="19" type="boolean"/>
163bf215546Sopenharmony_ci		<bitfield name="T0_PACKET_IN_IB_MASK" pos="23" type="boolean"/>
164bf215546Sopenharmony_ci		<bitfield name="OPCODE_ERROR_MASK" pos="24" type="boolean"/>
165bf215546Sopenharmony_ci		<bitfield name="PROTECTED_MODE_ERROR_MASK" pos="25" type="boolean"/>
166bf215546Sopenharmony_ci		<bitfield name="RESERVED_BIT_ERROR_MASK" pos="26" type="boolean"/>
167bf215546Sopenharmony_ci		<bitfield name="IB_ERROR_MASK" pos="27" type="boolean"/>
168bf215546Sopenharmony_ci		<bitfield name="IB2_INT_MASK" pos="29" type="boolean"/>
169bf215546Sopenharmony_ci		<bitfield name="IB1_INT_MASK" pos="30" type="boolean"/>
170bf215546Sopenharmony_ci		<bitfield name="RB_INT_MASK" pos="31" type="boolean"/>
171bf215546Sopenharmony_ci	</reg32>
172bf215546Sopenharmony_ci	<reg32 offset="0x01f3" name="CP_INT_STATUS"/>
173bf215546Sopenharmony_ci	<reg32 offset="0x01f4" name="CP_INT_ACK"/>
174bf215546Sopenharmony_ci	<reg32 offset="0x01f6" name="CP_ME_CNTL">
175bf215546Sopenharmony_ci		<bitfield name="BUSY" pos="29" type="boolean"/>
176bf215546Sopenharmony_ci		<bitfield name="HALT" pos="28" type="boolean"/>
177bf215546Sopenharmony_ci	</reg32>
178bf215546Sopenharmony_ci	<reg32 offset="0x01f7" name="CP_ME_STATUS"/>
179bf215546Sopenharmony_ci	<reg32 offset="0x01f8" name="CP_ME_RAM_WADDR"/>
180bf215546Sopenharmony_ci	<reg32 offset="0x01f9" name="CP_ME_RAM_RADDR"/>
181bf215546Sopenharmony_ci	<reg32 offset="0x01fa" name="CP_ME_RAM_DATA"/>
182bf215546Sopenharmony_ci	<reg32 offset="0x01fc" name="CP_DEBUG">
183bf215546Sopenharmony_ci		<bitfield name="PREDICATE_DISABLE" pos="23" type="boolean"/>
184bf215546Sopenharmony_ci		<bitfield name="PROG_END_PTR_ENABLE" pos="24" type="boolean"/>
185bf215546Sopenharmony_ci		<bitfield name="MIU_128BIT_WRITE_ENABLE" pos="25" type="boolean"/>
186bf215546Sopenharmony_ci		<bitfield name="PREFETCH_PASS_NOPS" pos="26" type="boolean"/>
187bf215546Sopenharmony_ci		<bitfield name="DYNAMIC_CLK_DISABLE" pos="27" type="boolean"/>
188bf215546Sopenharmony_ci		<bitfield name="PREFETCH_MATCH_DISABLE" pos="28" type="boolean"/>
189bf215546Sopenharmony_ci		<bitfield name="SIMPLE_ME_FLOW_CONTROL" pos="30" type="boolean"/>
190bf215546Sopenharmony_ci		<bitfield name="MIU_WRITE_PACK_DISABLE" pos="31" type="boolean"/>
191bf215546Sopenharmony_ci	</reg32>
192bf215546Sopenharmony_ci	<reg32 offset="0x01fd" name="CP_CSQ_RB_STAT">
193bf215546Sopenharmony_ci		<bitfield name="RPTR" low="0" high="6" type="uint"/>
194bf215546Sopenharmony_ci		<bitfield name="WPTR" low="16" high="22" type="uint"/>
195bf215546Sopenharmony_ci	</reg32>
196bf215546Sopenharmony_ci	<reg32 offset="0x01fe" name="CP_CSQ_IB1_STAT">
197bf215546Sopenharmony_ci		<bitfield name="RPTR" low="0" high="6" type="uint"/>
198bf215546Sopenharmony_ci		<bitfield name="WPTR" low="16" high="22" type="uint"/>
199bf215546Sopenharmony_ci	</reg32>
200bf215546Sopenharmony_ci	<reg32 offset="0x01ff" name="CP_CSQ_IB2_STAT">
201bf215546Sopenharmony_ci		<bitfield name="RPTR" low="0" high="6" type="uint"/>
202bf215546Sopenharmony_ci		<bitfield name="WPTR" low="16" high="22" type="uint"/>
203bf215546Sopenharmony_ci	</reg32>
204bf215546Sopenharmony_ci
205bf215546Sopenharmony_ci	<reg32 offset="0x0440" name="CP_NON_PREFETCH_CNTRS"/>
206bf215546Sopenharmony_ci	<reg32 offset="0x0443" name="CP_STQ_ST_STAT"/>
207bf215546Sopenharmony_ci	<reg32 offset="0x044d" name="CP_ST_BASE"/>
208bf215546Sopenharmony_ci	<reg32 offset="0x044e" name="CP_ST_BUFSZ"/>
209bf215546Sopenharmony_ci	<reg32 offset="0x044f" name="CP_MEQ_STAT"/>
210bf215546Sopenharmony_ci	<reg32 offset="0x0452" name="CP_MIU_TAG_STAT"/>
211bf215546Sopenharmony_ci	<reg32 offset="0x0454" name="CP_BIN_MASK_LO"/>
212bf215546Sopenharmony_ci	<reg32 offset="0x0455" name="CP_BIN_MASK_HI"/>
213bf215546Sopenharmony_ci	<reg32 offset="0x0456" name="CP_BIN_SELECT_LO"/>
214bf215546Sopenharmony_ci	<reg32 offset="0x0457" name="CP_BIN_SELECT_HI"/>
215bf215546Sopenharmony_ci	<reg32 offset="0x0458" name="CP_IB1_BASE"/>
216bf215546Sopenharmony_ci	<reg32 offset="0x0459" name="CP_IB1_BUFSZ"/>
217bf215546Sopenharmony_ci	<reg32 offset="0x045a" name="CP_IB2_BASE"/>
218bf215546Sopenharmony_ci	<reg32 offset="0x045b" name="CP_IB2_BUFSZ"/>
219bf215546Sopenharmony_ci	<reg32 offset="0x047f" name="CP_STAT">
220bf215546Sopenharmony_ci		<bitfield pos="31" name="CP_BUSY"/>
221bf215546Sopenharmony_ci		<bitfield pos="30" name="VS_EVENT_FIFO_BUSY"/>
222bf215546Sopenharmony_ci		<bitfield pos="29" name="PS_EVENT_FIFO_BUSY"/>
223bf215546Sopenharmony_ci		<bitfield pos="28" name="CF_EVENT_FIFO_BUSY"/>
224bf215546Sopenharmony_ci		<bitfield pos="27" name="RB_EVENT_FIFO_BUSY"/>
225bf215546Sopenharmony_ci		<bitfield pos="26" name="ME_BUSY"/>
226bf215546Sopenharmony_ci		<bitfield pos="25" name="MIU_WR_C_BUSY"/>
227bf215546Sopenharmony_ci		<bitfield pos="23" name="CP_3D_BUSY"/>
228bf215546Sopenharmony_ci		<bitfield pos="22" name="CP_NRT_BUSY"/>
229bf215546Sopenharmony_ci		<bitfield pos="21" name="RBIU_SCRATCH_BUSY"/>
230bf215546Sopenharmony_ci		<bitfield pos="20" name="RCIU_ME_BUSY"/>
231bf215546Sopenharmony_ci		<bitfield pos="19" name="RCIU_PFP_BUSY"/>
232bf215546Sopenharmony_ci		<bitfield pos="18" name="MEQ_RING_BUSY"/>
233bf215546Sopenharmony_ci		<bitfield pos="17" name="PFP_BUSY"/>
234bf215546Sopenharmony_ci		<bitfield pos="16" name="ST_QUEUE_BUSY"/>
235bf215546Sopenharmony_ci		<bitfield pos="13" name="INDIRECT2_QUEUE_BUSY"/>
236bf215546Sopenharmony_ci		<bitfield pos="12" name="INDIRECTS_QUEUE_BUSY"/>
237bf215546Sopenharmony_ci		<bitfield pos="11" name="RING_QUEUE_BUSY"/>
238bf215546Sopenharmony_ci		<bitfield pos="10" name="CSF_BUSY"/>
239bf215546Sopenharmony_ci		<bitfield pos="9"  name="CSF_ST_BUSY"/>
240bf215546Sopenharmony_ci		<bitfield pos="8"  name="EVENT_BUSY"/>
241bf215546Sopenharmony_ci		<bitfield pos="7"  name="CSF_INDIRECT2_BUSY"/>
242bf215546Sopenharmony_ci		<bitfield pos="6"  name="CSF_INDIRECTS_BUSY"/>
243bf215546Sopenharmony_ci		<bitfield pos="5"  name="CSF_RING_BUSY"/>
244bf215546Sopenharmony_ci		<bitfield pos="4"  name="RCIU_BUSY"/>
245bf215546Sopenharmony_ci		<bitfield pos="3"  name="RBIU_BUSY"/>
246bf215546Sopenharmony_ci		<bitfield pos="2"  name="MIU_RD_RETURN_BUSY"/>
247bf215546Sopenharmony_ci		<bitfield pos="1"  name="MIU_RD_REQ_BUSY"/>
248bf215546Sopenharmony_ci		<bitfield pos="0"  name="MIU_WR_BUSY"/>
249bf215546Sopenharmony_ci	</reg32>
250bf215546Sopenharmony_ci	<reg32 offset="0x0578" name="CP_SCRATCH_REG0" type="uint"/>
251bf215546Sopenharmony_ci	<reg32 offset="0x0579" name="CP_SCRATCH_REG1" type="uint"/>
252bf215546Sopenharmony_ci	<reg32 offset="0x057a" name="CP_SCRATCH_REG2" type="uint"/>
253bf215546Sopenharmony_ci	<reg32 offset="0x057b" name="CP_SCRATCH_REG3" type="uint"/>
254bf215546Sopenharmony_ci	<reg32 offset="0x057c" name="CP_SCRATCH_REG4" type="uint"/>
255bf215546Sopenharmony_ci	<reg32 offset="0x057d" name="CP_SCRATCH_REG5" type="uint"/>
256bf215546Sopenharmony_ci	<reg32 offset="0x057e" name="CP_SCRATCH_REG6" type="uint"/>
257bf215546Sopenharmony_ci	<reg32 offset="0x057f" name="CP_SCRATCH_REG7" type="uint"/>
258bf215546Sopenharmony_ci
259bf215546Sopenharmony_ci	<reg32 offset="0x0600" name="CP_ME_VS_EVENT_SRC"/>
260bf215546Sopenharmony_ci	<reg32 offset="0x0601" name="CP_ME_VS_EVENT_ADDR"/>
261bf215546Sopenharmony_ci	<reg32 offset="0x0602" name="CP_ME_VS_EVENT_DATA"/>
262bf215546Sopenharmony_ci	<reg32 offset="0x0603" name="CP_ME_VS_EVENT_ADDR_SWM"/>
263bf215546Sopenharmony_ci	<reg32 offset="0x0604" name="CP_ME_VS_EVENT_DATA_SWM"/>
264bf215546Sopenharmony_ci	<reg32 offset="0x0605" name="CP_ME_PS_EVENT_SRC"/>
265bf215546Sopenharmony_ci	<reg32 offset="0x0606" name="CP_ME_PS_EVENT_ADDR"/>
266bf215546Sopenharmony_ci	<reg32 offset="0x0607" name="CP_ME_PS_EVENT_DATA"/>
267bf215546Sopenharmony_ci	<reg32 offset="0x0608" name="CP_ME_PS_EVENT_ADDR_SWM"/>
268bf215546Sopenharmony_ci	<reg32 offset="0x0609" name="CP_ME_PS_EVENT_DATA_SWM"/>
269bf215546Sopenharmony_ci	<reg32 offset="0x060a" name="CP_ME_CF_EVENT_SRC"/>
270bf215546Sopenharmony_ci	<reg32 offset="0x060b" name="CP_ME_CF_EVENT_ADDR"/>
271bf215546Sopenharmony_ci	<reg32 offset="0x060c" name="CP_ME_CF_EVENT_DATA" type="uint"/>
272bf215546Sopenharmony_ci	<reg32 offset="0x060d" name="CP_ME_NRT_ADDR"/>
273bf215546Sopenharmony_ci	<reg32 offset="0x060e" name="CP_ME_NRT_DATA"/>
274bf215546Sopenharmony_ci	<reg32 offset="0x0612" name="CP_ME_VS_FETCH_DONE_SRC"/>
275bf215546Sopenharmony_ci	<reg32 offset="0x0613" name="CP_ME_VS_FETCH_DONE_ADDR"/>
276bf215546Sopenharmony_ci	<reg32 offset="0x0614" name="CP_ME_VS_FETCH_DONE_DATA"/>
277bf215546Sopenharmony_ci
278bf215546Sopenharmony_ci</domain>
279bf215546Sopenharmony_ci
280bf215546Sopenharmony_ci<!--
281bf215546Sopenharmony_ci	Common between A3xx and A4xx:
282bf215546Sopenharmony_ci -->
283bf215546Sopenharmony_ci
284bf215546Sopenharmony_ci<enum name="a3xx_rop_code">
285bf215546Sopenharmony_ci	<value name="ROP_CLEAR"         value="0"/>
286bf215546Sopenharmony_ci	<value name="ROP_NOR"           value="1"/>
287bf215546Sopenharmony_ci	<value name="ROP_AND_INVERTED"  value="2"/>
288bf215546Sopenharmony_ci	<value name="ROP_COPY_INVERTED" value="3"/>
289bf215546Sopenharmony_ci	<value name="ROP_AND_REVERSE"   value="4"/>
290bf215546Sopenharmony_ci	<value name="ROP_INVERT"        value="5"/>
291bf215546Sopenharmony_ci	<value name="ROP_XOR"           value="6"/>
292bf215546Sopenharmony_ci	<value name="ROP_NAND"          value="7"/>
293bf215546Sopenharmony_ci	<value name="ROP_AND"           value="8"/>
294bf215546Sopenharmony_ci	<value name="ROP_EQUIV"         value="9"/>
295bf215546Sopenharmony_ci	<value name="ROP_NOOP"          value="10"/>
296bf215546Sopenharmony_ci	<value name="ROP_OR_INVERTED"   value="11"/>
297bf215546Sopenharmony_ci	<value name="ROP_COPY"          value="12"/>
298bf215546Sopenharmony_ci	<value name="ROP_OR_REVERSE"    value="13"/>
299bf215546Sopenharmony_ci	<value name="ROP_OR"            value="14"/>
300bf215546Sopenharmony_ci	<value name="ROP_SET"           value="15"/>
301bf215546Sopenharmony_ci</enum>
302bf215546Sopenharmony_ci
303bf215546Sopenharmony_ci<enum name="a3xx_render_mode">
304bf215546Sopenharmony_ci	<value name="RB_RENDERING_PASS" value="0"/>
305bf215546Sopenharmony_ci	<value name="RB_TILING_PASS" value="1"/>
306bf215546Sopenharmony_ci	<value name="RB_RESOLVE_PASS" value="2"/>
307bf215546Sopenharmony_ci	<value name="RB_COMPUTE_PASS" value="3"/>
308bf215546Sopenharmony_ci</enum>
309bf215546Sopenharmony_ci
310bf215546Sopenharmony_ci<enum name="a3xx_msaa_samples">
311bf215546Sopenharmony_ci	<value name="MSAA_ONE" value="0"/>
312bf215546Sopenharmony_ci	<value name="MSAA_TWO" value="1"/>
313bf215546Sopenharmony_ci	<value name="MSAA_FOUR" value="2"/>
314bf215546Sopenharmony_ci	<value name="MSAA_EIGHT" value="3"/>
315bf215546Sopenharmony_ci</enum>
316bf215546Sopenharmony_ci
317bf215546Sopenharmony_ci<enum name="a3xx_threadmode">
318bf215546Sopenharmony_ci	<value value="0" name="MULTI"/>
319bf215546Sopenharmony_ci	<value value="1" name="SINGLE"/>
320bf215546Sopenharmony_ci</enum>
321bf215546Sopenharmony_ci
322bf215546Sopenharmony_ci<enum name="a3xx_instrbuffermode">
323bf215546Sopenharmony_ci	<!--
324bf215546Sopenharmony_ci	When shader size goes above ~128 or so, blob switches to '0'
325bf215546Sopenharmony_ci	and doesn't emit shader in cmdstream.  When either is '0' it
326bf215546Sopenharmony_ci	doesn't get emitted via CP_LOAD_STATE.  When only one is
327bf215546Sopenharmony_ci	'0' the other gets size 256-others_size.  So I think that:
328bf215546Sopenharmony_ci		BUFFER => execute out of state memory
329bf215546Sopenharmony_ci		CACHE  => use available state memory as local cache
330bf215546Sopenharmony_ci	NOTE that when CACHE mode, also set CACHEINVALID flag!
331bf215546Sopenharmony_ci
332bf215546Sopenharmony_ci	TODO check if that 256 size is same for all a3xx
333bf215546Sopenharmony_ci	 -->
334bf215546Sopenharmony_ci	<value value="0" name="CACHE"/>
335bf215546Sopenharmony_ci	<value value="1" name="BUFFER"/>
336bf215546Sopenharmony_ci</enum>
337bf215546Sopenharmony_ci
338bf215546Sopenharmony_ci<enum name="a3xx_threadsize">
339bf215546Sopenharmony_ci	<value value="0" name="TWO_QUADS"/>
340bf215546Sopenharmony_ci	<value value="1" name="FOUR_QUADS"/>
341bf215546Sopenharmony_ci</enum>
342bf215546Sopenharmony_ci
343bf215546Sopenharmony_ci<enum name="a3xx_color_swap">
344bf215546Sopenharmony_ci	<value name="WZYX" value="0"/>
345bf215546Sopenharmony_ci	<value name="WXYZ" value="1"/>
346bf215546Sopenharmony_ci	<value name="ZYXW" value="2"/>
347bf215546Sopenharmony_ci	<value name="XYZW" value="3"/>
348bf215546Sopenharmony_ci</enum>
349bf215546Sopenharmony_ci
350bf215546Sopenharmony_ci<enum name="a3xx_rb_blend_opcode">
351bf215546Sopenharmony_ci	<value name="BLEND_DST_PLUS_SRC" value="0"/>
352bf215546Sopenharmony_ci	<value name="BLEND_SRC_MINUS_DST" value="1"/>
353bf215546Sopenharmony_ci	<value name="BLEND_DST_MINUS_SRC" value="2"/>
354bf215546Sopenharmony_ci	<value name="BLEND_MIN_DST_SRC" value="3"/>
355bf215546Sopenharmony_ci	<value name="BLEND_MAX_DST_SRC" value="4"/>
356bf215546Sopenharmony_ci</enum>
357bf215546Sopenharmony_ci
358bf215546Sopenharmony_ci<enum name="a4xx_tess_spacing">
359bf215546Sopenharmony_ci	<value name="EQUAL_SPACING" value="0"/>
360bf215546Sopenharmony_ci	<value name="ODD_SPACING" value="2"/>
361bf215546Sopenharmony_ci	<value name="EVEN_SPACING" value="3"/>
362bf215546Sopenharmony_ci</enum>
363bf215546Sopenharmony_ci
364bf215546Sopenharmony_ci<doc>Address mode for a5xx+</doc>
365bf215546Sopenharmony_ci<enum name="a5xx_address_mode">
366bf215546Sopenharmony_ci	<value name="ADDR_32B" value="0"/>
367bf215546Sopenharmony_ci	<value name="ADDR_64B" value="1"/>
368bf215546Sopenharmony_ci</enum>
369bf215546Sopenharmony_ci
370bf215546Sopenharmony_ci<doc>
371bf215546Sopenharmony_ci    Line mode for a5xx+
372bf215546Sopenharmony_ci	Note that Bresenham lines are only supported with MSAA disabled.
373bf215546Sopenharmony_ci</doc>
374bf215546Sopenharmony_ci<enum name="a5xx_line_mode">
375bf215546Sopenharmony_ci	<value value="0x0"  name="BRESENHAM"/>
376bf215546Sopenharmony_ci	<value value="0x1"  name="RECTANGULAR"/>
377bf215546Sopenharmony_ci</enum>
378bf215546Sopenharmony_ci
379bf215546Sopenharmony_ci</database>
380bf215546Sopenharmony_ci
381