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<import file="freedreno_copyright.xml"/>
6bf215546Sopenharmony_ci<import file="adreno/adreno_common.xml"/>
7bf215546Sopenharmony_ci<import file="adreno/adreno_pm4.xml"/>
8bf215546Sopenharmony_ci
9bf215546Sopenharmony_ci<enum name="a5xx_color_fmt">
10bf215546Sopenharmony_ci	<value value="0x02" name="RB5_A8_UNORM"/>
11bf215546Sopenharmony_ci	<value value="0x03" name="RB5_R8_UNORM"/>
12bf215546Sopenharmony_ci	<value value="0x04" name="RB5_R8_SNORM"/>
13bf215546Sopenharmony_ci	<value value="0x05" name="RB5_R8_UINT"/>
14bf215546Sopenharmony_ci	<value value="0x06" name="RB5_R8_SINT"/>
15bf215546Sopenharmony_ci	<value value="0x08" name="RB5_R4G4B4A4_UNORM"/>
16bf215546Sopenharmony_ci	<value value="0x0a" name="RB5_R5G5B5A1_UNORM"/>
17bf215546Sopenharmony_ci	<value value="0x0e" name="RB5_R5G6B5_UNORM"/>
18bf215546Sopenharmony_ci	<value value="0x0f" name="RB5_R8G8_UNORM"/>
19bf215546Sopenharmony_ci	<value value="0x10" name="RB5_R8G8_SNORM"/>
20bf215546Sopenharmony_ci	<value value="0x11" name="RB5_R8G8_UINT"/>
21bf215546Sopenharmony_ci	<value value="0x12" name="RB5_R8G8_SINT"/>
22bf215546Sopenharmony_ci	<value value="0x15" name="RB5_R16_UNORM"/>
23bf215546Sopenharmony_ci	<value value="0x16" name="RB5_R16_SNORM"/>
24bf215546Sopenharmony_ci	<value value="0x17" name="RB5_R16_FLOAT"/>
25bf215546Sopenharmony_ci	<value value="0x18" name="RB5_R16_UINT"/>
26bf215546Sopenharmony_ci	<value value="0x19" name="RB5_R16_SINT"/>
27bf215546Sopenharmony_ci	<value value="0x30" name="RB5_R8G8B8A8_UNORM"/>
28bf215546Sopenharmony_ci	<value value="0x31" name="RB5_R8G8B8_UNORM"/>
29bf215546Sopenharmony_ci	<value value="0x32" name="RB5_R8G8B8A8_SNORM"/>
30bf215546Sopenharmony_ci	<value value="0x33" name="RB5_R8G8B8A8_UINT"/>
31bf215546Sopenharmony_ci	<value value="0x34" name="RB5_R8G8B8A8_SINT"/>
32bf215546Sopenharmony_ci	<value value="0x37" name="RB5_R10G10B10A2_UNORM"/>  <!-- GL_RGB10_A2 -->
33bf215546Sopenharmony_ci	<value value="0x3a" name="RB5_R10G10B10A2_UINT"/>   <!-- GL_RGB10_A2UI -->
34bf215546Sopenharmony_ci	<value value="0x42" name="RB5_R11G11B10_FLOAT"/>    <!-- GL_R11F_G11F_B10F -->
35bf215546Sopenharmony_ci	<value value="0x43" name="RB5_R16G16_UNORM"/>
36bf215546Sopenharmony_ci	<value value="0x44" name="RB5_R16G16_SNORM"/>
37bf215546Sopenharmony_ci	<value value="0x45" name="RB5_R16G16_FLOAT"/>
38bf215546Sopenharmony_ci	<value value="0x46" name="RB5_R16G16_UINT"/>
39bf215546Sopenharmony_ci	<value value="0x47" name="RB5_R16G16_SINT"/>
40bf215546Sopenharmony_ci	<value value="0x4a" name="RB5_R32_FLOAT"/>
41bf215546Sopenharmony_ci	<value value="0x4b" name="RB5_R32_UINT"/>
42bf215546Sopenharmony_ci	<value value="0x4c" name="RB5_R32_SINT"/>
43bf215546Sopenharmony_ci	<value value="0x60" name="RB5_R16G16B16A16_UNORM"/>
44bf215546Sopenharmony_ci	<value value="0x61" name="RB5_R16G16B16A16_SNORM"/>
45bf215546Sopenharmony_ci	<value value="0x62" name="RB5_R16G16B16A16_FLOAT"/>
46bf215546Sopenharmony_ci	<value value="0x63" name="RB5_R16G16B16A16_UINT"/>
47bf215546Sopenharmony_ci	<value value="0x64" name="RB5_R16G16B16A16_SINT"/>
48bf215546Sopenharmony_ci	<value value="0x67" name="RB5_R32G32_FLOAT"/>
49bf215546Sopenharmony_ci	<value value="0x68" name="RB5_R32G32_UINT"/>
50bf215546Sopenharmony_ci	<value value="0x69" name="RB5_R32G32_SINT"/>
51bf215546Sopenharmony_ci	<value value="0x82" name="RB5_R32G32B32A32_FLOAT"/>
52bf215546Sopenharmony_ci	<value value="0x83" name="RB5_R32G32B32A32_UINT"/>
53bf215546Sopenharmony_ci	<value value="0x84" name="RB5_R32G32B32A32_SINT"/>
54bf215546Sopenharmony_ci
55bf215546Sopenharmony_ci	<value value="0xff" name="RB5_NONE"/>
56bf215546Sopenharmony_ci</enum>
57bf215546Sopenharmony_ci
58bf215546Sopenharmony_ci<enum name="a5xx_tile_mode">
59bf215546Sopenharmony_ci	<value name="TILE5_LINEAR" value="0"/>
60bf215546Sopenharmony_ci	<value name="TILE5_2" value="2"/>
61bf215546Sopenharmony_ci	<value name="TILE5_3" value="3"/>
62bf215546Sopenharmony_ci</enum>
63bf215546Sopenharmony_ci
64bf215546Sopenharmony_ci<enum name="a5xx_vtx_fmt" prefix="chipset">
65bf215546Sopenharmony_ci	<value value="0x03" name="VFMT5_8_UNORM"/>
66bf215546Sopenharmony_ci	<value value="0x04" name="VFMT5_8_SNORM"/>
67bf215546Sopenharmony_ci	<value value="0x05" name="VFMT5_8_UINT"/>
68bf215546Sopenharmony_ci	<value value="0x06" name="VFMT5_8_SINT"/>
69bf215546Sopenharmony_ci
70bf215546Sopenharmony_ci	<value value="0x0f" name="VFMT5_8_8_UNORM"/>
71bf215546Sopenharmony_ci	<value value="0x10" name="VFMT5_8_8_SNORM"/>
72bf215546Sopenharmony_ci	<value value="0x11" name="VFMT5_8_8_UINT"/>
73bf215546Sopenharmony_ci	<value value="0x12" name="VFMT5_8_8_SINT"/>
74bf215546Sopenharmony_ci
75bf215546Sopenharmony_ci	<value value="0x15" name="VFMT5_16_UNORM"/>
76bf215546Sopenharmony_ci	<value value="0x16" name="VFMT5_16_SNORM"/>
77bf215546Sopenharmony_ci	<value value="0x17" name="VFMT5_16_FLOAT"/>
78bf215546Sopenharmony_ci	<value value="0x18" name="VFMT5_16_UINT"/>
79bf215546Sopenharmony_ci	<value value="0x19" name="VFMT5_16_SINT"/>
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci	<value value="0x21" name="VFMT5_8_8_8_UNORM"/>
82bf215546Sopenharmony_ci	<value value="0x22" name="VFMT5_8_8_8_SNORM"/>
83bf215546Sopenharmony_ci	<value value="0x23" name="VFMT5_8_8_8_UINT"/>
84bf215546Sopenharmony_ci	<value value="0x24" name="VFMT5_8_8_8_SINT"/>
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci	<value value="0x30" name="VFMT5_8_8_8_8_UNORM"/>
87bf215546Sopenharmony_ci	<value value="0x32" name="VFMT5_8_8_8_8_SNORM"/>
88bf215546Sopenharmony_ci	<value value="0x33" name="VFMT5_8_8_8_8_UINT"/>
89bf215546Sopenharmony_ci	<value value="0x34" name="VFMT5_8_8_8_8_SINT"/>
90bf215546Sopenharmony_ci
91bf215546Sopenharmony_ci	<value value="0x36" name="VFMT5_10_10_10_2_UNORM"/>
92bf215546Sopenharmony_ci	<value value="0x39" name="VFMT5_10_10_10_2_SNORM"/>
93bf215546Sopenharmony_ci	<value value="0x3a" name="VFMT5_10_10_10_2_UINT"/>
94bf215546Sopenharmony_ci	<value value="0x3b" name="VFMT5_10_10_10_2_SINT"/>
95bf215546Sopenharmony_ci
96bf215546Sopenharmony_ci	<value value="0x42" name="VFMT5_11_11_10_FLOAT"/>
97bf215546Sopenharmony_ci
98bf215546Sopenharmony_ci	<value value="0x43" name="VFMT5_16_16_UNORM"/>
99bf215546Sopenharmony_ci	<value value="0x44" name="VFMT5_16_16_SNORM"/>
100bf215546Sopenharmony_ci	<value value="0x45" name="VFMT5_16_16_FLOAT"/>
101bf215546Sopenharmony_ci	<value value="0x46" name="VFMT5_16_16_UINT"/>
102bf215546Sopenharmony_ci	<value value="0x47" name="VFMT5_16_16_SINT"/>
103bf215546Sopenharmony_ci
104bf215546Sopenharmony_ci	<value value="0x48" name="VFMT5_32_UNORM"/>
105bf215546Sopenharmony_ci	<value value="0x49" name="VFMT5_32_SNORM"/>
106bf215546Sopenharmony_ci	<value value="0x4a" name="VFMT5_32_FLOAT"/>
107bf215546Sopenharmony_ci	<value value="0x4b" name="VFMT5_32_UINT"/>
108bf215546Sopenharmony_ci	<value value="0x4c" name="VFMT5_32_SINT"/>
109bf215546Sopenharmony_ci	<value value="0x4d" name="VFMT5_32_FIXED"/>
110bf215546Sopenharmony_ci
111bf215546Sopenharmony_ci	<value value="0x58" name="VFMT5_16_16_16_UNORM"/>
112bf215546Sopenharmony_ci	<value value="0x59" name="VFMT5_16_16_16_SNORM"/>
113bf215546Sopenharmony_ci	<value value="0x5a" name="VFMT5_16_16_16_FLOAT"/>
114bf215546Sopenharmony_ci	<value value="0x5b" name="VFMT5_16_16_16_UINT"/>
115bf215546Sopenharmony_ci	<value value="0x5c" name="VFMT5_16_16_16_SINT"/>
116bf215546Sopenharmony_ci
117bf215546Sopenharmony_ci	<value value="0x60" name="VFMT5_16_16_16_16_UNORM"/>
118bf215546Sopenharmony_ci	<value value="0x61" name="VFMT5_16_16_16_16_SNORM"/>
119bf215546Sopenharmony_ci	<value value="0x62" name="VFMT5_16_16_16_16_FLOAT"/>
120bf215546Sopenharmony_ci	<value value="0x63" name="VFMT5_16_16_16_16_UINT"/>
121bf215546Sopenharmony_ci	<value value="0x64" name="VFMT5_16_16_16_16_SINT"/>
122bf215546Sopenharmony_ci
123bf215546Sopenharmony_ci	<value value="0x65" name="VFMT5_32_32_UNORM"/>
124bf215546Sopenharmony_ci	<value value="0x66" name="VFMT5_32_32_SNORM"/>
125bf215546Sopenharmony_ci	<value value="0x67" name="VFMT5_32_32_FLOAT"/>
126bf215546Sopenharmony_ci	<value value="0x68" name="VFMT5_32_32_UINT"/>
127bf215546Sopenharmony_ci	<value value="0x69" name="VFMT5_32_32_SINT"/>
128bf215546Sopenharmony_ci	<value value="0x6a" name="VFMT5_32_32_FIXED"/>
129bf215546Sopenharmony_ci
130bf215546Sopenharmony_ci	<value value="0x70" name="VFMT5_32_32_32_UNORM"/>
131bf215546Sopenharmony_ci	<value value="0x71" name="VFMT5_32_32_32_SNORM"/>
132bf215546Sopenharmony_ci	<value value="0x72" name="VFMT5_32_32_32_UINT"/>
133bf215546Sopenharmony_ci	<value value="0x73" name="VFMT5_32_32_32_SINT"/>
134bf215546Sopenharmony_ci	<value value="0x74" name="VFMT5_32_32_32_FLOAT"/>
135bf215546Sopenharmony_ci	<value value="0x75" name="VFMT5_32_32_32_FIXED"/>
136bf215546Sopenharmony_ci
137bf215546Sopenharmony_ci	<value value="0x80" name="VFMT5_32_32_32_32_UNORM"/>
138bf215546Sopenharmony_ci	<value value="0x81" name="VFMT5_32_32_32_32_SNORM"/>
139bf215546Sopenharmony_ci	<value value="0x82" name="VFMT5_32_32_32_32_FLOAT"/>
140bf215546Sopenharmony_ci	<value value="0x83" name="VFMT5_32_32_32_32_UINT"/>
141bf215546Sopenharmony_ci	<value value="0x84" name="VFMT5_32_32_32_32_SINT"/>
142bf215546Sopenharmony_ci	<value value="0x85" name="VFMT5_32_32_32_32_FIXED"/>
143bf215546Sopenharmony_ci
144bf215546Sopenharmony_ci	<value value="0xff" name="VFMT5_NONE"/>
145bf215546Sopenharmony_ci</enum>
146bf215546Sopenharmony_ci
147bf215546Sopenharmony_ci<enum name="a5xx_tex_fmt">
148bf215546Sopenharmony_ci	<value value="0x02" name="TFMT5_A8_UNORM"/>
149bf215546Sopenharmony_ci	<value value="0x03" name="TFMT5_8_UNORM"/>
150bf215546Sopenharmony_ci	<value value="0x04" name="TFMT5_8_SNORM"/>
151bf215546Sopenharmony_ci	<value value="0x05" name="TFMT5_8_UINT"/>
152bf215546Sopenharmony_ci	<value value="0x06" name="TFMT5_8_SINT"/>
153bf215546Sopenharmony_ci	<value value="0x08" name="TFMT5_4_4_4_4_UNORM"/>
154bf215546Sopenharmony_ci	<value value="0x0a" name="TFMT5_5_5_5_1_UNORM"/>
155bf215546Sopenharmony_ci	<value value="0x0e" name="TFMT5_5_6_5_UNORM"/>
156bf215546Sopenharmony_ci	<value value="0x0f" name="TFMT5_8_8_UNORM"/>
157bf215546Sopenharmony_ci	<value value="0x10" name="TFMT5_8_8_SNORM"/>
158bf215546Sopenharmony_ci	<value value="0x11" name="TFMT5_8_8_UINT"/>
159bf215546Sopenharmony_ci	<value value="0x12" name="TFMT5_8_8_SINT"/>
160bf215546Sopenharmony_ci	<value value="0x13" name="TFMT5_L8_A8_UNORM"/>
161bf215546Sopenharmony_ci	<value value="0x15" name="TFMT5_16_UNORM"/>
162bf215546Sopenharmony_ci	<value value="0x16" name="TFMT5_16_SNORM"/>
163bf215546Sopenharmony_ci	<value value="0x17" name="TFMT5_16_FLOAT"/>
164bf215546Sopenharmony_ci	<value value="0x18" name="TFMT5_16_UINT"/>
165bf215546Sopenharmony_ci	<value value="0x19" name="TFMT5_16_SINT"/>
166bf215546Sopenharmony_ci	<value value="0x30" name="TFMT5_8_8_8_8_UNORM"/>
167bf215546Sopenharmony_ci	<value value="0x31" name="TFMT5_8_8_8_UNORM"/>
168bf215546Sopenharmony_ci	<value value="0x32" name="TFMT5_8_8_8_8_SNORM"/>
169bf215546Sopenharmony_ci	<value value="0x33" name="TFMT5_8_8_8_8_UINT"/>
170bf215546Sopenharmony_ci	<value value="0x34" name="TFMT5_8_8_8_8_SINT"/>
171bf215546Sopenharmony_ci	<value value="0x35" name="TFMT5_9_9_9_E5_FLOAT"/>
172bf215546Sopenharmony_ci	<value value="0x36" name="TFMT5_10_10_10_2_UNORM"/>
173bf215546Sopenharmony_ci	<value value="0x3a" name="TFMT5_10_10_10_2_UINT"/>
174bf215546Sopenharmony_ci	<value value="0x42" name="TFMT5_11_11_10_FLOAT"/>
175bf215546Sopenharmony_ci	<value value="0x43" name="TFMT5_16_16_UNORM"/>
176bf215546Sopenharmony_ci	<value value="0x44" name="TFMT5_16_16_SNORM"/>
177bf215546Sopenharmony_ci	<value value="0x45" name="TFMT5_16_16_FLOAT"/>
178bf215546Sopenharmony_ci	<value value="0x46" name="TFMT5_16_16_UINT"/>
179bf215546Sopenharmony_ci	<value value="0x47" name="TFMT5_16_16_SINT"/>
180bf215546Sopenharmony_ci	<value value="0x4a" name="TFMT5_32_FLOAT"/>
181bf215546Sopenharmony_ci	<value value="0x4b" name="TFMT5_32_UINT"/>
182bf215546Sopenharmony_ci	<value value="0x4c" name="TFMT5_32_SINT"/>
183bf215546Sopenharmony_ci	<value value="0x60" name="TFMT5_16_16_16_16_UNORM"/>
184bf215546Sopenharmony_ci	<value value="0x61" name="TFMT5_16_16_16_16_SNORM"/>
185bf215546Sopenharmony_ci	<value value="0x62" name="TFMT5_16_16_16_16_FLOAT"/>
186bf215546Sopenharmony_ci	<value value="0x63" name="TFMT5_16_16_16_16_UINT"/>
187bf215546Sopenharmony_ci	<value value="0x64" name="TFMT5_16_16_16_16_SINT"/>
188bf215546Sopenharmony_ci	<value value="0x67" name="TFMT5_32_32_FLOAT"/>
189bf215546Sopenharmony_ci	<value value="0x68" name="TFMT5_32_32_UINT"/>
190bf215546Sopenharmony_ci	<value value="0x69" name="TFMT5_32_32_SINT"/>
191bf215546Sopenharmony_ci	<value value="0x72" name="TFMT5_32_32_32_UINT"/>
192bf215546Sopenharmony_ci	<value value="0x73" name="TFMT5_32_32_32_SINT"/>
193bf215546Sopenharmony_ci	<value value="0x74" name="TFMT5_32_32_32_FLOAT"/>
194bf215546Sopenharmony_ci	<value value="0x82" name="TFMT5_32_32_32_32_FLOAT"/>
195bf215546Sopenharmony_ci	<value value="0x83" name="TFMT5_32_32_32_32_UINT"/>
196bf215546Sopenharmony_ci	<value value="0x84" name="TFMT5_32_32_32_32_SINT"/>
197bf215546Sopenharmony_ci	<value value="0xa0" name="TFMT5_X8Z24_UNORM"/>
198bf215546Sopenharmony_ci
199bf215546Sopenharmony_ci	<value value="0xab" name="TFMT5_ETC2_RG11_UNORM"/>
200bf215546Sopenharmony_ci	<value value="0xac" name="TFMT5_ETC2_RG11_SNORM"/>
201bf215546Sopenharmony_ci	<value value="0xad" name="TFMT5_ETC2_R11_UNORM"/>
202bf215546Sopenharmony_ci	<value value="0xae" name="TFMT5_ETC2_R11_SNORM"/>
203bf215546Sopenharmony_ci	<value value="0xaf" name="TFMT5_ETC1"/>
204bf215546Sopenharmony_ci	<value value="0xb0" name="TFMT5_ETC2_RGB8"/>
205bf215546Sopenharmony_ci	<value value="0xb1" name="TFMT5_ETC2_RGBA8"/>
206bf215546Sopenharmony_ci	<value value="0xb2" name="TFMT5_ETC2_RGB8A1"/>
207bf215546Sopenharmony_ci	<value value="0xb3" name="TFMT5_DXT1"/>
208bf215546Sopenharmony_ci	<value value="0xb4" name="TFMT5_DXT3"/>
209bf215546Sopenharmony_ci	<value value="0xb5" name="TFMT5_DXT5"/>
210bf215546Sopenharmony_ci	<value value="0xb7" name="TFMT5_RGTC1_UNORM"/>
211bf215546Sopenharmony_ci	<value value="0xb8" name="TFMT5_RGTC1_SNORM"/>
212bf215546Sopenharmony_ci	<value value="0xbb" name="TFMT5_RGTC2_UNORM"/>
213bf215546Sopenharmony_ci	<value value="0xbc" name="TFMT5_RGTC2_SNORM"/>
214bf215546Sopenharmony_ci	<value value="0xbe" name="TFMT5_BPTC_UFLOAT"/>
215bf215546Sopenharmony_ci	<value value="0xbf" name="TFMT5_BPTC_FLOAT"/>
216bf215546Sopenharmony_ci	<value value="0xc0" name="TFMT5_BPTC"/>
217bf215546Sopenharmony_ci	<value value="0xc1" name="TFMT5_ASTC_4x4"/>
218bf215546Sopenharmony_ci	<value value="0xc2" name="TFMT5_ASTC_5x4"/>
219bf215546Sopenharmony_ci	<value value="0xc3" name="TFMT5_ASTC_5x5"/>
220bf215546Sopenharmony_ci	<value value="0xc4" name="TFMT5_ASTC_6x5"/>
221bf215546Sopenharmony_ci	<value value="0xc5" name="TFMT5_ASTC_6x6"/>
222bf215546Sopenharmony_ci	<value value="0xc6" name="TFMT5_ASTC_8x5"/>
223bf215546Sopenharmony_ci	<value value="0xc7" name="TFMT5_ASTC_8x6"/>
224bf215546Sopenharmony_ci	<value value="0xc8" name="TFMT5_ASTC_8x8"/>
225bf215546Sopenharmony_ci	<value value="0xc9" name="TFMT5_ASTC_10x5"/>
226bf215546Sopenharmony_ci	<value value="0xca" name="TFMT5_ASTC_10x6"/>
227bf215546Sopenharmony_ci	<value value="0xcb" name="TFMT5_ASTC_10x8"/>
228bf215546Sopenharmony_ci	<value value="0xcc" name="TFMT5_ASTC_10x10"/>
229bf215546Sopenharmony_ci	<value value="0xcd" name="TFMT5_ASTC_12x10"/>
230bf215546Sopenharmony_ci	<value value="0xce" name="TFMT5_ASTC_12x12"/>
231bf215546Sopenharmony_ci
232bf215546Sopenharmony_ci	<value value="0xff" name="TFMT5_NONE"/>
233bf215546Sopenharmony_ci</enum>
234bf215546Sopenharmony_ci
235bf215546Sopenharmony_ci<enum name="a5xx_depth_format">
236bf215546Sopenharmony_ci	<value name="DEPTH5_NONE" value="0"/>
237bf215546Sopenharmony_ci	<value name="DEPTH5_16" value="1"/>
238bf215546Sopenharmony_ci	<value name="DEPTH5_24_8" value="2"/>
239bf215546Sopenharmony_ci	<value name="DEPTH5_32" value="4"/>
240bf215546Sopenharmony_ci</enum>
241bf215546Sopenharmony_ci
242bf215546Sopenharmony_ci<enum name="a5xx_blit_buf">
243bf215546Sopenharmony_ci	<value value="0" name="BLIT_MRT0"/>
244bf215546Sopenharmony_ci	<value value="1" name="BLIT_MRT1"/>
245bf215546Sopenharmony_ci	<value value="2" name="BLIT_MRT2"/>
246bf215546Sopenharmony_ci	<value value="3" name="BLIT_MRT3"/>
247bf215546Sopenharmony_ci	<value value="4" name="BLIT_MRT4"/>
248bf215546Sopenharmony_ci	<value value="5" name="BLIT_MRT5"/>
249bf215546Sopenharmony_ci	<value value="6" name="BLIT_MRT6"/>
250bf215546Sopenharmony_ci	<value value="7" name="BLIT_MRT7"/>
251bf215546Sopenharmony_ci	<value value="8" name="BLIT_ZS"/>       <!-- depth or combined depth+stencil -->
252bf215546Sopenharmony_ci	<value value="9" name="BLIT_S"/>        <!-- separate stencil -->
253bf215546Sopenharmony_ci</enum>
254bf215546Sopenharmony_ci
255bf215546Sopenharmony_ci<!-- see comment in a4xx.xml about script to extract countables from test-perf output -->
256bf215546Sopenharmony_ci<enum name="a5xx_cp_perfcounter_select">
257bf215546Sopenharmony_ci	<value value="0" name="PERF_CP_ALWAYS_COUNT"/>
258bf215546Sopenharmony_ci	<value value="1" name="PERF_CP_BUSY_GFX_CORE_IDLE"/>
259bf215546Sopenharmony_ci	<value value="2" name="PERF_CP_BUSY_CYCLES"/>
260bf215546Sopenharmony_ci	<value value="3" name="PERF_CP_PFP_IDLE"/>
261bf215546Sopenharmony_ci	<value value="4" name="PERF_CP_PFP_BUSY_WORKING"/>
262bf215546Sopenharmony_ci	<value value="5" name="PERF_CP_PFP_STALL_CYCLES_ANY"/>
263bf215546Sopenharmony_ci	<value value="6" name="PERF_CP_PFP_STARVE_CYCLES_ANY"/>
264bf215546Sopenharmony_ci	<value value="7" name="PERF_CP_PFP_ICACHE_MISS"/>
265bf215546Sopenharmony_ci	<value value="8" name="PERF_CP_PFP_ICACHE_HIT"/>
266bf215546Sopenharmony_ci	<value value="9" name="PERF_CP_PFP_MATCH_PM4_PKT_PROFILE"/>
267bf215546Sopenharmony_ci	<value value="10" name="PERF_CP_ME_BUSY_WORKING"/>
268bf215546Sopenharmony_ci	<value value="11" name="PERF_CP_ME_IDLE"/>
269bf215546Sopenharmony_ci	<value value="12" name="PERF_CP_ME_STARVE_CYCLES_ANY"/>
270bf215546Sopenharmony_ci	<value value="13" name="PERF_CP_ME_FIFO_EMPTY_PFP_IDLE"/>
271bf215546Sopenharmony_ci	<value value="14" name="PERF_CP_ME_FIFO_EMPTY_PFP_BUSY"/>
272bf215546Sopenharmony_ci	<value value="15" name="PERF_CP_ME_FIFO_FULL_ME_BUSY"/>
273bf215546Sopenharmony_ci	<value value="16" name="PERF_CP_ME_FIFO_FULL_ME_NON_WORKING"/>
274bf215546Sopenharmony_ci	<value value="17" name="PERF_CP_ME_STALL_CYCLES_ANY"/>
275bf215546Sopenharmony_ci	<value value="18" name="PERF_CP_ME_ICACHE_MISS"/>
276bf215546Sopenharmony_ci	<value value="19" name="PERF_CP_ME_ICACHE_HIT"/>
277bf215546Sopenharmony_ci	<value value="20" name="PERF_CP_NUM_PREEMPTIONS"/>
278bf215546Sopenharmony_ci	<value value="21" name="PERF_CP_PREEMPTION_REACTION_DELAY"/>
279bf215546Sopenharmony_ci	<value value="22" name="PERF_CP_PREEMPTION_SWITCH_OUT_TIME"/>
280bf215546Sopenharmony_ci	<value value="23" name="PERF_CP_PREEMPTION_SWITCH_IN_TIME"/>
281bf215546Sopenharmony_ci	<value value="24" name="PERF_CP_DEAD_DRAWS_IN_BIN_RENDER"/>
282bf215546Sopenharmony_ci	<value value="25" name="PERF_CP_PREDICATED_DRAWS_KILLED"/>
283bf215546Sopenharmony_ci	<value value="26" name="PERF_CP_MODE_SWITCH"/>
284bf215546Sopenharmony_ci	<value value="27" name="PERF_CP_ZPASS_DONE"/>
285bf215546Sopenharmony_ci	<value value="28" name="PERF_CP_CONTEXT_DONE"/>
286bf215546Sopenharmony_ci	<value value="29" name="PERF_CP_CACHE_FLUSH"/>
287bf215546Sopenharmony_ci	<value value="30" name="PERF_CP_LONG_PREEMPTIONS"/>
288bf215546Sopenharmony_ci</enum>
289bf215546Sopenharmony_ci
290bf215546Sopenharmony_ci<enum name="a5xx_rbbm_perfcounter_select">
291bf215546Sopenharmony_ci	<value value="0" name="PERF_RBBM_ALWAYS_COUNT"/>
292bf215546Sopenharmony_ci	<value value="1" name="PERF_RBBM_ALWAYS_ON"/>
293bf215546Sopenharmony_ci	<value value="2" name="PERF_RBBM_TSE_BUSY"/>
294bf215546Sopenharmony_ci	<value value="3" name="PERF_RBBM_RAS_BUSY"/>
295bf215546Sopenharmony_ci	<value value="4" name="PERF_RBBM_PC_DCALL_BUSY"/>
296bf215546Sopenharmony_ci	<value value="5" name="PERF_RBBM_PC_VSD_BUSY"/>
297bf215546Sopenharmony_ci	<value value="6" name="PERF_RBBM_STATUS_MASKED"/>
298bf215546Sopenharmony_ci	<value value="7" name="PERF_RBBM_COM_BUSY"/>
299bf215546Sopenharmony_ci	<value value="8" name="PERF_RBBM_DCOM_BUSY"/>
300bf215546Sopenharmony_ci	<value value="9" name="PERF_RBBM_VBIF_BUSY"/>
301bf215546Sopenharmony_ci	<value value="10" name="PERF_RBBM_VSC_BUSY"/>
302bf215546Sopenharmony_ci	<value value="11" name="PERF_RBBM_TESS_BUSY"/>
303bf215546Sopenharmony_ci	<value value="12" name="PERF_RBBM_UCHE_BUSY"/>
304bf215546Sopenharmony_ci	<value value="13" name="PERF_RBBM_HLSQ_BUSY"/>
305bf215546Sopenharmony_ci</enum>
306bf215546Sopenharmony_ci
307bf215546Sopenharmony_ci<enum name="a5xx_pc_perfcounter_select">
308bf215546Sopenharmony_ci	<value value="0" name="PERF_PC_BUSY_CYCLES"/>
309bf215546Sopenharmony_ci	<value value="1" name="PERF_PC_WORKING_CYCLES"/>
310bf215546Sopenharmony_ci	<value value="2" name="PERF_PC_STALL_CYCLES_VFD"/>
311bf215546Sopenharmony_ci	<value value="3" name="PERF_PC_STALL_CYCLES_TSE"/>
312bf215546Sopenharmony_ci	<value value="4" name="PERF_PC_STALL_CYCLES_VPC"/>
313bf215546Sopenharmony_ci	<value value="5" name="PERF_PC_STALL_CYCLES_UCHE"/>
314bf215546Sopenharmony_ci	<value value="6" name="PERF_PC_STALL_CYCLES_TESS"/>
315bf215546Sopenharmony_ci	<value value="7" name="PERF_PC_STALL_CYCLES_TSE_ONLY"/>
316bf215546Sopenharmony_ci	<value value="8" name="PERF_PC_STALL_CYCLES_VPC_ONLY"/>
317bf215546Sopenharmony_ci	<value value="9" name="PERF_PC_PASS1_TF_STALL_CYCLES"/>
318bf215546Sopenharmony_ci	<value value="10" name="PERF_PC_STARVE_CYCLES_FOR_INDEX"/>
319bf215546Sopenharmony_ci	<value value="11" name="PERF_PC_STARVE_CYCLES_FOR_TESS_FACTOR"/>
320bf215546Sopenharmony_ci	<value value="12" name="PERF_PC_STARVE_CYCLES_FOR_VIZ_STREAM"/>
321bf215546Sopenharmony_ci	<value value="13" name="PERF_PC_STARVE_CYCLES_FOR_POSITION"/>
322bf215546Sopenharmony_ci	<value value="14" name="PERF_PC_STARVE_CYCLES_DI"/>
323bf215546Sopenharmony_ci	<value value="15" name="PERF_PC_VIS_STREAMS_LOADED"/>
324bf215546Sopenharmony_ci	<value value="16" name="PERF_PC_INSTANCES"/>
325bf215546Sopenharmony_ci	<value value="17" name="PERF_PC_VPC_PRIMITIVES"/>
326bf215546Sopenharmony_ci	<value value="18" name="PERF_PC_DEAD_PRIM"/>
327bf215546Sopenharmony_ci	<value value="19" name="PERF_PC_LIVE_PRIM"/>
328bf215546Sopenharmony_ci	<value value="20" name="PERF_PC_VERTEX_HITS"/>
329bf215546Sopenharmony_ci	<value value="21" name="PERF_PC_IA_VERTICES"/>
330bf215546Sopenharmony_ci	<value value="22" name="PERF_PC_IA_PRIMITIVES"/>
331bf215546Sopenharmony_ci	<value value="23" name="PERF_PC_GS_PRIMITIVES"/>
332bf215546Sopenharmony_ci	<value value="24" name="PERF_PC_HS_INVOCATIONS"/>
333bf215546Sopenharmony_ci	<value value="25" name="PERF_PC_DS_INVOCATIONS"/>
334bf215546Sopenharmony_ci	<value value="26" name="PERF_PC_VS_INVOCATIONS"/>
335bf215546Sopenharmony_ci	<value value="27" name="PERF_PC_GS_INVOCATIONS"/>
336bf215546Sopenharmony_ci	<value value="28" name="PERF_PC_DS_PRIMITIVES"/>
337bf215546Sopenharmony_ci	<value value="29" name="PERF_PC_VPC_POS_DATA_TRANSACTION"/>
338bf215546Sopenharmony_ci	<value value="30" name="PERF_PC_3D_DRAWCALLS"/>
339bf215546Sopenharmony_ci	<value value="31" name="PERF_PC_2D_DRAWCALLS"/>
340bf215546Sopenharmony_ci	<value value="32" name="PERF_PC_NON_DRAWCALL_GLOBAL_EVENTS"/>
341bf215546Sopenharmony_ci	<value value="33" name="PERF_TESS_BUSY_CYCLES"/>
342bf215546Sopenharmony_ci	<value value="34" name="PERF_TESS_WORKING_CYCLES"/>
343bf215546Sopenharmony_ci	<value value="35" name="PERF_TESS_STALL_CYCLES_PC"/>
344bf215546Sopenharmony_ci	<value value="36" name="PERF_TESS_STARVE_CYCLES_PC"/>
345bf215546Sopenharmony_ci</enum>
346bf215546Sopenharmony_ci
347bf215546Sopenharmony_ci<enum name="a5xx_vfd_perfcounter_select">
348bf215546Sopenharmony_ci	<value value="0" name="PERF_VFD_BUSY_CYCLES"/>
349bf215546Sopenharmony_ci	<value value="1" name="PERF_VFD_STALL_CYCLES_UCHE"/>
350bf215546Sopenharmony_ci	<value value="2" name="PERF_VFD_STALL_CYCLES_VPC_ALLOC"/>
351bf215546Sopenharmony_ci	<value value="3" name="PERF_VFD_STALL_CYCLES_MISS_VB"/>
352bf215546Sopenharmony_ci	<value value="4" name="PERF_VFD_STALL_CYCLES_MISS_Q"/>
353bf215546Sopenharmony_ci	<value value="5" name="PERF_VFD_STALL_CYCLES_SP_INFO"/>
354bf215546Sopenharmony_ci	<value value="6" name="PERF_VFD_STALL_CYCLES_SP_ATTR"/>
355bf215546Sopenharmony_ci	<value value="7" name="PERF_VFD_STALL_CYCLES_VFDP_VB"/>
356bf215546Sopenharmony_ci	<value value="8" name="PERF_VFD_STALL_CYCLES_VFDP_Q"/>
357bf215546Sopenharmony_ci	<value value="9" name="PERF_VFD_DECODER_PACKER_STALL"/>
358bf215546Sopenharmony_ci	<value value="10" name="PERF_VFD_STARVE_CYCLES_UCHE"/>
359bf215546Sopenharmony_ci	<value value="11" name="PERF_VFD_RBUFFER_FULL"/>
360bf215546Sopenharmony_ci	<value value="12" name="PERF_VFD_ATTR_INFO_FIFO_FULL"/>
361bf215546Sopenharmony_ci	<value value="13" name="PERF_VFD_DECODED_ATTRIBUTE_BYTES"/>
362bf215546Sopenharmony_ci	<value value="14" name="PERF_VFD_NUM_ATTRIBUTES"/>
363bf215546Sopenharmony_ci	<value value="15" name="PERF_VFD_INSTRUCTIONS"/>
364bf215546Sopenharmony_ci	<value value="16" name="PERF_VFD_UPPER_SHADER_FIBERS"/>
365bf215546Sopenharmony_ci	<value value="17" name="PERF_VFD_LOWER_SHADER_FIBERS"/>
366bf215546Sopenharmony_ci	<value value="18" name="PERF_VFD_MODE_0_FIBERS"/>
367bf215546Sopenharmony_ci	<value value="19" name="PERF_VFD_MODE_1_FIBERS"/>
368bf215546Sopenharmony_ci	<value value="20" name="PERF_VFD_MODE_2_FIBERS"/>
369bf215546Sopenharmony_ci	<value value="21" name="PERF_VFD_MODE_3_FIBERS"/>
370bf215546Sopenharmony_ci	<value value="22" name="PERF_VFD_MODE_4_FIBERS"/>
371bf215546Sopenharmony_ci	<value value="23" name="PERF_VFD_TOTAL_VERTICES"/>
372bf215546Sopenharmony_ci	<value value="24" name="PERF_VFD_NUM_ATTR_MISS"/>
373bf215546Sopenharmony_ci	<value value="25" name="PERF_VFD_1_BURST_REQ"/>
374bf215546Sopenharmony_ci	<value value="26" name="PERF_VFDP_STALL_CYCLES_VFD"/>
375bf215546Sopenharmony_ci	<value value="27" name="PERF_VFDP_STALL_CYCLES_VFD_INDEX"/>
376bf215546Sopenharmony_ci	<value value="28" name="PERF_VFDP_STALL_CYCLES_VFD_PROG"/>
377bf215546Sopenharmony_ci	<value value="29" name="PERF_VFDP_STARVE_CYCLES_PC"/>
378bf215546Sopenharmony_ci	<value value="30" name="PERF_VFDP_VS_STAGE_32_WAVES"/>
379bf215546Sopenharmony_ci</enum>
380bf215546Sopenharmony_ci
381bf215546Sopenharmony_ci<enum name="a5xx_hlsq_perfcounter_select">
382bf215546Sopenharmony_ci	<value value="0" name="PERF_HLSQ_BUSY_CYCLES"/>
383bf215546Sopenharmony_ci	<value value="1" name="PERF_HLSQ_STALL_CYCLES_UCHE"/>
384bf215546Sopenharmony_ci	<value value="2" name="PERF_HLSQ_STALL_CYCLES_SP_STATE"/>
385bf215546Sopenharmony_ci	<value value="3" name="PERF_HLSQ_STALL_CYCLES_SP_FS_STAGE"/>
386bf215546Sopenharmony_ci	<value value="4" name="PERF_HLSQ_UCHE_LATENCY_CYCLES"/>
387bf215546Sopenharmony_ci	<value value="5" name="PERF_HLSQ_UCHE_LATENCY_COUNT"/>
388bf215546Sopenharmony_ci	<value value="6" name="PERF_HLSQ_FS_STAGE_32_WAVES"/>
389bf215546Sopenharmony_ci	<value value="7" name="PERF_HLSQ_FS_STAGE_64_WAVES"/>
390bf215546Sopenharmony_ci	<value value="8" name="PERF_HLSQ_QUADS"/>
391bf215546Sopenharmony_ci	<value value="9" name="PERF_HLSQ_SP_STATE_COPY_TRANS_FS_STAGE"/>
392bf215546Sopenharmony_ci	<value value="10" name="PERF_HLSQ_SP_STATE_COPY_TRANS_VS_STAGE"/>
393bf215546Sopenharmony_ci	<value value="11" name="PERF_HLSQ_TP_STATE_COPY_TRANS_FS_STAGE"/>
394bf215546Sopenharmony_ci	<value value="12" name="PERF_HLSQ_TP_STATE_COPY_TRANS_VS_STAGE"/>
395bf215546Sopenharmony_ci	<value value="13" name="PERF_HLSQ_CS_INVOCATIONS"/>
396bf215546Sopenharmony_ci	<value value="14" name="PERF_HLSQ_COMPUTE_DRAWCALLS"/>
397bf215546Sopenharmony_ci</enum>
398bf215546Sopenharmony_ci
399bf215546Sopenharmony_ci<enum name="a5xx_vpc_perfcounter_select">
400bf215546Sopenharmony_ci	<value value="0" name="PERF_VPC_BUSY_CYCLES"/>
401bf215546Sopenharmony_ci	<value value="1" name="PERF_VPC_WORKING_CYCLES"/>
402bf215546Sopenharmony_ci	<value value="2" name="PERF_VPC_STALL_CYCLES_UCHE"/>
403bf215546Sopenharmony_ci	<value value="3" name="PERF_VPC_STALL_CYCLES_VFD_WACK"/>
404bf215546Sopenharmony_ci	<value value="4" name="PERF_VPC_STALL_CYCLES_HLSQ_PRIM_ALLOC"/>
405bf215546Sopenharmony_ci	<value value="5" name="PERF_VPC_STALL_CYCLES_PC"/>
406bf215546Sopenharmony_ci	<value value="6" name="PERF_VPC_STALL_CYCLES_SP_LM"/>
407bf215546Sopenharmony_ci	<value value="7" name="PERF_VPC_POS_EXPORT_STALL_CYCLES"/>
408bf215546Sopenharmony_ci	<value value="8" name="PERF_VPC_STARVE_CYCLES_SP"/>
409bf215546Sopenharmony_ci	<value value="9" name="PERF_VPC_STARVE_CYCLES_LRZ"/>
410bf215546Sopenharmony_ci	<value value="10" name="PERF_VPC_PC_PRIMITIVES"/>
411bf215546Sopenharmony_ci	<value value="11" name="PERF_VPC_SP_COMPONENTS"/>
412bf215546Sopenharmony_ci	<value value="12" name="PERF_VPC_SP_LM_PRIMITIVES"/>
413bf215546Sopenharmony_ci	<value value="13" name="PERF_VPC_SP_LM_COMPONENTS"/>
414bf215546Sopenharmony_ci	<value value="14" name="PERF_VPC_SP_LM_DWORDS"/>
415bf215546Sopenharmony_ci	<value value="15" name="PERF_VPC_STREAMOUT_COMPONENTS"/>
416bf215546Sopenharmony_ci	<value value="16" name="PERF_VPC_GRANT_PHASES"/>
417bf215546Sopenharmony_ci</enum>
418bf215546Sopenharmony_ci
419bf215546Sopenharmony_ci<enum name="a5xx_tse_perfcounter_select">
420bf215546Sopenharmony_ci	<value value="0" name="PERF_TSE_BUSY_CYCLES"/>
421bf215546Sopenharmony_ci	<value value="1" name="PERF_TSE_CLIPPING_CYCLES"/>
422bf215546Sopenharmony_ci	<value value="2" name="PERF_TSE_STALL_CYCLES_RAS"/>
423bf215546Sopenharmony_ci	<value value="3" name="PERF_TSE_STALL_CYCLES_LRZ_BARYPLANE"/>
424bf215546Sopenharmony_ci	<value value="4" name="PERF_TSE_STALL_CYCLES_LRZ_ZPLANE"/>
425bf215546Sopenharmony_ci	<value value="5" name="PERF_TSE_STARVE_CYCLES_PC"/>
426bf215546Sopenharmony_ci	<value value="6" name="PERF_TSE_INPUT_PRIM"/>
427bf215546Sopenharmony_ci	<value value="7" name="PERF_TSE_INPUT_NULL_PRIM"/>
428bf215546Sopenharmony_ci	<value value="8" name="PERF_TSE_TRIVAL_REJ_PRIM"/>
429bf215546Sopenharmony_ci	<value value="9" name="PERF_TSE_CLIPPED_PRIM"/>
430bf215546Sopenharmony_ci	<value value="10" name="PERF_TSE_ZERO_AREA_PRIM"/>
431bf215546Sopenharmony_ci	<value value="11" name="PERF_TSE_FACENESS_CULLED_PRIM"/>
432bf215546Sopenharmony_ci	<value value="12" name="PERF_TSE_ZERO_PIXEL_PRIM"/>
433bf215546Sopenharmony_ci	<value value="13" name="PERF_TSE_OUTPUT_NULL_PRIM"/>
434bf215546Sopenharmony_ci	<value value="14" name="PERF_TSE_OUTPUT_VISIBLE_PRIM"/>
435bf215546Sopenharmony_ci	<value value="15" name="PERF_TSE_CINVOCATION"/>
436bf215546Sopenharmony_ci	<value value="16" name="PERF_TSE_CPRIMITIVES"/>
437bf215546Sopenharmony_ci	<value value="17" name="PERF_TSE_2D_INPUT_PRIM"/>
438bf215546Sopenharmony_ci	<value value="18" name="PERF_TSE_2D_ALIVE_CLCLES"/>
439bf215546Sopenharmony_ci</enum>
440bf215546Sopenharmony_ci
441bf215546Sopenharmony_ci<enum name="a5xx_ras_perfcounter_select">
442bf215546Sopenharmony_ci	<value value="0" name="PERF_RAS_BUSY_CYCLES"/>
443bf215546Sopenharmony_ci	<value value="1" name="PERF_RAS_SUPERTILE_ACTIVE_CYCLES"/>
444bf215546Sopenharmony_ci	<value value="2" name="PERF_RAS_STALL_CYCLES_LRZ"/>
445bf215546Sopenharmony_ci	<value value="3" name="PERF_RAS_STARVE_CYCLES_TSE"/>
446bf215546Sopenharmony_ci	<value value="4" name="PERF_RAS_SUPER_TILES"/>
447bf215546Sopenharmony_ci	<value value="5" name="PERF_RAS_8X4_TILES"/>
448bf215546Sopenharmony_ci	<value value="6" name="PERF_RAS_MASKGEN_ACTIVE"/>
449bf215546Sopenharmony_ci	<value value="7" name="PERF_RAS_FULLY_COVERED_SUPER_TILES"/>
450bf215546Sopenharmony_ci	<value value="8" name="PERF_RAS_FULLY_COVERED_8X4_TILES"/>
451bf215546Sopenharmony_ci	<value value="9" name="PERF_RAS_PRIM_KILLED_INVISILBE"/>
452bf215546Sopenharmony_ci</enum>
453bf215546Sopenharmony_ci
454bf215546Sopenharmony_ci<enum name="a5xx_lrz_perfcounter_select">
455bf215546Sopenharmony_ci	<value value="0" name="PERF_LRZ_BUSY_CYCLES"/>
456bf215546Sopenharmony_ci	<value value="1" name="PERF_LRZ_STARVE_CYCLES_RAS"/>
457bf215546Sopenharmony_ci	<value value="2" name="PERF_LRZ_STALL_CYCLES_RB"/>
458bf215546Sopenharmony_ci	<value value="3" name="PERF_LRZ_STALL_CYCLES_VSC"/>
459bf215546Sopenharmony_ci	<value value="4" name="PERF_LRZ_STALL_CYCLES_VPC"/>
460bf215546Sopenharmony_ci	<value value="5" name="PERF_LRZ_STALL_CYCLES_FLAG_PREFETCH"/>
461bf215546Sopenharmony_ci	<value value="6" name="PERF_LRZ_STALL_CYCLES_UCHE"/>
462bf215546Sopenharmony_ci	<value value="7" name="PERF_LRZ_LRZ_READ"/>
463bf215546Sopenharmony_ci	<value value="8" name="PERF_LRZ_LRZ_WRITE"/>
464bf215546Sopenharmony_ci	<value value="9" name="PERF_LRZ_READ_LATENCY"/>
465bf215546Sopenharmony_ci	<value value="10" name="PERF_LRZ_MERGE_CACHE_UPDATING"/>
466bf215546Sopenharmony_ci	<value value="11" name="PERF_LRZ_PRIM_KILLED_BY_MASKGEN"/>
467bf215546Sopenharmony_ci	<value value="12" name="PERF_LRZ_PRIM_KILLED_BY_LRZ"/>
468bf215546Sopenharmony_ci	<value value="13" name="PERF_LRZ_VISIBLE_PRIM_AFTER_LRZ"/>
469bf215546Sopenharmony_ci	<value value="14" name="PERF_LRZ_FULL_8X8_TILES"/>
470bf215546Sopenharmony_ci	<value value="15" name="PERF_LRZ_PARTIAL_8X8_TILES"/>
471bf215546Sopenharmony_ci	<value value="16" name="PERF_LRZ_TILE_KILLED"/>
472bf215546Sopenharmony_ci	<value value="17" name="PERF_LRZ_TOTAL_PIXEL"/>
473bf215546Sopenharmony_ci	<value value="18" name="PERF_LRZ_VISIBLE_PIXEL_AFTER_LRZ"/>
474bf215546Sopenharmony_ci</enum>
475bf215546Sopenharmony_ci
476bf215546Sopenharmony_ci<enum name="a5xx_uche_perfcounter_select">
477bf215546Sopenharmony_ci	<value value="0" name="PERF_UCHE_BUSY_CYCLES"/>
478bf215546Sopenharmony_ci	<value value="1" name="PERF_UCHE_STALL_CYCLES_VBIF"/>
479bf215546Sopenharmony_ci	<value value="2" name="PERF_UCHE_VBIF_LATENCY_CYCLES"/>
480bf215546Sopenharmony_ci	<value value="3" name="PERF_UCHE_VBIF_LATENCY_SAMPLES"/>
481bf215546Sopenharmony_ci	<value value="4" name="PERF_UCHE_VBIF_READ_BEATS_TP"/>
482bf215546Sopenharmony_ci	<value value="5" name="PERF_UCHE_VBIF_READ_BEATS_VFD"/>
483bf215546Sopenharmony_ci	<value value="6" name="PERF_UCHE_VBIF_READ_BEATS_HLSQ"/>
484bf215546Sopenharmony_ci	<value value="7" name="PERF_UCHE_VBIF_READ_BEATS_LRZ"/>
485bf215546Sopenharmony_ci	<value value="8" name="PERF_UCHE_VBIF_READ_BEATS_SP"/>
486bf215546Sopenharmony_ci	<value value="9" name="PERF_UCHE_READ_REQUESTS_TP"/>
487bf215546Sopenharmony_ci	<value value="10" name="PERF_UCHE_READ_REQUESTS_VFD"/>
488bf215546Sopenharmony_ci	<value value="11" name="PERF_UCHE_READ_REQUESTS_HLSQ"/>
489bf215546Sopenharmony_ci	<value value="12" name="PERF_UCHE_READ_REQUESTS_LRZ"/>
490bf215546Sopenharmony_ci	<value value="13" name="PERF_UCHE_READ_REQUESTS_SP"/>
491bf215546Sopenharmony_ci	<value value="14" name="PERF_UCHE_WRITE_REQUESTS_LRZ"/>
492bf215546Sopenharmony_ci	<value value="15" name="PERF_UCHE_WRITE_REQUESTS_SP"/>
493bf215546Sopenharmony_ci	<value value="16" name="PERF_UCHE_WRITE_REQUESTS_VPC"/>
494bf215546Sopenharmony_ci	<value value="17" name="PERF_UCHE_WRITE_REQUESTS_VSC"/>
495bf215546Sopenharmony_ci	<value value="18" name="PERF_UCHE_EVICTS"/>
496bf215546Sopenharmony_ci	<value value="19" name="PERF_UCHE_BANK_REQ0"/>
497bf215546Sopenharmony_ci	<value value="20" name="PERF_UCHE_BANK_REQ1"/>
498bf215546Sopenharmony_ci	<value value="21" name="PERF_UCHE_BANK_REQ2"/>
499bf215546Sopenharmony_ci	<value value="22" name="PERF_UCHE_BANK_REQ3"/>
500bf215546Sopenharmony_ci	<value value="23" name="PERF_UCHE_BANK_REQ4"/>
501bf215546Sopenharmony_ci	<value value="24" name="PERF_UCHE_BANK_REQ5"/>
502bf215546Sopenharmony_ci	<value value="25" name="PERF_UCHE_BANK_REQ6"/>
503bf215546Sopenharmony_ci	<value value="26" name="PERF_UCHE_BANK_REQ7"/>
504bf215546Sopenharmony_ci	<value value="27" name="PERF_UCHE_VBIF_READ_BEATS_CH0"/>
505bf215546Sopenharmony_ci	<value value="28" name="PERF_UCHE_VBIF_READ_BEATS_CH1"/>
506bf215546Sopenharmony_ci	<value value="29" name="PERF_UCHE_GMEM_READ_BEATS"/>
507bf215546Sopenharmony_ci	<value value="30" name="PERF_UCHE_FLAG_COUNT"/>
508bf215546Sopenharmony_ci</enum>
509bf215546Sopenharmony_ci
510bf215546Sopenharmony_ci<enum name="a5xx_tp_perfcounter_select">
511bf215546Sopenharmony_ci	<value value="0" name="PERF_TP_BUSY_CYCLES"/>
512bf215546Sopenharmony_ci	<value value="1" name="PERF_TP_STALL_CYCLES_UCHE"/>
513bf215546Sopenharmony_ci	<value value="2" name="PERF_TP_LATENCY_CYCLES"/>
514bf215546Sopenharmony_ci	<value value="3" name="PERF_TP_LATENCY_TRANS"/>
515bf215546Sopenharmony_ci	<value value="4" name="PERF_TP_FLAG_CACHE_REQUEST_SAMPLES"/>
516bf215546Sopenharmony_ci	<value value="5" name="PERF_TP_FLAG_CACHE_REQUEST_LATENCY"/>
517bf215546Sopenharmony_ci	<value value="6" name="PERF_TP_L1_CACHELINE_REQUESTS"/>
518bf215546Sopenharmony_ci	<value value="7" name="PERF_TP_L1_CACHELINE_MISSES"/>
519bf215546Sopenharmony_ci	<value value="8" name="PERF_TP_SP_TP_TRANS"/>
520bf215546Sopenharmony_ci	<value value="9" name="PERF_TP_TP_SP_TRANS"/>
521bf215546Sopenharmony_ci	<value value="10" name="PERF_TP_OUTPUT_PIXELS"/>
522bf215546Sopenharmony_ci	<value value="11" name="PERF_TP_FILTER_WORKLOAD_16BIT"/>
523bf215546Sopenharmony_ci	<value value="12" name="PERF_TP_FILTER_WORKLOAD_32BIT"/>
524bf215546Sopenharmony_ci	<value value="13" name="PERF_TP_QUADS_RECEIVED"/>
525bf215546Sopenharmony_ci	<value value="14" name="PERF_TP_QUADS_OFFSET"/>
526bf215546Sopenharmony_ci	<value value="15" name="PERF_TP_QUADS_SHADOW"/>
527bf215546Sopenharmony_ci	<value value="16" name="PERF_TP_QUADS_ARRAY"/>
528bf215546Sopenharmony_ci	<value value="17" name="PERF_TP_QUADS_GRADIENT"/>
529bf215546Sopenharmony_ci	<value value="18" name="PERF_TP_QUADS_1D"/>
530bf215546Sopenharmony_ci	<value value="19" name="PERF_TP_QUADS_2D"/>
531bf215546Sopenharmony_ci	<value value="20" name="PERF_TP_QUADS_BUFFER"/>
532bf215546Sopenharmony_ci	<value value="21" name="PERF_TP_QUADS_3D"/>
533bf215546Sopenharmony_ci	<value value="22" name="PERF_TP_QUADS_CUBE"/>
534bf215546Sopenharmony_ci	<value value="23" name="PERF_TP_STATE_CACHE_REQUESTS"/>
535bf215546Sopenharmony_ci	<value value="24" name="PERF_TP_STATE_CACHE_MISSES"/>
536bf215546Sopenharmony_ci	<value value="25" name="PERF_TP_DIVERGENT_QUADS_RECEIVED"/>
537bf215546Sopenharmony_ci	<value value="26" name="PERF_TP_BINDLESS_STATE_CACHE_REQUESTS"/>
538bf215546Sopenharmony_ci	<value value="27" name="PERF_TP_BINDLESS_STATE_CACHE_MISSES"/>
539bf215546Sopenharmony_ci	<value value="28" name="PERF_TP_PRT_NON_RESIDENT_EVENTS"/>
540bf215546Sopenharmony_ci	<value value="29" name="PERF_TP_OUTPUT_PIXELS_POINT"/>
541bf215546Sopenharmony_ci	<value value="30" name="PERF_TP_OUTPUT_PIXELS_BILINEAR"/>
542bf215546Sopenharmony_ci	<value value="31" name="PERF_TP_OUTPUT_PIXELS_MIP"/>
543bf215546Sopenharmony_ci	<value value="32" name="PERF_TP_OUTPUT_PIXELS_ANISO"/>
544bf215546Sopenharmony_ci	<value value="33" name="PERF_TP_OUTPUT_PIXELS_ZERO_LOD"/>
545bf215546Sopenharmony_ci	<value value="34" name="PERF_TP_FLAG_CACHE_REQUESTS"/>
546bf215546Sopenharmony_ci	<value value="35" name="PERF_TP_FLAG_CACHE_MISSES"/>
547bf215546Sopenharmony_ci	<value value="36" name="PERF_TP_L1_5_L2_REQUESTS"/>
548bf215546Sopenharmony_ci	<value value="37" name="PERF_TP_2D_OUTPUT_PIXELS"/>
549bf215546Sopenharmony_ci	<value value="38" name="PERF_TP_2D_OUTPUT_PIXELS_POINT"/>
550bf215546Sopenharmony_ci	<value value="39" name="PERF_TP_2D_OUTPUT_PIXELS_BILINEAR"/>
551bf215546Sopenharmony_ci	<value value="40" name="PERF_TP_2D_FILTER_WORKLOAD_16BIT"/>
552bf215546Sopenharmony_ci	<value value="41" name="PERF_TP_2D_FILTER_WORKLOAD_32BIT"/>
553bf215546Sopenharmony_ci</enum>
554bf215546Sopenharmony_ci
555bf215546Sopenharmony_ci<enum name="a5xx_sp_perfcounter_select">
556bf215546Sopenharmony_ci	<value value="0" name="PERF_SP_BUSY_CYCLES"/>
557bf215546Sopenharmony_ci	<value value="1" name="PERF_SP_ALU_WORKING_CYCLES"/>
558bf215546Sopenharmony_ci	<value value="2" name="PERF_SP_EFU_WORKING_CYCLES"/>
559bf215546Sopenharmony_ci	<value value="3" name="PERF_SP_STALL_CYCLES_VPC"/>
560bf215546Sopenharmony_ci	<value value="4" name="PERF_SP_STALL_CYCLES_TP"/>
561bf215546Sopenharmony_ci	<value value="5" name="PERF_SP_STALL_CYCLES_UCHE"/>
562bf215546Sopenharmony_ci	<value value="6" name="PERF_SP_STALL_CYCLES_RB"/>
563bf215546Sopenharmony_ci	<value value="7" name="PERF_SP_SCHEDULER_NON_WORKING"/>
564bf215546Sopenharmony_ci	<value value="8" name="PERF_SP_WAVE_CONTEXTS"/>
565bf215546Sopenharmony_ci	<value value="9" name="PERF_SP_WAVE_CONTEXT_CYCLES"/>
566bf215546Sopenharmony_ci	<value value="10" name="PERF_SP_FS_STAGE_WAVE_CYCLES"/>
567bf215546Sopenharmony_ci	<value value="11" name="PERF_SP_FS_STAGE_WAVE_SAMPLES"/>
568bf215546Sopenharmony_ci	<value value="12" name="PERF_SP_VS_STAGE_WAVE_CYCLES"/>
569bf215546Sopenharmony_ci	<value value="13" name="PERF_SP_VS_STAGE_WAVE_SAMPLES"/>
570bf215546Sopenharmony_ci	<value value="14" name="PERF_SP_FS_STAGE_DURATION_CYCLES"/>
571bf215546Sopenharmony_ci	<value value="15" name="PERF_SP_VS_STAGE_DURATION_CYCLES"/>
572bf215546Sopenharmony_ci	<value value="16" name="PERF_SP_WAVE_CTRL_CYCLES"/>
573bf215546Sopenharmony_ci	<value value="17" name="PERF_SP_WAVE_LOAD_CYCLES"/>
574bf215546Sopenharmony_ci	<value value="18" name="PERF_SP_WAVE_EMIT_CYCLES"/>
575bf215546Sopenharmony_ci	<value value="19" name="PERF_SP_WAVE_NOP_CYCLES"/>
576bf215546Sopenharmony_ci	<value value="20" name="PERF_SP_WAVE_WAIT_CYCLES"/>
577bf215546Sopenharmony_ci	<value value="21" name="PERF_SP_WAVE_FETCH_CYCLES"/>
578bf215546Sopenharmony_ci	<value value="22" name="PERF_SP_WAVE_IDLE_CYCLES"/>
579bf215546Sopenharmony_ci	<value value="23" name="PERF_SP_WAVE_END_CYCLES"/>
580bf215546Sopenharmony_ci	<value value="24" name="PERF_SP_WAVE_LONG_SYNC_CYCLES"/>
581bf215546Sopenharmony_ci	<value value="25" name="PERF_SP_WAVE_SHORT_SYNC_CYCLES"/>
582bf215546Sopenharmony_ci	<value value="26" name="PERF_SP_WAVE_JOIN_CYCLES"/>
583bf215546Sopenharmony_ci	<value value="27" name="PERF_SP_LM_LOAD_INSTRUCTIONS"/>
584bf215546Sopenharmony_ci	<value value="28" name="PERF_SP_LM_STORE_INSTRUCTIONS"/>
585bf215546Sopenharmony_ci	<value value="29" name="PERF_SP_LM_ATOMICS"/>
586bf215546Sopenharmony_ci	<value value="30" name="PERF_SP_GM_LOAD_INSTRUCTIONS"/>
587bf215546Sopenharmony_ci	<value value="31" name="PERF_SP_GM_STORE_INSTRUCTIONS"/>
588bf215546Sopenharmony_ci	<value value="32" name="PERF_SP_GM_ATOMICS"/>
589bf215546Sopenharmony_ci	<value value="33" name="PERF_SP_VS_STAGE_TEX_INSTRUCTIONS"/>
590bf215546Sopenharmony_ci	<value value="34" name="PERF_SP_VS_STAGE_CFLOW_INSTRUCTIONS"/>
591bf215546Sopenharmony_ci	<value value="35" name="PERF_SP_VS_STAGE_EFU_INSTRUCTIONS"/>
592bf215546Sopenharmony_ci	<value value="36" name="PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS"/>
593bf215546Sopenharmony_ci	<value value="37" name="PERF_SP_VS_STAGE_HALF_ALU_INSTRUCTIONS"/>
594bf215546Sopenharmony_ci	<value value="38" name="PERF_SP_FS_STAGE_TEX_INSTRUCTIONS"/>
595bf215546Sopenharmony_ci	<value value="39" name="PERF_SP_FS_STAGE_CFLOW_INSTRUCTIONS"/>
596bf215546Sopenharmony_ci	<value value="40" name="PERF_SP_FS_STAGE_EFU_INSTRUCTIONS"/>
597bf215546Sopenharmony_ci	<value value="41" name="PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS"/>
598bf215546Sopenharmony_ci	<value value="42" name="PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS"/>
599bf215546Sopenharmony_ci	<value value="43" name="PERF_SP_FS_STAGE_BARY_INSTRUCTIONS"/>
600bf215546Sopenharmony_ci	<value value="44" name="PERF_SP_VS_INSTRUCTIONS"/>
601bf215546Sopenharmony_ci	<value value="45" name="PERF_SP_FS_INSTRUCTIONS"/>
602bf215546Sopenharmony_ci	<value value="46" name="PERF_SP_ADDR_LOCK_COUNT"/>
603bf215546Sopenharmony_ci	<value value="47" name="PERF_SP_UCHE_READ_TRANS"/>
604bf215546Sopenharmony_ci	<value value="48" name="PERF_SP_UCHE_WRITE_TRANS"/>
605bf215546Sopenharmony_ci	<value value="49" name="PERF_SP_EXPORT_VPC_TRANS"/>
606bf215546Sopenharmony_ci	<value value="50" name="PERF_SP_EXPORT_RB_TRANS"/>
607bf215546Sopenharmony_ci	<value value="51" name="PERF_SP_PIXELS_KILLED"/>
608bf215546Sopenharmony_ci	<value value="52" name="PERF_SP_ICL1_REQUESTS"/>
609bf215546Sopenharmony_ci	<value value="53" name="PERF_SP_ICL1_MISSES"/>
610bf215546Sopenharmony_ci	<value value="54" name="PERF_SP_ICL0_REQUESTS"/>
611bf215546Sopenharmony_ci	<value value="55" name="PERF_SP_ICL0_MISSES"/>
612bf215546Sopenharmony_ci	<value value="56" name="PERF_SP_HS_INSTRUCTIONS"/>
613bf215546Sopenharmony_ci	<value value="57" name="PERF_SP_DS_INSTRUCTIONS"/>
614bf215546Sopenharmony_ci	<value value="58" name="PERF_SP_GS_INSTRUCTIONS"/>
615bf215546Sopenharmony_ci	<value value="59" name="PERF_SP_CS_INSTRUCTIONS"/>
616bf215546Sopenharmony_ci	<value value="60" name="PERF_SP_GPR_READ"/>
617bf215546Sopenharmony_ci	<value value="61" name="PERF_SP_GPR_WRITE"/>
618bf215546Sopenharmony_ci	<value value="62" name="PERF_SP_LM_CH0_REQUESTS"/>
619bf215546Sopenharmony_ci	<value value="63" name="PERF_SP_LM_CH1_REQUESTS"/>
620bf215546Sopenharmony_ci	<value value="64" name="PERF_SP_LM_BANK_CONFLICTS"/>
621bf215546Sopenharmony_ci</enum>
622bf215546Sopenharmony_ci
623bf215546Sopenharmony_ci<enum name="a5xx_rb_perfcounter_select">
624bf215546Sopenharmony_ci	<value value="0" name="PERF_RB_BUSY_CYCLES"/>
625bf215546Sopenharmony_ci	<value value="1" name="PERF_RB_STALL_CYCLES_CCU"/>
626bf215546Sopenharmony_ci	<value value="2" name="PERF_RB_STALL_CYCLES_HLSQ"/>
627bf215546Sopenharmony_ci	<value value="3" name="PERF_RB_STALL_CYCLES_FIFO0_FULL"/>
628bf215546Sopenharmony_ci	<value value="4" name="PERF_RB_STALL_CYCLES_FIFO1_FULL"/>
629bf215546Sopenharmony_ci	<value value="5" name="PERF_RB_STALL_CYCLES_FIFO2_FULL"/>
630bf215546Sopenharmony_ci	<value value="6" name="PERF_RB_STARVE_CYCLES_SP"/>
631bf215546Sopenharmony_ci	<value value="7" name="PERF_RB_STARVE_CYCLES_LRZ_TILE"/>
632bf215546Sopenharmony_ci	<value value="8" name="PERF_RB_STARVE_CYCLES_CCU"/>
633bf215546Sopenharmony_ci	<value value="9" name="PERF_RB_STARVE_CYCLES_Z_PLANE"/>
634bf215546Sopenharmony_ci	<value value="10" name="PERF_RB_STARVE_CYCLES_BARY_PLANE"/>
635bf215546Sopenharmony_ci	<value value="11" name="PERF_RB_Z_WORKLOAD"/>
636bf215546Sopenharmony_ci	<value value="12" name="PERF_RB_HLSQ_ACTIVE"/>
637bf215546Sopenharmony_ci	<value value="13" name="PERF_RB_Z_READ"/>
638bf215546Sopenharmony_ci	<value value="14" name="PERF_RB_Z_WRITE"/>
639bf215546Sopenharmony_ci	<value value="15" name="PERF_RB_C_READ"/>
640bf215546Sopenharmony_ci	<value value="16" name="PERF_RB_C_WRITE"/>
641bf215546Sopenharmony_ci	<value value="17" name="PERF_RB_TOTAL_PASS"/>
642bf215546Sopenharmony_ci	<value value="18" name="PERF_RB_Z_PASS"/>
643bf215546Sopenharmony_ci	<value value="19" name="PERF_RB_Z_FAIL"/>
644bf215546Sopenharmony_ci	<value value="20" name="PERF_RB_S_FAIL"/>
645bf215546Sopenharmony_ci	<value value="21" name="PERF_RB_BLENDED_FXP_COMPONENTS"/>
646bf215546Sopenharmony_ci	<value value="22" name="PERF_RB_BLENDED_FP16_COMPONENTS"/>
647bf215546Sopenharmony_ci	<value value="23" name="RB_RESERVED"/>
648bf215546Sopenharmony_ci	<value value="24" name="PERF_RB_2D_ALIVE_CYCLES"/>
649bf215546Sopenharmony_ci	<value value="25" name="PERF_RB_2D_STALL_CYCLES_A2D"/>
650bf215546Sopenharmony_ci	<value value="26" name="PERF_RB_2D_STARVE_CYCLES_SRC"/>
651bf215546Sopenharmony_ci	<value value="27" name="PERF_RB_2D_STARVE_CYCLES_SP"/>
652bf215546Sopenharmony_ci	<value value="28" name="PERF_RB_2D_STARVE_CYCLES_DST"/>
653bf215546Sopenharmony_ci	<value value="29" name="PERF_RB_2D_VALID_PIXELS"/>
654bf215546Sopenharmony_ci</enum>
655bf215546Sopenharmony_ci
656bf215546Sopenharmony_ci<enum name="a5xx_rb_samples_perfcounter_select">
657bf215546Sopenharmony_ci	<value value="0" name="TOTAL_SAMPLES"/>
658bf215546Sopenharmony_ci	<value value="1" name="ZPASS_SAMPLES"/>
659bf215546Sopenharmony_ci	<value value="2" name="ZFAIL_SAMPLES"/>
660bf215546Sopenharmony_ci	<value value="3" name="SFAIL_SAMPLES"/>
661bf215546Sopenharmony_ci</enum>
662bf215546Sopenharmony_ci
663bf215546Sopenharmony_ci<enum name="a5xx_vsc_perfcounter_select">
664bf215546Sopenharmony_ci	<value value="0" name="PERF_VSC_BUSY_CYCLES"/>
665bf215546Sopenharmony_ci	<value value="1" name="PERF_VSC_WORKING_CYCLES"/>
666bf215546Sopenharmony_ci	<value value="2" name="PERF_VSC_STALL_CYCLES_UCHE"/>
667bf215546Sopenharmony_ci	<value value="3" name="PERF_VSC_EOT_NUM"/>
668bf215546Sopenharmony_ci</enum>
669bf215546Sopenharmony_ci
670bf215546Sopenharmony_ci<enum name="a5xx_ccu_perfcounter_select">
671bf215546Sopenharmony_ci	<value value="0" name="PERF_CCU_BUSY_CYCLES"/>
672bf215546Sopenharmony_ci	<value value="1" name="PERF_CCU_STALL_CYCLES_RB_DEPTH_RETURN"/>
673bf215546Sopenharmony_ci	<value value="2" name="PERF_CCU_STALL_CYCLES_RB_COLOR_RETURN"/>
674bf215546Sopenharmony_ci	<value value="3" name="PERF_CCU_STARVE_CYCLES_FLAG_RETURN"/>
675bf215546Sopenharmony_ci	<value value="4" name="PERF_CCU_DEPTH_BLOCKS"/>
676bf215546Sopenharmony_ci	<value value="5" name="PERF_CCU_COLOR_BLOCKS"/>
677bf215546Sopenharmony_ci	<value value="6" name="PERF_CCU_DEPTH_BLOCK_HIT"/>
678bf215546Sopenharmony_ci	<value value="7" name="PERF_CCU_COLOR_BLOCK_HIT"/>
679bf215546Sopenharmony_ci	<value value="8" name="PERF_CCU_PARTIAL_BLOCK_READ"/>
680bf215546Sopenharmony_ci	<value value="9" name="PERF_CCU_GMEM_READ"/>
681bf215546Sopenharmony_ci	<value value="10" name="PERF_CCU_GMEM_WRITE"/>
682bf215546Sopenharmony_ci	<value value="11" name="PERF_CCU_DEPTH_READ_FLAG0_COUNT"/>
683bf215546Sopenharmony_ci	<value value="12" name="PERF_CCU_DEPTH_READ_FLAG1_COUNT"/>
684bf215546Sopenharmony_ci	<value value="13" name="PERF_CCU_DEPTH_READ_FLAG2_COUNT"/>
685bf215546Sopenharmony_ci	<value value="14" name="PERF_CCU_DEPTH_READ_FLAG3_COUNT"/>
686bf215546Sopenharmony_ci	<value value="15" name="PERF_CCU_DEPTH_READ_FLAG4_COUNT"/>
687bf215546Sopenharmony_ci	<value value="16" name="PERF_CCU_COLOR_READ_FLAG0_COUNT"/>
688bf215546Sopenharmony_ci	<value value="17" name="PERF_CCU_COLOR_READ_FLAG1_COUNT"/>
689bf215546Sopenharmony_ci	<value value="18" name="PERF_CCU_COLOR_READ_FLAG2_COUNT"/>
690bf215546Sopenharmony_ci	<value value="19" name="PERF_CCU_COLOR_READ_FLAG3_COUNT"/>
691bf215546Sopenharmony_ci	<value value="20" name="PERF_CCU_COLOR_READ_FLAG4_COUNT"/>
692bf215546Sopenharmony_ci	<value value="21" name="PERF_CCU_2D_BUSY_CYCLES"/>
693bf215546Sopenharmony_ci	<value value="22" name="PERF_CCU_2D_RD_REQ"/>
694bf215546Sopenharmony_ci	<value value="23" name="PERF_CCU_2D_WR_REQ"/>
695bf215546Sopenharmony_ci	<value value="24" name="PERF_CCU_2D_REORDER_STARVE_CYCLES"/>
696bf215546Sopenharmony_ci	<value value="25" name="PERF_CCU_2D_PIXELS"/>
697bf215546Sopenharmony_ci</enum>
698bf215546Sopenharmony_ci
699bf215546Sopenharmony_ci<enum name="a5xx_cmp_perfcounter_select">
700bf215546Sopenharmony_ci	<value value="0" name="PERF_CMPDECMP_STALL_CYCLES_VBIF"/>
701bf215546Sopenharmony_ci	<value value="1" name="PERF_CMPDECMP_VBIF_LATENCY_CYCLES"/>
702bf215546Sopenharmony_ci	<value value="2" name="PERF_CMPDECMP_VBIF_LATENCY_SAMPLES"/>
703bf215546Sopenharmony_ci	<value value="3" name="PERF_CMPDECMP_VBIF_READ_DATA_CCU"/>
704bf215546Sopenharmony_ci	<value value="4" name="PERF_CMPDECMP_VBIF_WRITE_DATA_CCU"/>
705bf215546Sopenharmony_ci	<value value="5" name="PERF_CMPDECMP_VBIF_READ_REQUEST"/>
706bf215546Sopenharmony_ci	<value value="6" name="PERF_CMPDECMP_VBIF_WRITE_REQUEST"/>
707bf215546Sopenharmony_ci	<value value="7" name="PERF_CMPDECMP_VBIF_READ_DATA"/>
708bf215546Sopenharmony_ci	<value value="8" name="PERF_CMPDECMP_VBIF_WRITE_DATA"/>
709bf215546Sopenharmony_ci	<value value="9" name="PERF_CMPDECMP_FLAG_FETCH_CYCLES"/>
710bf215546Sopenharmony_ci	<value value="10" name="PERF_CMPDECMP_FLAG_FETCH_SAMPLES"/>
711bf215546Sopenharmony_ci	<value value="11" name="PERF_CMPDECMP_DEPTH_WRITE_FLAG1_COUNT"/>
712bf215546Sopenharmony_ci	<value value="12" name="PERF_CMPDECMP_DEPTH_WRITE_FLAG2_COUNT"/>
713bf215546Sopenharmony_ci	<value value="13" name="PERF_CMPDECMP_DEPTH_WRITE_FLAG3_COUNT"/>
714bf215546Sopenharmony_ci	<value value="14" name="PERF_CMPDECMP_DEPTH_WRITE_FLAG4_COUNT"/>
715bf215546Sopenharmony_ci	<value value="15" name="PERF_CMPDECMP_COLOR_WRITE_FLAG1_COUNT"/>
716bf215546Sopenharmony_ci	<value value="16" name="PERF_CMPDECMP_COLOR_WRITE_FLAG2_COUNT"/>
717bf215546Sopenharmony_ci	<value value="17" name="PERF_CMPDECMP_COLOR_WRITE_FLAG3_COUNT"/>
718bf215546Sopenharmony_ci	<value value="18" name="PERF_CMPDECMP_COLOR_WRITE_FLAG4_COUNT"/>
719bf215546Sopenharmony_ci	<value value="19" name="PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_REQ"/>
720bf215546Sopenharmony_ci	<value value="20" name="PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_WR"/>
721bf215546Sopenharmony_ci	<value value="21" name="PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_RETURN"/>
722bf215546Sopenharmony_ci	<value value="22" name="PERF_CMPDECMP_2D_RD_DATA"/>
723bf215546Sopenharmony_ci	<value value="23" name="PERF_CMPDECMP_2D_WR_DATA"/>
724bf215546Sopenharmony_ci</enum>
725bf215546Sopenharmony_ci
726bf215546Sopenharmony_ci<enum name="a5xx_vbif_perfcounter_select">
727bf215546Sopenharmony_ci	<value value="0" name="AXI_READ_REQUESTS_ID_0"/>
728bf215546Sopenharmony_ci	<value value="1" name="AXI_READ_REQUESTS_ID_1"/>
729bf215546Sopenharmony_ci	<value value="2" name="AXI_READ_REQUESTS_ID_2"/>
730bf215546Sopenharmony_ci	<value value="3" name="AXI_READ_REQUESTS_ID_3"/>
731bf215546Sopenharmony_ci	<value value="4" name="AXI_READ_REQUESTS_ID_4"/>
732bf215546Sopenharmony_ci	<value value="5" name="AXI_READ_REQUESTS_ID_5"/>
733bf215546Sopenharmony_ci	<value value="6" name="AXI_READ_REQUESTS_ID_6"/>
734bf215546Sopenharmony_ci	<value value="7" name="AXI_READ_REQUESTS_ID_7"/>
735bf215546Sopenharmony_ci	<value value="8" name="AXI_READ_REQUESTS_ID_8"/>
736bf215546Sopenharmony_ci	<value value="9" name="AXI_READ_REQUESTS_ID_9"/>
737bf215546Sopenharmony_ci	<value value="10" name="AXI_READ_REQUESTS_ID_10"/>
738bf215546Sopenharmony_ci	<value value="11" name="AXI_READ_REQUESTS_ID_11"/>
739bf215546Sopenharmony_ci	<value value="12" name="AXI_READ_REQUESTS_ID_12"/>
740bf215546Sopenharmony_ci	<value value="13" name="AXI_READ_REQUESTS_ID_13"/>
741bf215546Sopenharmony_ci	<value value="14" name="AXI_READ_REQUESTS_ID_14"/>
742bf215546Sopenharmony_ci	<value value="15" name="AXI_READ_REQUESTS_ID_15"/>
743bf215546Sopenharmony_ci	<value value="16" name="AXI0_READ_REQUESTS_TOTAL"/>
744bf215546Sopenharmony_ci	<value value="17" name="AXI1_READ_REQUESTS_TOTAL"/>
745bf215546Sopenharmony_ci	<value value="18" name="AXI2_READ_REQUESTS_TOTAL"/>
746bf215546Sopenharmony_ci	<value value="19" name="AXI3_READ_REQUESTS_TOTAL"/>
747bf215546Sopenharmony_ci	<value value="20" name="AXI_READ_REQUESTS_TOTAL"/>
748bf215546Sopenharmony_ci	<value value="21" name="AXI_WRITE_REQUESTS_ID_0"/>
749bf215546Sopenharmony_ci	<value value="22" name="AXI_WRITE_REQUESTS_ID_1"/>
750bf215546Sopenharmony_ci	<value value="23" name="AXI_WRITE_REQUESTS_ID_2"/>
751bf215546Sopenharmony_ci	<value value="24" name="AXI_WRITE_REQUESTS_ID_3"/>
752bf215546Sopenharmony_ci	<value value="25" name="AXI_WRITE_REQUESTS_ID_4"/>
753bf215546Sopenharmony_ci	<value value="26" name="AXI_WRITE_REQUESTS_ID_5"/>
754bf215546Sopenharmony_ci	<value value="27" name="AXI_WRITE_REQUESTS_ID_6"/>
755bf215546Sopenharmony_ci	<value value="28" name="AXI_WRITE_REQUESTS_ID_7"/>
756bf215546Sopenharmony_ci	<value value="29" name="AXI_WRITE_REQUESTS_ID_8"/>
757bf215546Sopenharmony_ci	<value value="30" name="AXI_WRITE_REQUESTS_ID_9"/>
758bf215546Sopenharmony_ci	<value value="31" name="AXI_WRITE_REQUESTS_ID_10"/>
759bf215546Sopenharmony_ci	<value value="32" name="AXI_WRITE_REQUESTS_ID_11"/>
760bf215546Sopenharmony_ci	<value value="33" name="AXI_WRITE_REQUESTS_ID_12"/>
761bf215546Sopenharmony_ci	<value value="34" name="AXI_WRITE_REQUESTS_ID_13"/>
762bf215546Sopenharmony_ci	<value value="35" name="AXI_WRITE_REQUESTS_ID_14"/>
763bf215546Sopenharmony_ci	<value value="36" name="AXI_WRITE_REQUESTS_ID_15"/>
764bf215546Sopenharmony_ci	<value value="37" name="AXI0_WRITE_REQUESTS_TOTAL"/>
765bf215546Sopenharmony_ci	<value value="38" name="AXI1_WRITE_REQUESTS_TOTAL"/>
766bf215546Sopenharmony_ci	<value value="39" name="AXI2_WRITE_REQUESTS_TOTAL"/>
767bf215546Sopenharmony_ci	<value value="40" name="AXI3_WRITE_REQUESTS_TOTAL"/>
768bf215546Sopenharmony_ci	<value value="41" name="AXI_WRITE_REQUESTS_TOTAL"/>
769bf215546Sopenharmony_ci	<value value="42" name="AXI_TOTAL_REQUESTS"/>
770bf215546Sopenharmony_ci	<value value="43" name="AXI_READ_DATA_BEATS_ID_0"/>
771bf215546Sopenharmony_ci	<value value="44" name="AXI_READ_DATA_BEATS_ID_1"/>
772bf215546Sopenharmony_ci	<value value="45" name="AXI_READ_DATA_BEATS_ID_2"/>
773bf215546Sopenharmony_ci	<value value="46" name="AXI_READ_DATA_BEATS_ID_3"/>
774bf215546Sopenharmony_ci	<value value="47" name="AXI_READ_DATA_BEATS_ID_4"/>
775bf215546Sopenharmony_ci	<value value="48" name="AXI_READ_DATA_BEATS_ID_5"/>
776bf215546Sopenharmony_ci	<value value="49" name="AXI_READ_DATA_BEATS_ID_6"/>
777bf215546Sopenharmony_ci	<value value="50" name="AXI_READ_DATA_BEATS_ID_7"/>
778bf215546Sopenharmony_ci	<value value="51" name="AXI_READ_DATA_BEATS_ID_8"/>
779bf215546Sopenharmony_ci	<value value="52" name="AXI_READ_DATA_BEATS_ID_9"/>
780bf215546Sopenharmony_ci	<value value="53" name="AXI_READ_DATA_BEATS_ID_10"/>
781bf215546Sopenharmony_ci	<value value="54" name="AXI_READ_DATA_BEATS_ID_11"/>
782bf215546Sopenharmony_ci	<value value="55" name="AXI_READ_DATA_BEATS_ID_12"/>
783bf215546Sopenharmony_ci	<value value="56" name="AXI_READ_DATA_BEATS_ID_13"/>
784bf215546Sopenharmony_ci	<value value="57" name="AXI_READ_DATA_BEATS_ID_14"/>
785bf215546Sopenharmony_ci	<value value="58" name="AXI_READ_DATA_BEATS_ID_15"/>
786bf215546Sopenharmony_ci	<value value="59" name="AXI0_READ_DATA_BEATS_TOTAL"/>
787bf215546Sopenharmony_ci	<value value="60" name="AXI1_READ_DATA_BEATS_TOTAL"/>
788bf215546Sopenharmony_ci	<value value="61" name="AXI2_READ_DATA_BEATS_TOTAL"/>
789bf215546Sopenharmony_ci	<value value="62" name="AXI3_READ_DATA_BEATS_TOTAL"/>
790bf215546Sopenharmony_ci	<value value="63" name="AXI_READ_DATA_BEATS_TOTAL"/>
791bf215546Sopenharmony_ci	<value value="64" name="AXI_WRITE_DATA_BEATS_ID_0"/>
792bf215546Sopenharmony_ci	<value value="65" name="AXI_WRITE_DATA_BEATS_ID_1"/>
793bf215546Sopenharmony_ci	<value value="66" name="AXI_WRITE_DATA_BEATS_ID_2"/>
794bf215546Sopenharmony_ci	<value value="67" name="AXI_WRITE_DATA_BEATS_ID_3"/>
795bf215546Sopenharmony_ci	<value value="68" name="AXI_WRITE_DATA_BEATS_ID_4"/>
796bf215546Sopenharmony_ci	<value value="69" name="AXI_WRITE_DATA_BEATS_ID_5"/>
797bf215546Sopenharmony_ci	<value value="70" name="AXI_WRITE_DATA_BEATS_ID_6"/>
798bf215546Sopenharmony_ci	<value value="71" name="AXI_WRITE_DATA_BEATS_ID_7"/>
799bf215546Sopenharmony_ci	<value value="72" name="AXI_WRITE_DATA_BEATS_ID_8"/>
800bf215546Sopenharmony_ci	<value value="73" name="AXI_WRITE_DATA_BEATS_ID_9"/>
801bf215546Sopenharmony_ci	<value value="74" name="AXI_WRITE_DATA_BEATS_ID_10"/>
802bf215546Sopenharmony_ci	<value value="75" name="AXI_WRITE_DATA_BEATS_ID_11"/>
803bf215546Sopenharmony_ci	<value value="76" name="AXI_WRITE_DATA_BEATS_ID_12"/>
804bf215546Sopenharmony_ci	<value value="77" name="AXI_WRITE_DATA_BEATS_ID_13"/>
805bf215546Sopenharmony_ci	<value value="78" name="AXI_WRITE_DATA_BEATS_ID_14"/>
806bf215546Sopenharmony_ci	<value value="79" name="AXI_WRITE_DATA_BEATS_ID_15"/>
807bf215546Sopenharmony_ci	<value value="80" name="AXI0_WRITE_DATA_BEATS_TOTAL"/>
808bf215546Sopenharmony_ci	<value value="81" name="AXI1_WRITE_DATA_BEATS_TOTAL"/>
809bf215546Sopenharmony_ci	<value value="82" name="AXI2_WRITE_DATA_BEATS_TOTAL"/>
810bf215546Sopenharmony_ci	<value value="83" name="AXI3_WRITE_DATA_BEATS_TOTAL"/>
811bf215546Sopenharmony_ci	<value value="84" name="AXI_WRITE_DATA_BEATS_TOTAL"/>
812bf215546Sopenharmony_ci	<value value="85" name="AXI_DATA_BEATS_TOTAL"/>
813bf215546Sopenharmony_ci</enum>
814bf215546Sopenharmony_ci
815bf215546Sopenharmony_ci<domain name="A5XX" width="32">
816bf215546Sopenharmony_ci	<bitset name="A5XX_INT0">
817bf215546Sopenharmony_ci		<bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/>
818bf215546Sopenharmony_ci		<bitfield name="RBBM_AHB_ERROR" pos="1" type="boolean"/>
819bf215546Sopenharmony_ci		<bitfield name="RBBM_TRANSFER_TIMEOUT" pos="2" type="boolean"/>
820bf215546Sopenharmony_ci		<bitfield name="RBBM_ME_MS_TIMEOUT" pos="3" type="boolean"/>
821bf215546Sopenharmony_ci		<bitfield name="RBBM_PFP_MS_TIMEOUT" pos="4" type="boolean"/>
822bf215546Sopenharmony_ci		<bitfield name="RBBM_ETS_MS_TIMEOUT" pos="5" type="boolean"/>
823bf215546Sopenharmony_ci		<bitfield name="RBBM_ATB_ASYNC_OVERFLOW" pos="6" type="boolean"/>
824bf215546Sopenharmony_ci		<bitfield name="RBBM_GPC_ERROR" pos="7" type="boolean"/>
825bf215546Sopenharmony_ci		<bitfield name="CP_SW" pos="8" type="boolean"/>
826bf215546Sopenharmony_ci		<bitfield name="CP_HW_ERROR" pos="9" type="boolean"/>
827bf215546Sopenharmony_ci		<bitfield name="CP_CCU_FLUSH_DEPTH_TS" pos="10" type="boolean"/>
828bf215546Sopenharmony_ci		<bitfield name="CP_CCU_FLUSH_COLOR_TS" pos="11" type="boolean"/>
829bf215546Sopenharmony_ci		<bitfield name="CP_CCU_RESOLVE_TS" pos="12" type="boolean"/>
830bf215546Sopenharmony_ci		<bitfield name="CP_IB2" pos="13" type="boolean"/>
831bf215546Sopenharmony_ci		<bitfield name="CP_IB1" pos="14" type="boolean"/>
832bf215546Sopenharmony_ci		<bitfield name="CP_RB" pos="15" type="boolean"/>
833bf215546Sopenharmony_ci		<bitfield name="CP_UNUSED_1" pos="16" type="boolean"/>
834bf215546Sopenharmony_ci		<bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/>
835bf215546Sopenharmony_ci		<bitfield name="CP_WT_DONE_TS" pos="18" type="boolean"/>
836bf215546Sopenharmony_ci		<bitfield name="UNKNOWN_1" pos="19" type="boolean"/>
837bf215546Sopenharmony_ci		<bitfield name="CP_CACHE_FLUSH_TS" pos="20" type="boolean"/>
838bf215546Sopenharmony_ci		<bitfield name="UNUSED_2" pos="21" type="boolean"/>
839bf215546Sopenharmony_ci		<bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="22" type="boolean"/>
840bf215546Sopenharmony_ci		<bitfield name="MISC_HANG_DETECT" pos="23" type="boolean"/>
841bf215546Sopenharmony_ci		<bitfield name="UCHE_OOB_ACCESS" pos="24" type="boolean"/>
842bf215546Sopenharmony_ci		<bitfield name="UCHE_TRAP_INTR" pos="25" type="boolean"/>
843bf215546Sopenharmony_ci		<bitfield name="DEBBUS_INTR_0" pos="26" type="boolean"/>
844bf215546Sopenharmony_ci		<bitfield name="DEBBUS_INTR_1" pos="27" type="boolean"/>
845bf215546Sopenharmony_ci		<bitfield name="GPMU_VOLTAGE_DROOP" pos="28" type="boolean"/>
846bf215546Sopenharmony_ci		<bitfield name="GPMU_FIRMWARE" pos="29" type="boolean"/>
847bf215546Sopenharmony_ci		<bitfield name="ISDB_CPU_IRQ" pos="30" type="boolean"/>
848bf215546Sopenharmony_ci		<bitfield name="ISDB_UNDER_DEBUG" pos="31" type="boolean"/>
849bf215546Sopenharmony_ci	</bitset>
850bf215546Sopenharmony_ci
851bf215546Sopenharmony_ci	<!-- CP Interrupt bits -->
852bf215546Sopenharmony_ci	<bitset name="A5XX_CP_INT">
853bf215546Sopenharmony_ci		<bitfield name="CP_OPCODE_ERROR" pos="0" type="boolean"/>
854bf215546Sopenharmony_ci		<bitfield name="CP_RESERVED_BIT_ERROR" pos="1" type="boolean"/>
855bf215546Sopenharmony_ci		<bitfield name="CP_HW_FAULT_ERROR" pos="2" type="boolean"/>
856bf215546Sopenharmony_ci		<bitfield name="CP_DMA_ERROR" pos="3" type="boolean"/>
857bf215546Sopenharmony_ci		<bitfield name="CP_REGISTER_PROTECTION_ERROR" pos="4" type="boolean"/>
858bf215546Sopenharmony_ci		<bitfield name="CP_AHB_ERROR" pos="5" type="boolean"/>
859bf215546Sopenharmony_ci	</bitset>
860bf215546Sopenharmony_ci
861bf215546Sopenharmony_ci	<!-- CP registers -->
862bf215546Sopenharmony_ci	<reg32 offset="0x0800" name="CP_RB_BASE"/>
863bf215546Sopenharmony_ci	<reg32 offset="0x0801" name="CP_RB_BASE_HI"/>
864bf215546Sopenharmony_ci	<reg32 offset="0x0802" name="CP_RB_CNTL"/>
865bf215546Sopenharmony_ci	<reg32 offset="0x0804" name="CP_RB_RPTR_ADDR"/>
866bf215546Sopenharmony_ci	<reg32 offset="0x0805" name="CP_RB_RPTR_ADDR_HI"/>
867bf215546Sopenharmony_ci	<reg32 offset="0x0806" name="CP_RB_RPTR"/>
868bf215546Sopenharmony_ci	<reg32 offset="0x0807" name="CP_RB_WPTR"/>
869bf215546Sopenharmony_ci	<reg32 offset="0x0808" name="CP_PFP_STAT_ADDR"/>
870bf215546Sopenharmony_ci	<reg32 offset="0x0809" name="CP_PFP_STAT_DATA"/>
871bf215546Sopenharmony_ci	<reg32 offset="0x080b" name="CP_DRAW_STATE_ADDR"/>
872bf215546Sopenharmony_ci	<reg32 offset="0x080c" name="CP_DRAW_STATE_DATA"/>
873bf215546Sopenharmony_ci	<reg32 offset="0x080d" name="CP_ME_NRT_ADDR_LO"/>
874bf215546Sopenharmony_ci	<reg32 offset="0x080e" name="CP_ME_NRT_ADDR_HI"/>
875bf215546Sopenharmony_ci	<reg32 offset="0x0810" name="CP_ME_NRT_DATA"/>
876bf215546Sopenharmony_ci	<reg32 offset="0x0817" name="CP_CRASH_SCRIPT_BASE_LO"/>
877bf215546Sopenharmony_ci	<reg32 offset="0x0818" name="CP_CRASH_SCRIPT_BASE_HI"/>
878bf215546Sopenharmony_ci	<reg32 offset="0x0819" name="CP_CRASH_DUMP_CNTL"/>
879bf215546Sopenharmony_ci	<reg32 offset="0x081a" name="CP_ME_STAT_ADDR"/>
880bf215546Sopenharmony_ci	<reg32 offset="0x081f" name="CP_ROQ_THRESHOLDS_1"/>
881bf215546Sopenharmony_ci	<reg32 offset="0x0820" name="CP_ROQ_THRESHOLDS_2"/>
882bf215546Sopenharmony_ci	<reg32 offset="0x0821" name="CP_ROQ_DBG_ADDR"/>
883bf215546Sopenharmony_ci	<reg32 offset="0x0822" name="CP_ROQ_DBG_DATA"/>
884bf215546Sopenharmony_ci	<reg32 offset="0x0823" name="CP_MEQ_DBG_ADDR"/>
885bf215546Sopenharmony_ci	<reg32 offset="0x0824" name="CP_MEQ_DBG_DATA"/>
886bf215546Sopenharmony_ci	<reg32 offset="0x0825" name="CP_MEQ_THRESHOLDS"/>
887bf215546Sopenharmony_ci	<reg32 offset="0x0826" name="CP_MERCIU_SIZE"/>
888bf215546Sopenharmony_ci	<reg32 offset="0x0827" name="CP_MERCIU_DBG_ADDR"/>
889bf215546Sopenharmony_ci	<reg32 offset="0x0828" name="CP_MERCIU_DBG_DATA_1"/>
890bf215546Sopenharmony_ci	<reg32 offset="0x0829" name="CP_MERCIU_DBG_DATA_2"/>
891bf215546Sopenharmony_ci	<reg32 offset="0x082a" name="CP_PFP_UCODE_DBG_ADDR"/>
892bf215546Sopenharmony_ci	<reg32 offset="0x082b" name="CP_PFP_UCODE_DBG_DATA"/>
893bf215546Sopenharmony_ci	<reg32 offset="0x082f" name="CP_ME_UCODE_DBG_ADDR"/>
894bf215546Sopenharmony_ci	<reg32 offset="0x0830" name="CP_ME_UCODE_DBG_DATA"/>
895bf215546Sopenharmony_ci	<reg32 offset="0x0831" name="CP_CNTL"/>
896bf215546Sopenharmony_ci	<reg32 offset="0x0832" name="CP_PFP_ME_CNTL"/>
897bf215546Sopenharmony_ci	<reg32 offset="0x0833" name="CP_CHICKEN_DBG"/>
898bf215546Sopenharmony_ci	<reg32 offset="0x0835" name="CP_PFP_INSTR_BASE_LO"/>
899bf215546Sopenharmony_ci	<reg32 offset="0x0836" name="CP_PFP_INSTR_BASE_HI"/>
900bf215546Sopenharmony_ci	<reg32 offset="0x0838" name="CP_ME_INSTR_BASE_LO"/>
901bf215546Sopenharmony_ci	<reg32 offset="0x0839" name="CP_ME_INSTR_BASE_HI"/>
902bf215546Sopenharmony_ci	<reg32 offset="0x083b" name="CP_CONTEXT_SWITCH_CNTL"/>
903bf215546Sopenharmony_ci	<reg32 offset="0x083c" name="CP_CONTEXT_SWITCH_RESTORE_ADDR_LO"/>
904bf215546Sopenharmony_ci	<reg32 offset="0x083d" name="CP_CONTEXT_SWITCH_RESTORE_ADDR_HI"/>
905bf215546Sopenharmony_ci	<reg32 offset="0x083e" name="CP_CONTEXT_SWITCH_SAVE_ADDR_LO"/>
906bf215546Sopenharmony_ci	<reg32 offset="0x083f" name="CP_CONTEXT_SWITCH_SAVE_ADDR_HI"/>
907bf215546Sopenharmony_ci	<reg32 offset="0x0840" name="CP_CONTEXT_SWITCH_SMMU_INFO_LO"/>
908bf215546Sopenharmony_ci	<reg32 offset="0x0841" name="CP_CONTEXT_SWITCH_SMMU_INFO_HI"/>
909bf215546Sopenharmony_ci	<reg32 offset="0x0860" name="CP_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
910bf215546Sopenharmony_ci	<reg32 offset="0x0b14" name="CP_ME_STAT_DATA"/>
911bf215546Sopenharmony_ci	<reg32 offset="0x0b15" name="CP_WFI_PEND_CTR"/>
912bf215546Sopenharmony_ci	<reg32 offset="0x0b18" name="CP_INTERRUPT_STATUS"/>
913bf215546Sopenharmony_ci	<reg32 offset="0x0b1a" name="CP_HW_FAULT"/>
914bf215546Sopenharmony_ci	<reg32 offset="0x0b1c" name="CP_PROTECT_STATUS"/>
915bf215546Sopenharmony_ci	<reg32 offset="0x0b1f" name="CP_IB1_BASE"/>
916bf215546Sopenharmony_ci	<reg32 offset="0x0b20" name="CP_IB1_BASE_HI"/>
917bf215546Sopenharmony_ci	<reg32 offset="0x0b21" name="CP_IB1_BUFSZ"/>
918bf215546Sopenharmony_ci	<reg32 offset="0x0b22" name="CP_IB2_BASE"/>
919bf215546Sopenharmony_ci	<reg32 offset="0x0b23" name="CP_IB2_BASE_HI"/>
920bf215546Sopenharmony_ci	<reg32 offset="0x0b24" name="CP_IB2_BUFSZ"/>
921bf215546Sopenharmony_ci	<array offset="0x0b78" name="CP_SCRATCH" stride="1" length="8">
922bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG" type="uint"/>
923bf215546Sopenharmony_ci	</array>
924bf215546Sopenharmony_ci	<array offset="0x0880" name="CP_PROTECT" stride="1" length="32">
925bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG" type="adreno_cp_protect"/>
926bf215546Sopenharmony_ci	</array>
927bf215546Sopenharmony_ci	<reg32 offset="0x08a0" name="CP_PROTECT_CNTL"/>
928bf215546Sopenharmony_ci	<reg32 offset="0x0b1b" name="CP_AHB_FAULT"/>
929bf215546Sopenharmony_ci	<reg32 offset="0x0bb0" name="CP_PERFCTR_CP_SEL_0" type="a5xx_cp_perfcounter_select"/>
930bf215546Sopenharmony_ci	<reg32 offset="0x0bb1" name="CP_PERFCTR_CP_SEL_1" type="a5xx_cp_perfcounter_select"/>
931bf215546Sopenharmony_ci	<reg32 offset="0x0bb2" name="CP_PERFCTR_CP_SEL_2" type="a5xx_cp_perfcounter_select"/>
932bf215546Sopenharmony_ci	<reg32 offset="0x0bb3" name="CP_PERFCTR_CP_SEL_3" type="a5xx_cp_perfcounter_select"/>
933bf215546Sopenharmony_ci	<reg32 offset="0x0bb4" name="CP_PERFCTR_CP_SEL_4" type="a5xx_cp_perfcounter_select"/>
934bf215546Sopenharmony_ci	<reg32 offset="0x0bb5" name="CP_PERFCTR_CP_SEL_5" type="a5xx_cp_perfcounter_select"/>
935bf215546Sopenharmony_ci	<reg32 offset="0x0bb6" name="CP_PERFCTR_CP_SEL_6" type="a5xx_cp_perfcounter_select"/>
936bf215546Sopenharmony_ci	<reg32 offset="0x0bb7" name="CP_PERFCTR_CP_SEL_7" type="a5xx_cp_perfcounter_select"/>
937bf215546Sopenharmony_ci	<reg32 offset="0x0bc1" name="VSC_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
938bf215546Sopenharmony_ci	<reg32 offset="0x0bba" name="CP_POWERCTR_CP_SEL_0"/>
939bf215546Sopenharmony_ci	<reg32 offset="0x0bbb" name="CP_POWERCTR_CP_SEL_1"/>
940bf215546Sopenharmony_ci	<reg32 offset="0x0bbc" name="CP_POWERCTR_CP_SEL_2"/>
941bf215546Sopenharmony_ci	<reg32 offset="0x0bbd" name="CP_POWERCTR_CP_SEL_3"/>
942bf215546Sopenharmony_ci
943bf215546Sopenharmony_ci	<!-- RBBM registers -->
944bf215546Sopenharmony_ci	<reg32 offset="0x0004" name="RBBM_CFG_DBGBUS_SEL_A"/>
945bf215546Sopenharmony_ci	<reg32 offset="0x0005" name="RBBM_CFG_DBGBUS_SEL_B"/>
946bf215546Sopenharmony_ci	<reg32 offset="0x0006" name="RBBM_CFG_DBGBUS_SEL_C"/>
947bf215546Sopenharmony_ci	<reg32 offset="0x0007" name="RBBM_CFG_DBGBUS_SEL_D"/>
948bf215546Sopenharmony_ci<!--
949bf215546Sopenharmony_ci#define A5XX_RBBM_CFG_DBGBUS_SEL_PING_INDEX_SHIFT    0x0
950bf215546Sopenharmony_ci#define A5XX_RBBM_CFG_DBGBUS_SEL_PING_BLK_SEL_SHIFT  0x8
951bf215546Sopenharmony_ci#define A5XX_RBBM_CFG_DBGBUS_SEL_PONG_INDEX_SHIFT    0x10
952bf215546Sopenharmony_ci#define A5XX_RBBM_CFG_DBGBUS_SEL_PONG_BLK_SEL_SHIFT  0x18
953bf215546Sopenharmony_ci -->
954bf215546Sopenharmony_ci	<reg32 offset="0x0008" name="RBBM_CFG_DBGBUS_CNTLT"/>
955bf215546Sopenharmony_ci	<reg32 offset="0x0009" name="RBBM_CFG_DBGBUS_CNTLM"/>
956bf215546Sopenharmony_ci	<reg32 offset="0x0018" name="RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT"/>
957bf215546Sopenharmony_ci	<reg32 offset="0x000a" name="RBBM_CFG_DBGBUS_OPL"/>
958bf215546Sopenharmony_ci	<reg32 offset="0x000b" name="RBBM_CFG_DBGBUS_OPE"/>
959bf215546Sopenharmony_ci	<reg32 offset="0x000c" name="RBBM_CFG_DBGBUS_IVTL_0"/>
960bf215546Sopenharmony_ci	<reg32 offset="0x000d" name="RBBM_CFG_DBGBUS_IVTL_1"/>
961bf215546Sopenharmony_ci	<reg32 offset="0x000e" name="RBBM_CFG_DBGBUS_IVTL_2"/>
962bf215546Sopenharmony_ci	<reg32 offset="0x000f" name="RBBM_CFG_DBGBUS_IVTL_3"/>
963bf215546Sopenharmony_ci	<reg32 offset="0x0010" name="RBBM_CFG_DBGBUS_MASKL_0"/>
964bf215546Sopenharmony_ci	<reg32 offset="0x0011" name="RBBM_CFG_DBGBUS_MASKL_1"/>
965bf215546Sopenharmony_ci	<reg32 offset="0x0012" name="RBBM_CFG_DBGBUS_MASKL_2"/>
966bf215546Sopenharmony_ci	<reg32 offset="0x0013" name="RBBM_CFG_DBGBUS_MASKL_3"/>
967bf215546Sopenharmony_ci	<reg32 offset="0x0014" name="RBBM_CFG_DBGBUS_BYTEL_0"/>
968bf215546Sopenharmony_ci	<reg32 offset="0x0015" name="RBBM_CFG_DBGBUS_BYTEL_1"/>
969bf215546Sopenharmony_ci	<reg32 offset="0x0016" name="RBBM_CFG_DBGBUS_IVTE_0"/>
970bf215546Sopenharmony_ci	<reg32 offset="0x0017" name="RBBM_CFG_DBGBUS_IVTE_1"/>
971bf215546Sopenharmony_ci	<reg32 offset="0x0018" name="RBBM_CFG_DBGBUS_IVTE_2"/>
972bf215546Sopenharmony_ci	<reg32 offset="0x0019" name="RBBM_CFG_DBGBUS_IVTE_3"/>
973bf215546Sopenharmony_ci	<reg32 offset="0x001a" name="RBBM_CFG_DBGBUS_MASKE_0"/>
974bf215546Sopenharmony_ci	<reg32 offset="0x001b" name="RBBM_CFG_DBGBUS_MASKE_1"/>
975bf215546Sopenharmony_ci	<reg32 offset="0x001c" name="RBBM_CFG_DBGBUS_MASKE_2"/>
976bf215546Sopenharmony_ci	<reg32 offset="0x001d" name="RBBM_CFG_DBGBUS_MASKE_3"/>
977bf215546Sopenharmony_ci	<reg32 offset="0x001e" name="RBBM_CFG_DBGBUS_NIBBLEE"/>
978bf215546Sopenharmony_ci	<reg32 offset="0x001f" name="RBBM_CFG_DBGBUS_PTRC0"/>
979bf215546Sopenharmony_ci	<reg32 offset="0x0020" name="RBBM_CFG_DBGBUS_PTRC1"/>
980bf215546Sopenharmony_ci	<reg32 offset="0x0021" name="RBBM_CFG_DBGBUS_LOADREG"/>
981bf215546Sopenharmony_ci	<reg32 offset="0x0022" name="RBBM_CFG_DBGBUS_IDX"/>
982bf215546Sopenharmony_ci	<reg32 offset="0x0023" name="RBBM_CFG_DBGBUS_CLRC"/>
983bf215546Sopenharmony_ci	<reg32 offset="0x0024" name="RBBM_CFG_DBGBUS_LOADIVT"/>
984bf215546Sopenharmony_ci	<reg32 offset="0x002f" name="RBBM_INTERFACE_HANG_INT_CNTL"/>
985bf215546Sopenharmony_ci	<reg32 offset="0x0037" name="RBBM_INT_CLEAR_CMD"/>
986bf215546Sopenharmony_ci	<reg32 offset="0x0038" name="RBBM_INT_0_MASK">
987bf215546Sopenharmony_ci		<bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/>
988bf215546Sopenharmony_ci		<bitfield name="RBBM_AHB_ERROR" pos="1" type="boolean"/>
989bf215546Sopenharmony_ci		<bitfield name="RBBM_TRANSFER_TIMEOUT" pos="2" type="boolean"/>
990bf215546Sopenharmony_ci		<bitfield name="RBBM_ME_MS_TIMEOUT" pos="3" type="boolean"/>
991bf215546Sopenharmony_ci		<bitfield name="RBBM_PFP_MS_TIMEOUT" pos="4" type="boolean"/>
992bf215546Sopenharmony_ci		<bitfield name="RBBM_ETS_MS_TIMEOUT" pos="5" type="boolean"/>
993bf215546Sopenharmony_ci		<bitfield name="RBBM_ATB_ASYNC_OVERFLOW" pos="6" type="boolean"/>
994bf215546Sopenharmony_ci		<bitfield name="RBBM_GPC_ERROR" pos="7" type="boolean"/>
995bf215546Sopenharmony_ci		<bitfield name="CP_SW" pos="8" type="boolean"/>
996bf215546Sopenharmony_ci		<bitfield name="CP_HW_ERROR" pos="9" type="boolean"/>
997bf215546Sopenharmony_ci		<bitfield name="CP_CCU_FLUSH_DEPTH_TS" pos="10" type="boolean"/>
998bf215546Sopenharmony_ci		<bitfield name="CP_CCU_FLUSH_COLOR_TS" pos="11" type="boolean"/>
999bf215546Sopenharmony_ci		<bitfield name="CP_CCU_RESOLVE_TS" pos="12" type="boolean"/>
1000bf215546Sopenharmony_ci		<bitfield name="CP_IB2" pos="13" type="boolean"/>
1001bf215546Sopenharmony_ci		<bitfield name="CP_IB1" pos="14" type="boolean"/>
1002bf215546Sopenharmony_ci		<bitfield name="CP_RB" pos="15" type="boolean"/>
1003bf215546Sopenharmony_ci		<bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/>
1004bf215546Sopenharmony_ci		<bitfield name="CP_WT_DONE_TS" pos="18" type="boolean"/>
1005bf215546Sopenharmony_ci		<bitfield name="CP_CACHE_FLUSH_TS" pos="20" type="boolean"/>
1006bf215546Sopenharmony_ci		<bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="22" type="boolean"/>
1007bf215546Sopenharmony_ci		<bitfield name="MISC_HANG_DETECT" pos="23" type="boolean"/>
1008bf215546Sopenharmony_ci		<bitfield name="UCHE_OOB_ACCESS" pos="24" type="boolean"/>
1009bf215546Sopenharmony_ci		<bitfield name="UCHE_TRAP_INTR" pos="25" type="boolean"/>
1010bf215546Sopenharmony_ci		<bitfield name="DEBBUS_INTR_0" pos="26" type="boolean"/>
1011bf215546Sopenharmony_ci		<bitfield name="DEBBUS_INTR_1" pos="27" type="boolean"/>
1012bf215546Sopenharmony_ci		<bitfield name="GPMU_VOLTAGE_DROOP" pos="28" type="boolean"/>
1013bf215546Sopenharmony_ci		<bitfield name="GPMU_FIRMWARE" pos="29" type="boolean"/>
1014bf215546Sopenharmony_ci		<bitfield name="ISDB_CPU_IRQ" pos="30" type="boolean"/>
1015bf215546Sopenharmony_ci		<bitfield name="ISDB_UNDER_DEBUG" pos="31" type="boolean"/>
1016bf215546Sopenharmony_ci	</reg32>
1017bf215546Sopenharmony_ci	<reg32 offset="0x003f" name="RBBM_AHB_DBG_CNTL"/>
1018bf215546Sopenharmony_ci	<reg32 offset="0x0041" name="RBBM_EXT_VBIF_DBG_CNTL"/>
1019bf215546Sopenharmony_ci	<reg32 offset="0x0043" name="RBBM_SW_RESET_CMD"/>
1020bf215546Sopenharmony_ci	<reg32 offset="0x0045" name="RBBM_BLOCK_SW_RESET_CMD"/>
1021bf215546Sopenharmony_ci	<reg32 offset="0x0046" name="RBBM_BLOCK_SW_RESET_CMD2"/>
1022bf215546Sopenharmony_ci	<reg32 offset="0x0048" name="RBBM_DBG_LO_HI_GPIO"/>
1023bf215546Sopenharmony_ci	<reg32 offset="0x0049" name="RBBM_EXT_TRACE_BUS_CNTL"/>
1024bf215546Sopenharmony_ci	<reg32 offset="0x004a" name="RBBM_CLOCK_CNTL_TP0"/>
1025bf215546Sopenharmony_ci	<reg32 offset="0x004b" name="RBBM_CLOCK_CNTL_TP1"/>
1026bf215546Sopenharmony_ci	<reg32 offset="0x004c" name="RBBM_CLOCK_CNTL_TP2"/>
1027bf215546Sopenharmony_ci	<reg32 offset="0x004d" name="RBBM_CLOCK_CNTL_TP3"/>
1028bf215546Sopenharmony_ci	<reg32 offset="0x004e" name="RBBM_CLOCK_CNTL2_TP0"/>
1029bf215546Sopenharmony_ci	<reg32 offset="0x004f" name="RBBM_CLOCK_CNTL2_TP1"/>
1030bf215546Sopenharmony_ci	<reg32 offset="0x0050" name="RBBM_CLOCK_CNTL2_TP2"/>
1031bf215546Sopenharmony_ci	<reg32 offset="0x0051" name="RBBM_CLOCK_CNTL2_TP3"/>
1032bf215546Sopenharmony_ci	<reg32 offset="0x0052" name="RBBM_CLOCK_CNTL3_TP0"/>
1033bf215546Sopenharmony_ci	<reg32 offset="0x0053" name="RBBM_CLOCK_CNTL3_TP1"/>
1034bf215546Sopenharmony_ci	<reg32 offset="0x0054" name="RBBM_CLOCK_CNTL3_TP2"/>
1035bf215546Sopenharmony_ci	<reg32 offset="0x0055" name="RBBM_CLOCK_CNTL3_TP3"/>
1036bf215546Sopenharmony_ci	<reg32 offset="0x0059" name="RBBM_READ_AHB_THROUGH_DBG"/>
1037bf215546Sopenharmony_ci	<reg32 offset="0x005a" name="RBBM_CLOCK_CNTL_UCHE"/>
1038bf215546Sopenharmony_ci	<reg32 offset="0x005b" name="RBBM_CLOCK_CNTL2_UCHE"/>
1039bf215546Sopenharmony_ci	<reg32 offset="0x005c" name="RBBM_CLOCK_CNTL3_UCHE"/>
1040bf215546Sopenharmony_ci	<reg32 offset="0x005d" name="RBBM_CLOCK_CNTL4_UCHE"/>
1041bf215546Sopenharmony_ci	<reg32 offset="0x005e" name="RBBM_CLOCK_HYST_UCHE"/>
1042bf215546Sopenharmony_ci	<reg32 offset="0x005f" name="RBBM_CLOCK_DELAY_UCHE"/>
1043bf215546Sopenharmony_ci	<reg32 offset="0x0060" name="RBBM_CLOCK_MODE_GPC"/>
1044bf215546Sopenharmony_ci	<reg32 offset="0x0061" name="RBBM_CLOCK_DELAY_GPC"/>
1045bf215546Sopenharmony_ci	<reg32 offset="0x0062" name="RBBM_CLOCK_HYST_GPC"/>
1046bf215546Sopenharmony_ci	<reg32 offset="0x0063" name="RBBM_CLOCK_CNTL_TSE_RAS_RBBM"/>
1047bf215546Sopenharmony_ci	<reg32 offset="0x0064" name="RBBM_CLOCK_HYST_TSE_RAS_RBBM"/>
1048bf215546Sopenharmony_ci	<reg32 offset="0x0065" name="RBBM_CLOCK_DELAY_TSE_RAS_RBBM"/>
1049bf215546Sopenharmony_ci	<reg32 offset="0x0066" name="RBBM_CLOCK_DELAY_HLSQ"/>
1050bf215546Sopenharmony_ci	<reg32 offset="0x0067" name="RBBM_CLOCK_CNTL"/>
1051bf215546Sopenharmony_ci	<reg32 offset="0x0068" name="RBBM_CLOCK_CNTL_SP0"/>
1052bf215546Sopenharmony_ci	<reg32 offset="0x0069" name="RBBM_CLOCK_CNTL_SP1"/>
1053bf215546Sopenharmony_ci	<reg32 offset="0x006a" name="RBBM_CLOCK_CNTL_SP2"/>
1054bf215546Sopenharmony_ci	<reg32 offset="0x006b" name="RBBM_CLOCK_CNTL_SP3"/>
1055bf215546Sopenharmony_ci	<reg32 offset="0x006c" name="RBBM_CLOCK_CNTL2_SP0"/>
1056bf215546Sopenharmony_ci	<reg32 offset="0x006d" name="RBBM_CLOCK_CNTL2_SP1"/>
1057bf215546Sopenharmony_ci	<reg32 offset="0x006e" name="RBBM_CLOCK_CNTL2_SP2"/>
1058bf215546Sopenharmony_ci	<reg32 offset="0x006f" name="RBBM_CLOCK_CNTL2_SP3"/>
1059bf215546Sopenharmony_ci	<reg32 offset="0x0070" name="RBBM_CLOCK_HYST_SP0"/>
1060bf215546Sopenharmony_ci	<reg32 offset="0x0071" name="RBBM_CLOCK_HYST_SP1"/>
1061bf215546Sopenharmony_ci	<reg32 offset="0x0072" name="RBBM_CLOCK_HYST_SP2"/>
1062bf215546Sopenharmony_ci	<reg32 offset="0x0073" name="RBBM_CLOCK_HYST_SP3"/>
1063bf215546Sopenharmony_ci	<reg32 offset="0x0074" name="RBBM_CLOCK_DELAY_SP0"/>
1064bf215546Sopenharmony_ci	<reg32 offset="0x0075" name="RBBM_CLOCK_DELAY_SP1"/>
1065bf215546Sopenharmony_ci	<reg32 offset="0x0076" name="RBBM_CLOCK_DELAY_SP2"/>
1066bf215546Sopenharmony_ci	<reg32 offset="0x0077" name="RBBM_CLOCK_DELAY_SP3"/>
1067bf215546Sopenharmony_ci	<reg32 offset="0x0078" name="RBBM_CLOCK_CNTL_RB0"/>
1068bf215546Sopenharmony_ci	<reg32 offset="0x0079" name="RBBM_CLOCK_CNTL_RB1"/>
1069bf215546Sopenharmony_ci	<reg32 offset="0x007a" name="RBBM_CLOCK_CNTL_RB2"/>
1070bf215546Sopenharmony_ci	<reg32 offset="0x007b" name="RBBM_CLOCK_CNTL_RB3"/>
1071bf215546Sopenharmony_ci	<reg32 offset="0x007c" name="RBBM_CLOCK_CNTL2_RB0"/>
1072bf215546Sopenharmony_ci	<reg32 offset="0x007d" name="RBBM_CLOCK_CNTL2_RB1"/>
1073bf215546Sopenharmony_ci	<reg32 offset="0x007e" name="RBBM_CLOCK_CNTL2_RB2"/>
1074bf215546Sopenharmony_ci	<reg32 offset="0x007f" name="RBBM_CLOCK_CNTL2_RB3"/>
1075bf215546Sopenharmony_ci	<reg32 offset="0x0080" name="RBBM_CLOCK_HYST_RAC"/>
1076bf215546Sopenharmony_ci	<reg32 offset="0x0081" name="RBBM_CLOCK_DELAY_RAC"/>
1077bf215546Sopenharmony_ci	<reg32 offset="0x0082" name="RBBM_CLOCK_CNTL_CCU0"/>
1078bf215546Sopenharmony_ci	<reg32 offset="0x0083" name="RBBM_CLOCK_CNTL_CCU1"/>
1079bf215546Sopenharmony_ci	<reg32 offset="0x0084" name="RBBM_CLOCK_CNTL_CCU2"/>
1080bf215546Sopenharmony_ci	<reg32 offset="0x0085" name="RBBM_CLOCK_CNTL_CCU3"/>
1081bf215546Sopenharmony_ci	<reg32 offset="0x0086" name="RBBM_CLOCK_HYST_RB_CCU0"/>
1082bf215546Sopenharmony_ci	<reg32 offset="0x0087" name="RBBM_CLOCK_HYST_RB_CCU1"/>
1083bf215546Sopenharmony_ci	<reg32 offset="0x0088" name="RBBM_CLOCK_HYST_RB_CCU2"/>
1084bf215546Sopenharmony_ci	<reg32 offset="0x0089" name="RBBM_CLOCK_HYST_RB_CCU3"/>
1085bf215546Sopenharmony_ci	<reg32 offset="0x008a" name="RBBM_CLOCK_CNTL_RAC"/>
1086bf215546Sopenharmony_ci	<reg32 offset="0x008b" name="RBBM_CLOCK_CNTL2_RAC"/>
1087bf215546Sopenharmony_ci	<reg32 offset="0x008c" name="RBBM_CLOCK_DELAY_RB_CCU_L1_0"/>
1088bf215546Sopenharmony_ci	<reg32 offset="0x008d" name="RBBM_CLOCK_DELAY_RB_CCU_L1_1"/>
1089bf215546Sopenharmony_ci	<reg32 offset="0x008e" name="RBBM_CLOCK_DELAY_RB_CCU_L1_2"/>
1090bf215546Sopenharmony_ci	<reg32 offset="0x008f" name="RBBM_CLOCK_DELAY_RB_CCU_L1_3"/>
1091bf215546Sopenharmony_ci	<reg32 offset="0x0090" name="RBBM_CLOCK_HYST_VFD"/>
1092bf215546Sopenharmony_ci	<reg32 offset="0x0091" name="RBBM_CLOCK_MODE_VFD"/>
1093bf215546Sopenharmony_ci	<reg32 offset="0x0092" name="RBBM_CLOCK_DELAY_VFD"/>
1094bf215546Sopenharmony_ci	<reg32 offset="0x0093" name="RBBM_AHB_CNTL0"/>
1095bf215546Sopenharmony_ci	<reg32 offset="0x0094" name="RBBM_AHB_CNTL1"/>
1096bf215546Sopenharmony_ci	<reg32 offset="0x0095" name="RBBM_AHB_CNTL2"/>
1097bf215546Sopenharmony_ci	<reg32 offset="0x0096" name="RBBM_AHB_CMD"/>
1098bf215546Sopenharmony_ci	<reg32 offset="0x009c" name="RBBM_INTERFACE_HANG_MASK_CNTL11"/>
1099bf215546Sopenharmony_ci	<reg32 offset="0x009d" name="RBBM_INTERFACE_HANG_MASK_CNTL12"/>
1100bf215546Sopenharmony_ci	<reg32 offset="0x009e" name="RBBM_INTERFACE_HANG_MASK_CNTL13"/>
1101bf215546Sopenharmony_ci	<reg32 offset="0x009f" name="RBBM_INTERFACE_HANG_MASK_CNTL14"/>
1102bf215546Sopenharmony_ci	<reg32 offset="0x00a0" name="RBBM_INTERFACE_HANG_MASK_CNTL15"/>
1103bf215546Sopenharmony_ci	<reg32 offset="0x00a1" name="RBBM_INTERFACE_HANG_MASK_CNTL16"/>
1104bf215546Sopenharmony_ci	<reg32 offset="0x00a2" name="RBBM_INTERFACE_HANG_MASK_CNTL17"/>
1105bf215546Sopenharmony_ci	<reg32 offset="0x00a3" name="RBBM_INTERFACE_HANG_MASK_CNTL18"/>
1106bf215546Sopenharmony_ci	<reg32 offset="0x00a4" name="RBBM_CLOCK_DELAY_TP0"/>
1107bf215546Sopenharmony_ci	<reg32 offset="0x00a5" name="RBBM_CLOCK_DELAY_TP1"/>
1108bf215546Sopenharmony_ci	<reg32 offset="0x00a6" name="RBBM_CLOCK_DELAY_TP2"/>
1109bf215546Sopenharmony_ci	<reg32 offset="0x00a7" name="RBBM_CLOCK_DELAY_TP3"/>
1110bf215546Sopenharmony_ci	<reg32 offset="0x00a8" name="RBBM_CLOCK_DELAY2_TP0"/>
1111bf215546Sopenharmony_ci	<reg32 offset="0x00a9" name="RBBM_CLOCK_DELAY2_TP1"/>
1112bf215546Sopenharmony_ci	<reg32 offset="0x00aa" name="RBBM_CLOCK_DELAY2_TP2"/>
1113bf215546Sopenharmony_ci	<reg32 offset="0x00ab" name="RBBM_CLOCK_DELAY2_TP3"/>
1114bf215546Sopenharmony_ci	<reg32 offset="0x00ac" name="RBBM_CLOCK_DELAY3_TP0"/>
1115bf215546Sopenharmony_ci	<reg32 offset="0x00ad" name="RBBM_CLOCK_DELAY3_TP1"/>
1116bf215546Sopenharmony_ci	<reg32 offset="0x00ae" name="RBBM_CLOCK_DELAY3_TP2"/>
1117bf215546Sopenharmony_ci	<reg32 offset="0x00af" name="RBBM_CLOCK_DELAY3_TP3"/>
1118bf215546Sopenharmony_ci	<reg32 offset="0x00b0" name="RBBM_CLOCK_HYST_TP0"/>
1119bf215546Sopenharmony_ci	<reg32 offset="0x00b1" name="RBBM_CLOCK_HYST_TP1"/>
1120bf215546Sopenharmony_ci	<reg32 offset="0x00b2" name="RBBM_CLOCK_HYST_TP2"/>
1121bf215546Sopenharmony_ci	<reg32 offset="0x00b3" name="RBBM_CLOCK_HYST_TP3"/>
1122bf215546Sopenharmony_ci	<reg32 offset="0x00b4" name="RBBM_CLOCK_HYST2_TP0"/>
1123bf215546Sopenharmony_ci	<reg32 offset="0x00b5" name="RBBM_CLOCK_HYST2_TP1"/>
1124bf215546Sopenharmony_ci	<reg32 offset="0x00b6" name="RBBM_CLOCK_HYST2_TP2"/>
1125bf215546Sopenharmony_ci	<reg32 offset="0x00b7" name="RBBM_CLOCK_HYST2_TP3"/>
1126bf215546Sopenharmony_ci	<reg32 offset="0x00b8" name="RBBM_CLOCK_HYST3_TP0"/>
1127bf215546Sopenharmony_ci	<reg32 offset="0x00b9" name="RBBM_CLOCK_HYST3_TP1"/>
1128bf215546Sopenharmony_ci	<reg32 offset="0x00ba" name="RBBM_CLOCK_HYST3_TP2"/>
1129bf215546Sopenharmony_ci	<reg32 offset="0x00bb" name="RBBM_CLOCK_HYST3_TP3"/>
1130bf215546Sopenharmony_ci	<reg32 offset="0x00c8" name="RBBM_CLOCK_CNTL_GPMU"/>
1131bf215546Sopenharmony_ci	<reg32 offset="0x00c9" name="RBBM_CLOCK_DELAY_GPMU"/>
1132bf215546Sopenharmony_ci	<reg32 offset="0x00ca" name="RBBM_CLOCK_HYST_GPMU"/>
1133bf215546Sopenharmony_ci	<reg32 offset="0x03a0" name="RBBM_PERFCTR_CP_0_LO"/>
1134bf215546Sopenharmony_ci	<reg32 offset="0x03a1" name="RBBM_PERFCTR_CP_0_HI"/>
1135bf215546Sopenharmony_ci	<reg32 offset="0x03a2" name="RBBM_PERFCTR_CP_1_LO"/>
1136bf215546Sopenharmony_ci	<reg32 offset="0x03a3" name="RBBM_PERFCTR_CP_1_HI"/>
1137bf215546Sopenharmony_ci	<reg32 offset="0x03a4" name="RBBM_PERFCTR_CP_2_LO"/>
1138bf215546Sopenharmony_ci	<reg32 offset="0x03a5" name="RBBM_PERFCTR_CP_2_HI"/>
1139bf215546Sopenharmony_ci	<reg32 offset="0x03a6" name="RBBM_PERFCTR_CP_3_LO"/>
1140bf215546Sopenharmony_ci	<reg32 offset="0x03a7" name="RBBM_PERFCTR_CP_3_HI"/>
1141bf215546Sopenharmony_ci	<reg32 offset="0x03a8" name="RBBM_PERFCTR_CP_4_LO"/>
1142bf215546Sopenharmony_ci	<reg32 offset="0x03a9" name="RBBM_PERFCTR_CP_4_HI"/>
1143bf215546Sopenharmony_ci	<reg32 offset="0x03aa" name="RBBM_PERFCTR_CP_5_LO"/>
1144bf215546Sopenharmony_ci	<reg32 offset="0x03ab" name="RBBM_PERFCTR_CP_5_HI"/>
1145bf215546Sopenharmony_ci	<reg32 offset="0x03ac" name="RBBM_PERFCTR_CP_6_LO"/>
1146bf215546Sopenharmony_ci	<reg32 offset="0x03ad" name="RBBM_PERFCTR_CP_6_HI"/>
1147bf215546Sopenharmony_ci	<reg32 offset="0x03ae" name="RBBM_PERFCTR_CP_7_LO"/>
1148bf215546Sopenharmony_ci	<reg32 offset="0x03af" name="RBBM_PERFCTR_CP_7_HI"/>
1149bf215546Sopenharmony_ci	<reg32 offset="0x03b0" name="RBBM_PERFCTR_RBBM_0_LO"/>
1150bf215546Sopenharmony_ci	<reg32 offset="0x03b1" name="RBBM_PERFCTR_RBBM_0_HI"/>
1151bf215546Sopenharmony_ci	<reg32 offset="0x03b2" name="RBBM_PERFCTR_RBBM_1_LO"/>
1152bf215546Sopenharmony_ci	<reg32 offset="0x03b3" name="RBBM_PERFCTR_RBBM_1_HI"/>
1153bf215546Sopenharmony_ci	<reg32 offset="0x03b4" name="RBBM_PERFCTR_RBBM_2_LO"/>
1154bf215546Sopenharmony_ci	<reg32 offset="0x03b5" name="RBBM_PERFCTR_RBBM_2_HI"/>
1155bf215546Sopenharmony_ci	<reg32 offset="0x03b6" name="RBBM_PERFCTR_RBBM_3_LO"/>
1156bf215546Sopenharmony_ci	<reg32 offset="0x03b7" name="RBBM_PERFCTR_RBBM_3_HI"/>
1157bf215546Sopenharmony_ci	<reg32 offset="0x03b8" name="RBBM_PERFCTR_PC_0_LO"/>
1158bf215546Sopenharmony_ci	<reg32 offset="0x03b9" name="RBBM_PERFCTR_PC_0_HI"/>
1159bf215546Sopenharmony_ci	<reg32 offset="0x03ba" name="RBBM_PERFCTR_PC_1_LO"/>
1160bf215546Sopenharmony_ci	<reg32 offset="0x03bb" name="RBBM_PERFCTR_PC_1_HI"/>
1161bf215546Sopenharmony_ci	<reg32 offset="0x03bc" name="RBBM_PERFCTR_PC_2_LO"/>
1162bf215546Sopenharmony_ci	<reg32 offset="0x03bd" name="RBBM_PERFCTR_PC_2_HI"/>
1163bf215546Sopenharmony_ci	<reg32 offset="0x03be" name="RBBM_PERFCTR_PC_3_LO"/>
1164bf215546Sopenharmony_ci	<reg32 offset="0x03bf" name="RBBM_PERFCTR_PC_3_HI"/>
1165bf215546Sopenharmony_ci	<reg32 offset="0x03c0" name="RBBM_PERFCTR_PC_4_LO"/>
1166bf215546Sopenharmony_ci	<reg32 offset="0x03c1" name="RBBM_PERFCTR_PC_4_HI"/>
1167bf215546Sopenharmony_ci	<reg32 offset="0x03c2" name="RBBM_PERFCTR_PC_5_LO"/>
1168bf215546Sopenharmony_ci	<reg32 offset="0x03c3" name="RBBM_PERFCTR_PC_5_HI"/>
1169bf215546Sopenharmony_ci	<reg32 offset="0x03c4" name="RBBM_PERFCTR_PC_6_LO"/>
1170bf215546Sopenharmony_ci	<reg32 offset="0x03c5" name="RBBM_PERFCTR_PC_6_HI"/>
1171bf215546Sopenharmony_ci	<reg32 offset="0x03c6" name="RBBM_PERFCTR_PC_7_LO"/>
1172bf215546Sopenharmony_ci	<reg32 offset="0x03c7" name="RBBM_PERFCTR_PC_7_HI"/>
1173bf215546Sopenharmony_ci	<reg32 offset="0x03c8" name="RBBM_PERFCTR_VFD_0_LO"/>
1174bf215546Sopenharmony_ci	<reg32 offset="0x03c9" name="RBBM_PERFCTR_VFD_0_HI"/>
1175bf215546Sopenharmony_ci	<reg32 offset="0x03ca" name="RBBM_PERFCTR_VFD_1_LO"/>
1176bf215546Sopenharmony_ci	<reg32 offset="0x03cb" name="RBBM_PERFCTR_VFD_1_HI"/>
1177bf215546Sopenharmony_ci	<reg32 offset="0x03cc" name="RBBM_PERFCTR_VFD_2_LO"/>
1178bf215546Sopenharmony_ci	<reg32 offset="0x03cd" name="RBBM_PERFCTR_VFD_2_HI"/>
1179bf215546Sopenharmony_ci	<reg32 offset="0x03ce" name="RBBM_PERFCTR_VFD_3_LO"/>
1180bf215546Sopenharmony_ci	<reg32 offset="0x03cf" name="RBBM_PERFCTR_VFD_3_HI"/>
1181bf215546Sopenharmony_ci	<reg32 offset="0x03d0" name="RBBM_PERFCTR_VFD_4_LO"/>
1182bf215546Sopenharmony_ci	<reg32 offset="0x03d1" name="RBBM_PERFCTR_VFD_4_HI"/>
1183bf215546Sopenharmony_ci	<reg32 offset="0x03d2" name="RBBM_PERFCTR_VFD_5_LO"/>
1184bf215546Sopenharmony_ci	<reg32 offset="0x03d3" name="RBBM_PERFCTR_VFD_5_HI"/>
1185bf215546Sopenharmony_ci	<reg32 offset="0x03d4" name="RBBM_PERFCTR_VFD_6_LO"/>
1186bf215546Sopenharmony_ci	<reg32 offset="0x03d5" name="RBBM_PERFCTR_VFD_6_HI"/>
1187bf215546Sopenharmony_ci	<reg32 offset="0x03d6" name="RBBM_PERFCTR_VFD_7_LO"/>
1188bf215546Sopenharmony_ci	<reg32 offset="0x03d7" name="RBBM_PERFCTR_VFD_7_HI"/>
1189bf215546Sopenharmony_ci	<reg32 offset="0x03d8" name="RBBM_PERFCTR_HLSQ_0_LO"/>
1190bf215546Sopenharmony_ci	<reg32 offset="0x03d9" name="RBBM_PERFCTR_HLSQ_0_HI"/>
1191bf215546Sopenharmony_ci	<reg32 offset="0x03da" name="RBBM_PERFCTR_HLSQ_1_LO"/>
1192bf215546Sopenharmony_ci	<reg32 offset="0x03db" name="RBBM_PERFCTR_HLSQ_1_HI"/>
1193bf215546Sopenharmony_ci	<reg32 offset="0x03dc" name="RBBM_PERFCTR_HLSQ_2_LO"/>
1194bf215546Sopenharmony_ci	<reg32 offset="0x03dd" name="RBBM_PERFCTR_HLSQ_2_HI"/>
1195bf215546Sopenharmony_ci	<reg32 offset="0x03de" name="RBBM_PERFCTR_HLSQ_3_LO"/>
1196bf215546Sopenharmony_ci	<reg32 offset="0x03df" name="RBBM_PERFCTR_HLSQ_3_HI"/>
1197bf215546Sopenharmony_ci	<reg32 offset="0x03e0" name="RBBM_PERFCTR_HLSQ_4_LO"/>
1198bf215546Sopenharmony_ci	<reg32 offset="0x03e1" name="RBBM_PERFCTR_HLSQ_4_HI"/>
1199bf215546Sopenharmony_ci	<reg32 offset="0x03e2" name="RBBM_PERFCTR_HLSQ_5_LO"/>
1200bf215546Sopenharmony_ci	<reg32 offset="0x03e3" name="RBBM_PERFCTR_HLSQ_5_HI"/>
1201bf215546Sopenharmony_ci	<reg32 offset="0x03e4" name="RBBM_PERFCTR_HLSQ_6_LO"/>
1202bf215546Sopenharmony_ci	<reg32 offset="0x03e5" name="RBBM_PERFCTR_HLSQ_6_HI"/>
1203bf215546Sopenharmony_ci	<reg32 offset="0x03e6" name="RBBM_PERFCTR_HLSQ_7_LO"/>
1204bf215546Sopenharmony_ci	<reg32 offset="0x03e7" name="RBBM_PERFCTR_HLSQ_7_HI"/>
1205bf215546Sopenharmony_ci	<reg32 offset="0x03e8" name="RBBM_PERFCTR_VPC_0_LO"/>
1206bf215546Sopenharmony_ci	<reg32 offset="0x03e9" name="RBBM_PERFCTR_VPC_0_HI"/>
1207bf215546Sopenharmony_ci	<reg32 offset="0x03ea" name="RBBM_PERFCTR_VPC_1_LO"/>
1208bf215546Sopenharmony_ci	<reg32 offset="0x03eb" name="RBBM_PERFCTR_VPC_1_HI"/>
1209bf215546Sopenharmony_ci	<reg32 offset="0x03ec" name="RBBM_PERFCTR_VPC_2_LO"/>
1210bf215546Sopenharmony_ci	<reg32 offset="0x03ed" name="RBBM_PERFCTR_VPC_2_HI"/>
1211bf215546Sopenharmony_ci	<reg32 offset="0x03ee" name="RBBM_PERFCTR_VPC_3_LO"/>
1212bf215546Sopenharmony_ci	<reg32 offset="0x03ef" name="RBBM_PERFCTR_VPC_3_HI"/>
1213bf215546Sopenharmony_ci	<reg32 offset="0x03f0" name="RBBM_PERFCTR_CCU_0_LO"/>
1214bf215546Sopenharmony_ci	<reg32 offset="0x03f1" name="RBBM_PERFCTR_CCU_0_HI"/>
1215bf215546Sopenharmony_ci	<reg32 offset="0x03f2" name="RBBM_PERFCTR_CCU_1_LO"/>
1216bf215546Sopenharmony_ci	<reg32 offset="0x03f3" name="RBBM_PERFCTR_CCU_1_HI"/>
1217bf215546Sopenharmony_ci	<reg32 offset="0x03f4" name="RBBM_PERFCTR_CCU_2_LO"/>
1218bf215546Sopenharmony_ci	<reg32 offset="0x03f5" name="RBBM_PERFCTR_CCU_2_HI"/>
1219bf215546Sopenharmony_ci	<reg32 offset="0x03f6" name="RBBM_PERFCTR_CCU_3_LO"/>
1220bf215546Sopenharmony_ci	<reg32 offset="0x03f7" name="RBBM_PERFCTR_CCU_3_HI"/>
1221bf215546Sopenharmony_ci	<reg32 offset="0x03f8" name="RBBM_PERFCTR_TSE_0_LO"/>
1222bf215546Sopenharmony_ci	<reg32 offset="0x03f9" name="RBBM_PERFCTR_TSE_0_HI"/>
1223bf215546Sopenharmony_ci	<reg32 offset="0x03fa" name="RBBM_PERFCTR_TSE_1_LO"/>
1224bf215546Sopenharmony_ci	<reg32 offset="0x03fb" name="RBBM_PERFCTR_TSE_1_HI"/>
1225bf215546Sopenharmony_ci	<reg32 offset="0x03fc" name="RBBM_PERFCTR_TSE_2_LO"/>
1226bf215546Sopenharmony_ci	<reg32 offset="0x03fd" name="RBBM_PERFCTR_TSE_2_HI"/>
1227bf215546Sopenharmony_ci	<reg32 offset="0x03fe" name="RBBM_PERFCTR_TSE_3_LO"/>
1228bf215546Sopenharmony_ci	<reg32 offset="0x03ff" name="RBBM_PERFCTR_TSE_3_HI"/>
1229bf215546Sopenharmony_ci	<reg32 offset="0x0400" name="RBBM_PERFCTR_RAS_0_LO"/>
1230bf215546Sopenharmony_ci	<reg32 offset="0x0401" name="RBBM_PERFCTR_RAS_0_HI"/>
1231bf215546Sopenharmony_ci	<reg32 offset="0x0402" name="RBBM_PERFCTR_RAS_1_LO"/>
1232bf215546Sopenharmony_ci	<reg32 offset="0x0403" name="RBBM_PERFCTR_RAS_1_HI"/>
1233bf215546Sopenharmony_ci	<reg32 offset="0x0404" name="RBBM_PERFCTR_RAS_2_LO"/>
1234bf215546Sopenharmony_ci	<reg32 offset="0x0405" name="RBBM_PERFCTR_RAS_2_HI"/>
1235bf215546Sopenharmony_ci	<reg32 offset="0x0406" name="RBBM_PERFCTR_RAS_3_LO"/>
1236bf215546Sopenharmony_ci	<reg32 offset="0x0407" name="RBBM_PERFCTR_RAS_3_HI"/>
1237bf215546Sopenharmony_ci	<reg32 offset="0x0408" name="RBBM_PERFCTR_UCHE_0_LO"/>
1238bf215546Sopenharmony_ci	<reg32 offset="0x0409" name="RBBM_PERFCTR_UCHE_0_HI"/>
1239bf215546Sopenharmony_ci	<reg32 offset="0x040a" name="RBBM_PERFCTR_UCHE_1_LO"/>
1240bf215546Sopenharmony_ci	<reg32 offset="0x040b" name="RBBM_PERFCTR_UCHE_1_HI"/>
1241bf215546Sopenharmony_ci	<reg32 offset="0x040c" name="RBBM_PERFCTR_UCHE_2_LO"/>
1242bf215546Sopenharmony_ci	<reg32 offset="0x040d" name="RBBM_PERFCTR_UCHE_2_HI"/>
1243bf215546Sopenharmony_ci	<reg32 offset="0x040e" name="RBBM_PERFCTR_UCHE_3_LO"/>
1244bf215546Sopenharmony_ci	<reg32 offset="0x040f" name="RBBM_PERFCTR_UCHE_3_HI"/>
1245bf215546Sopenharmony_ci	<reg32 offset="0x0410" name="RBBM_PERFCTR_UCHE_4_LO"/>
1246bf215546Sopenharmony_ci	<reg32 offset="0x0411" name="RBBM_PERFCTR_UCHE_4_HI"/>
1247bf215546Sopenharmony_ci	<reg32 offset="0x0412" name="RBBM_PERFCTR_UCHE_5_LO"/>
1248bf215546Sopenharmony_ci	<reg32 offset="0x0413" name="RBBM_PERFCTR_UCHE_5_HI"/>
1249bf215546Sopenharmony_ci	<reg32 offset="0x0414" name="RBBM_PERFCTR_UCHE_6_LO"/>
1250bf215546Sopenharmony_ci	<reg32 offset="0x0415" name="RBBM_PERFCTR_UCHE_6_HI"/>
1251bf215546Sopenharmony_ci	<reg32 offset="0x0416" name="RBBM_PERFCTR_UCHE_7_LO"/>
1252bf215546Sopenharmony_ci	<reg32 offset="0x0417" name="RBBM_PERFCTR_UCHE_7_HI"/>
1253bf215546Sopenharmony_ci	<reg32 offset="0x0418" name="RBBM_PERFCTR_TP_0_LO"/>
1254bf215546Sopenharmony_ci	<reg32 offset="0x0419" name="RBBM_PERFCTR_TP_0_HI"/>
1255bf215546Sopenharmony_ci	<reg32 offset="0x041a" name="RBBM_PERFCTR_TP_1_LO"/>
1256bf215546Sopenharmony_ci	<reg32 offset="0x041b" name="RBBM_PERFCTR_TP_1_HI"/>
1257bf215546Sopenharmony_ci	<reg32 offset="0x041c" name="RBBM_PERFCTR_TP_2_LO"/>
1258bf215546Sopenharmony_ci	<reg32 offset="0x041d" name="RBBM_PERFCTR_TP_2_HI"/>
1259bf215546Sopenharmony_ci	<reg32 offset="0x041e" name="RBBM_PERFCTR_TP_3_LO"/>
1260bf215546Sopenharmony_ci	<reg32 offset="0x041f" name="RBBM_PERFCTR_TP_3_HI"/>
1261bf215546Sopenharmony_ci	<reg32 offset="0x0420" name="RBBM_PERFCTR_TP_4_LO"/>
1262bf215546Sopenharmony_ci	<reg32 offset="0x0421" name="RBBM_PERFCTR_TP_4_HI"/>
1263bf215546Sopenharmony_ci	<reg32 offset="0x0422" name="RBBM_PERFCTR_TP_5_LO"/>
1264bf215546Sopenharmony_ci	<reg32 offset="0x0423" name="RBBM_PERFCTR_TP_5_HI"/>
1265bf215546Sopenharmony_ci	<reg32 offset="0x0424" name="RBBM_PERFCTR_TP_6_LO"/>
1266bf215546Sopenharmony_ci	<reg32 offset="0x0425" name="RBBM_PERFCTR_TP_6_HI"/>
1267bf215546Sopenharmony_ci	<reg32 offset="0x0426" name="RBBM_PERFCTR_TP_7_LO"/>
1268bf215546Sopenharmony_ci	<reg32 offset="0x0427" name="RBBM_PERFCTR_TP_7_HI"/>
1269bf215546Sopenharmony_ci	<reg32 offset="0x0428" name="RBBM_PERFCTR_SP_0_LO"/>
1270bf215546Sopenharmony_ci	<reg32 offset="0x0429" name="RBBM_PERFCTR_SP_0_HI"/>
1271bf215546Sopenharmony_ci	<reg32 offset="0x042a" name="RBBM_PERFCTR_SP_1_LO"/>
1272bf215546Sopenharmony_ci	<reg32 offset="0x042b" name="RBBM_PERFCTR_SP_1_HI"/>
1273bf215546Sopenharmony_ci	<reg32 offset="0x042c" name="RBBM_PERFCTR_SP_2_LO"/>
1274bf215546Sopenharmony_ci	<reg32 offset="0x042d" name="RBBM_PERFCTR_SP_2_HI"/>
1275bf215546Sopenharmony_ci	<reg32 offset="0x042e" name="RBBM_PERFCTR_SP_3_LO"/>
1276bf215546Sopenharmony_ci	<reg32 offset="0x042f" name="RBBM_PERFCTR_SP_3_HI"/>
1277bf215546Sopenharmony_ci	<reg32 offset="0x0430" name="RBBM_PERFCTR_SP_4_LO"/>
1278bf215546Sopenharmony_ci	<reg32 offset="0x0431" name="RBBM_PERFCTR_SP_4_HI"/>
1279bf215546Sopenharmony_ci	<reg32 offset="0x0432" name="RBBM_PERFCTR_SP_5_LO"/>
1280bf215546Sopenharmony_ci	<reg32 offset="0x0433" name="RBBM_PERFCTR_SP_5_HI"/>
1281bf215546Sopenharmony_ci	<reg32 offset="0x0434" name="RBBM_PERFCTR_SP_6_LO"/>
1282bf215546Sopenharmony_ci	<reg32 offset="0x0435" name="RBBM_PERFCTR_SP_6_HI"/>
1283bf215546Sopenharmony_ci	<reg32 offset="0x0436" name="RBBM_PERFCTR_SP_7_LO"/>
1284bf215546Sopenharmony_ci	<reg32 offset="0x0437" name="RBBM_PERFCTR_SP_7_HI"/>
1285bf215546Sopenharmony_ci	<reg32 offset="0x0438" name="RBBM_PERFCTR_SP_8_LO"/>
1286bf215546Sopenharmony_ci	<reg32 offset="0x0439" name="RBBM_PERFCTR_SP_8_HI"/>
1287bf215546Sopenharmony_ci	<reg32 offset="0x043a" name="RBBM_PERFCTR_SP_9_LO"/>
1288bf215546Sopenharmony_ci	<reg32 offset="0x043b" name="RBBM_PERFCTR_SP_9_HI"/>
1289bf215546Sopenharmony_ci	<reg32 offset="0x043c" name="RBBM_PERFCTR_SP_10_LO"/>
1290bf215546Sopenharmony_ci	<reg32 offset="0x043d" name="RBBM_PERFCTR_SP_10_HI"/>
1291bf215546Sopenharmony_ci	<reg32 offset="0x043e" name="RBBM_PERFCTR_SP_11_LO"/>
1292bf215546Sopenharmony_ci	<reg32 offset="0x043f" name="RBBM_PERFCTR_SP_11_HI"/>
1293bf215546Sopenharmony_ci	<reg32 offset="0x0440" name="RBBM_PERFCTR_RB_0_LO"/>
1294bf215546Sopenharmony_ci	<reg32 offset="0x0441" name="RBBM_PERFCTR_RB_0_HI"/>
1295bf215546Sopenharmony_ci	<reg32 offset="0x0442" name="RBBM_PERFCTR_RB_1_LO"/>
1296bf215546Sopenharmony_ci	<reg32 offset="0x0443" name="RBBM_PERFCTR_RB_1_HI"/>
1297bf215546Sopenharmony_ci	<reg32 offset="0x0444" name="RBBM_PERFCTR_RB_2_LO"/>
1298bf215546Sopenharmony_ci	<reg32 offset="0x0445" name="RBBM_PERFCTR_RB_2_HI"/>
1299bf215546Sopenharmony_ci	<reg32 offset="0x0446" name="RBBM_PERFCTR_RB_3_LO"/>
1300bf215546Sopenharmony_ci	<reg32 offset="0x0447" name="RBBM_PERFCTR_RB_3_HI"/>
1301bf215546Sopenharmony_ci	<reg32 offset="0x0448" name="RBBM_PERFCTR_RB_4_LO"/>
1302bf215546Sopenharmony_ci	<reg32 offset="0x0449" name="RBBM_PERFCTR_RB_4_HI"/>
1303bf215546Sopenharmony_ci	<reg32 offset="0x044a" name="RBBM_PERFCTR_RB_5_LO"/>
1304bf215546Sopenharmony_ci	<reg32 offset="0x044b" name="RBBM_PERFCTR_RB_5_HI"/>
1305bf215546Sopenharmony_ci	<reg32 offset="0x044c" name="RBBM_PERFCTR_RB_6_LO"/>
1306bf215546Sopenharmony_ci	<reg32 offset="0x044d" name="RBBM_PERFCTR_RB_6_HI"/>
1307bf215546Sopenharmony_ci	<reg32 offset="0x044e" name="RBBM_PERFCTR_RB_7_LO"/>
1308bf215546Sopenharmony_ci	<reg32 offset="0x044f" name="RBBM_PERFCTR_RB_7_HI"/>
1309bf215546Sopenharmony_ci	<reg32 offset="0x0450" name="RBBM_PERFCTR_VSC_0_LO"/>
1310bf215546Sopenharmony_ci	<reg32 offset="0x0451" name="RBBM_PERFCTR_VSC_0_HI"/>
1311bf215546Sopenharmony_ci	<reg32 offset="0x0452" name="RBBM_PERFCTR_VSC_1_LO"/>
1312bf215546Sopenharmony_ci	<reg32 offset="0x0453" name="RBBM_PERFCTR_VSC_1_HI"/>
1313bf215546Sopenharmony_ci	<reg32 offset="0x0454" name="RBBM_PERFCTR_LRZ_0_LO"/>
1314bf215546Sopenharmony_ci	<reg32 offset="0x0455" name="RBBM_PERFCTR_LRZ_0_HI"/>
1315bf215546Sopenharmony_ci	<reg32 offset="0x0456" name="RBBM_PERFCTR_LRZ_1_LO"/>
1316bf215546Sopenharmony_ci	<reg32 offset="0x0457" name="RBBM_PERFCTR_LRZ_1_HI"/>
1317bf215546Sopenharmony_ci	<reg32 offset="0x0458" name="RBBM_PERFCTR_LRZ_2_LO"/>
1318bf215546Sopenharmony_ci	<reg32 offset="0x0459" name="RBBM_PERFCTR_LRZ_2_HI"/>
1319bf215546Sopenharmony_ci	<reg32 offset="0x045a" name="RBBM_PERFCTR_LRZ_3_LO"/>
1320bf215546Sopenharmony_ci	<reg32 offset="0x045b" name="RBBM_PERFCTR_LRZ_3_HI"/>
1321bf215546Sopenharmony_ci	<reg32 offset="0x045c" name="RBBM_PERFCTR_CMP_0_LO"/>
1322bf215546Sopenharmony_ci	<reg32 offset="0x045d" name="RBBM_PERFCTR_CMP_0_HI"/>
1323bf215546Sopenharmony_ci	<reg32 offset="0x045e" name="RBBM_PERFCTR_CMP_1_LO"/>
1324bf215546Sopenharmony_ci	<reg32 offset="0x045f" name="RBBM_PERFCTR_CMP_1_HI"/>
1325bf215546Sopenharmony_ci	<reg32 offset="0x0460" name="RBBM_PERFCTR_CMP_2_LO"/>
1326bf215546Sopenharmony_ci	<reg32 offset="0x0461" name="RBBM_PERFCTR_CMP_2_HI"/>
1327bf215546Sopenharmony_ci	<reg32 offset="0x0462" name="RBBM_PERFCTR_CMP_3_LO"/>
1328bf215546Sopenharmony_ci	<reg32 offset="0x0463" name="RBBM_PERFCTR_CMP_3_HI"/>
1329bf215546Sopenharmony_ci	<reg32 offset="0x046b" name="RBBM_PERFCTR_RBBM_SEL_0" type="a5xx_rbbm_perfcounter_select"/>
1330bf215546Sopenharmony_ci	<reg32 offset="0x046c" name="RBBM_PERFCTR_RBBM_SEL_1" type="a5xx_rbbm_perfcounter_select"/>
1331bf215546Sopenharmony_ci	<reg32 offset="0x046d" name="RBBM_PERFCTR_RBBM_SEL_2" type="a5xx_rbbm_perfcounter_select"/>
1332bf215546Sopenharmony_ci	<reg32 offset="0x046e" name="RBBM_PERFCTR_RBBM_SEL_3" type="a5xx_rbbm_perfcounter_select"/>
1333bf215546Sopenharmony_ci	<reg32 offset="0x04d2" name="RBBM_ALWAYSON_COUNTER_LO"/>
1334bf215546Sopenharmony_ci	<reg32 offset="0x04d3" name="RBBM_ALWAYSON_COUNTER_HI"/>
1335bf215546Sopenharmony_ci	<reg32 offset="0x04f5" name="RBBM_STATUS">
1336bf215546Sopenharmony_ci		<bitfield high="31" low="31" name="GPU_BUSY_IGN_AHB" />
1337bf215546Sopenharmony_ci		<bitfield high="30" low="30" name="GPU_BUSY_IGN_AHB_CP" />
1338bf215546Sopenharmony_ci		<bitfield high="29" low="29" name="HLSQ_BUSY" />
1339bf215546Sopenharmony_ci		<bitfield high="28" low="28" name="VSC_BUSY" />
1340bf215546Sopenharmony_ci		<bitfield high="27" low="27" name="TPL1_BUSY" />
1341bf215546Sopenharmony_ci		<bitfield high="26" low="26" name="SP_BUSY" />
1342bf215546Sopenharmony_ci		<bitfield high="25" low="25" name="UCHE_BUSY" />
1343bf215546Sopenharmony_ci		<bitfield high="24" low="24" name="VPC_BUSY" />
1344bf215546Sopenharmony_ci		<bitfield high="23" low="23" name="VFDP_BUSY" />
1345bf215546Sopenharmony_ci		<bitfield high="22" low="22" name="VFD_BUSY" />
1346bf215546Sopenharmony_ci		<bitfield high="21" low="21" name="TESS_BUSY" />
1347bf215546Sopenharmony_ci		<bitfield high="20" low="20" name="PC_VSD_BUSY" />
1348bf215546Sopenharmony_ci		<bitfield high="19" low="19" name="PC_DCALL_BUSY" />
1349bf215546Sopenharmony_ci		<bitfield high="18" low="18" name="GPMU_SLAVE_BUSY" />
1350bf215546Sopenharmony_ci		<bitfield high="17" low="17" name="DCOM_BUSY" />
1351bf215546Sopenharmony_ci		<bitfield high="16" low="16" name="COM_BUSY" />
1352bf215546Sopenharmony_ci		<bitfield high="15" low="15" name="LRZ_BUZY" />
1353bf215546Sopenharmony_ci		<bitfield high="14" low="14" name="A2D_DSP_BUSY" />
1354bf215546Sopenharmony_ci		<bitfield high="13" low="13" name="CCUFCHE_BUSY" />
1355bf215546Sopenharmony_ci		<bitfield high="12" low="12" name="RB_BUSY" />
1356bf215546Sopenharmony_ci		<bitfield high="11" low="11" name="RAS_BUSY" />
1357bf215546Sopenharmony_ci		<bitfield high="10" low="10" name="TSE_BUSY" />
1358bf215546Sopenharmony_ci		<bitfield high="9" low="9" name="VBIF_BUSY" />
1359bf215546Sopenharmony_ci		<bitfield high="8" low="8" name="GPU_BUSY_IGN_AHB_HYST" />
1360bf215546Sopenharmony_ci		<bitfield high="7" low="7" name="CP_BUSY_IGN_HYST" />
1361bf215546Sopenharmony_ci		<bitfield high="6" low="6" name="CP_BUSY" />
1362bf215546Sopenharmony_ci		<bitfield high="5" low="5" name="GPMU_MASTER_BUSY" />
1363bf215546Sopenharmony_ci		<bitfield high="4" low="4" name="CP_CRASH_BUSY" />
1364bf215546Sopenharmony_ci		<bitfield high="3" low="3" name="CP_ETS_BUSY" />
1365bf215546Sopenharmony_ci		<bitfield high="2" low="2" name="CP_PFP_BUSY" />
1366bf215546Sopenharmony_ci		<bitfield high="1" low="1" name="CP_ME_BUSY" />
1367bf215546Sopenharmony_ci		<bitfield high="0" low="0" name="HI_BUSY" />
1368bf215546Sopenharmony_ci	</reg32>
1369bf215546Sopenharmony_ci	<reg32 offset="0x0530" name="RBBM_STATUS3">
1370bf215546Sopenharmony_ci		<bitfield pos="24" name="SMMU_STALLED_ON_FAULT" type="boolean"/>
1371bf215546Sopenharmony_ci	</reg32>
1372bf215546Sopenharmony_ci	<reg32 offset="0x04e1" name="RBBM_INT_0_STATUS"/>
1373bf215546Sopenharmony_ci	<reg32 offset="0x04f0" name="RBBM_AHB_ME_SPLIT_STATUS"/>
1374bf215546Sopenharmony_ci	<reg32 offset="0x04f1" name="RBBM_AHB_PFP_SPLIT_STATUS"/>
1375bf215546Sopenharmony_ci	<reg32 offset="0x04f3" name="RBBM_AHB_ETS_SPLIT_STATUS"/>
1376bf215546Sopenharmony_ci	<reg32 offset="0x04f4" name="RBBM_AHB_ERROR_STATUS"/>
1377bf215546Sopenharmony_ci	<reg32 offset="0x0464" name="RBBM_PERFCTR_CNTL"/>
1378bf215546Sopenharmony_ci	<reg32 offset="0x0465" name="RBBM_PERFCTR_LOAD_CMD0"/>
1379bf215546Sopenharmony_ci	<reg32 offset="0x0466" name="RBBM_PERFCTR_LOAD_CMD1"/>
1380bf215546Sopenharmony_ci	<reg32 offset="0x0467" name="RBBM_PERFCTR_LOAD_CMD2"/>
1381bf215546Sopenharmony_ci	<reg32 offset="0x0468" name="RBBM_PERFCTR_LOAD_CMD3"/>
1382bf215546Sopenharmony_ci	<reg32 offset="0x0469" name="RBBM_PERFCTR_LOAD_VALUE_LO"/>
1383bf215546Sopenharmony_ci	<reg32 offset="0x046a" name="RBBM_PERFCTR_LOAD_VALUE_HI"/>
1384bf215546Sopenharmony_ci	<reg32 offset="0x046f" name="RBBM_PERFCTR_GPU_BUSY_MASKED"/>
1385bf215546Sopenharmony_ci	<reg32 offset="0x04ed" name="RBBM_AHB_ERROR"/>
1386bf215546Sopenharmony_ci	<reg32 offset="0x0504" name="RBBM_CFG_DBGBUS_EVENT_LOGIC"/>
1387bf215546Sopenharmony_ci	<reg32 offset="0x0505" name="RBBM_CFG_DBGBUS_OVER"/>
1388bf215546Sopenharmony_ci	<reg32 offset="0x0506" name="RBBM_CFG_DBGBUS_COUNT0"/>
1389bf215546Sopenharmony_ci	<reg32 offset="0x0507" name="RBBM_CFG_DBGBUS_COUNT1"/>
1390bf215546Sopenharmony_ci	<reg32 offset="0x0508" name="RBBM_CFG_DBGBUS_COUNT2"/>
1391bf215546Sopenharmony_ci	<reg32 offset="0x0509" name="RBBM_CFG_DBGBUS_COUNT3"/>
1392bf215546Sopenharmony_ci	<reg32 offset="0x050a" name="RBBM_CFG_DBGBUS_COUNT4"/>
1393bf215546Sopenharmony_ci	<reg32 offset="0x050b" name="RBBM_CFG_DBGBUS_COUNT5"/>
1394bf215546Sopenharmony_ci	<reg32 offset="0x050c" name="RBBM_CFG_DBGBUS_TRACE_ADDR"/>
1395bf215546Sopenharmony_ci	<reg32 offset="0x050d" name="RBBM_CFG_DBGBUS_TRACE_BUF0"/>
1396bf215546Sopenharmony_ci	<reg32 offset="0x050e" name="RBBM_CFG_DBGBUS_TRACE_BUF1"/>
1397bf215546Sopenharmony_ci	<reg32 offset="0x050f" name="RBBM_CFG_DBGBUS_TRACE_BUF2"/>
1398bf215546Sopenharmony_ci	<reg32 offset="0x0510" name="RBBM_CFG_DBGBUS_TRACE_BUF3"/>
1399bf215546Sopenharmony_ci	<reg32 offset="0x0511" name="RBBM_CFG_DBGBUS_TRACE_BUF4"/>
1400bf215546Sopenharmony_ci	<reg32 offset="0x0512" name="RBBM_CFG_DBGBUS_MISR0"/>
1401bf215546Sopenharmony_ci	<reg32 offset="0x0513" name="RBBM_CFG_DBGBUS_MISR1"/>
1402bf215546Sopenharmony_ci	<reg32 offset="0x0533" name="RBBM_ISDB_CNT"/>
1403bf215546Sopenharmony_ci	<reg32 offset="0xf000" name="RBBM_SECVID_TRUST_CONFIG"/>
1404bf215546Sopenharmony_ci	<reg32 offset="0xf400" name="RBBM_SECVID_TRUST_CNTL"/>
1405bf215546Sopenharmony_ci	<reg32 offset="0xf800" name="RBBM_SECVID_TSB_TRUSTED_BASE_LO"/>
1406bf215546Sopenharmony_ci	<reg32 offset="0xf801" name="RBBM_SECVID_TSB_TRUSTED_BASE_HI"/>
1407bf215546Sopenharmony_ci	<reg32 offset="0xf802" name="RBBM_SECVID_TSB_TRUSTED_SIZE"/>
1408bf215546Sopenharmony_ci	<reg32 offset="0xf803" name="RBBM_SECVID_TSB_CNTL"/>
1409bf215546Sopenharmony_ci	<reg32 offset="0xf804" name="RBBM_SECVID_TSB_COMP_STATUS_LO"/>
1410bf215546Sopenharmony_ci	<reg32 offset="0xf805" name="RBBM_SECVID_TSB_COMP_STATUS_HI"/>
1411bf215546Sopenharmony_ci	<reg32 offset="0xf806" name="RBBM_SECVID_TSB_UCHE_STATUS_LO"/>
1412bf215546Sopenharmony_ci	<reg32 offset="0xf807" name="RBBM_SECVID_TSB_UCHE_STATUS_HI"/>
1413bf215546Sopenharmony_ci	<reg32 offset="0xf810" name="RBBM_SECVID_TSB_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1414bf215546Sopenharmony_ci
1415bf215546Sopenharmony_ci	<!-- VSC registers -->
1416bf215546Sopenharmony_ci	<reg32 offset="0x0bc2" name="VSC_BIN_SIZE">
1417bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="7" shr="5" type="uint"/>
1418bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="9" high="16" shr="5" type="uint"/>
1419bf215546Sopenharmony_ci		<!-- b17 maybe BYPASS like RB_CNTL, but reg not written for bypass -->
1420bf215546Sopenharmony_ci	</reg32>
1421bf215546Sopenharmony_ci	<reg32 offset="0x0bc3" name="VSC_SIZE_ADDRESS_LO"/>
1422bf215546Sopenharmony_ci	<reg32 offset="0x0bc4" name="VSC_SIZE_ADDRESS_HI"/>
1423bf215546Sopenharmony_ci	<reg32 offset="0x0bc5" name="UNKNOWN_0BC5"/> <!-- always 00000000? -->
1424bf215546Sopenharmony_ci	<reg32 offset="0x0bc6" name="UNKNOWN_0BC6"/> <!-- always 00000000? -->
1425bf215546Sopenharmony_ci	<array offset="0x0bd0" name="VSC_PIPE_CONFIG" stride="1" length="16">
1426bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1427bf215546Sopenharmony_ci			<doc>
1428bf215546Sopenharmony_ci				Configures the mapping between VSC_PIPE buffer and
1429bf215546Sopenharmony_ci				bin, X/Y specify the bin index in the horiz/vert
1430bf215546Sopenharmony_ci				direction (0,0 is upper left, 0,1 is leftmost bin
1431bf215546Sopenharmony_ci				on second row, and so on).  W/H specify the number
1432bf215546Sopenharmony_ci				of bins assigned to this VSC_PIPE in the horiz/vert
1433bf215546Sopenharmony_ci				dimension.
1434bf215546Sopenharmony_ci			</doc>
1435bf215546Sopenharmony_ci			<bitfield name="X" low="0" high="9" type="uint"/>
1436bf215546Sopenharmony_ci			<bitfield name="Y" low="10" high="19" type="uint"/>
1437bf215546Sopenharmony_ci			<bitfield name="W" low="20" high="23" type="uint"/>
1438bf215546Sopenharmony_ci			<bitfield name="H" low="24" high="27" type="uint"/>
1439bf215546Sopenharmony_ci		</reg32>
1440bf215546Sopenharmony_ci	</array>
1441bf215546Sopenharmony_ci	<array offset="0x0be0" name="VSC_PIPE_DATA_ADDRESS" stride="2" length="16">
1442bf215546Sopenharmony_ci		<reg32 offset="0x0" name="LO"/>
1443bf215546Sopenharmony_ci		<reg32 offset="0x1" name="HI"/>
1444bf215546Sopenharmony_ci	</array>
1445bf215546Sopenharmony_ci	<array offset="0x0c00" name="VSC_PIPE_DATA_LENGTH" stride="1" length="16">
1446bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1447bf215546Sopenharmony_ci	</array>
1448bf215546Sopenharmony_ci	<reg32 offset="0x0c60" name="VSC_PERFCTR_VSC_SEL_0" type="a5xx_vsc_perfcounter_select"/>
1449bf215546Sopenharmony_ci	<reg32 offset="0x0c61" name="VSC_PERFCTR_VSC_SEL_1" type="a5xx_vsc_perfcounter_select"/>
1450bf215546Sopenharmony_ci
1451bf215546Sopenharmony_ci	<!-- used for some blits?? -->
1452bf215546Sopenharmony_ci	<reg32 offset="0x0cdd" name="VSC_RESOLVE_CNTL" type="adreno_reg_xy"/>
1453bf215546Sopenharmony_ci
1454bf215546Sopenharmony_ci	<!-- GRAS registers -->
1455bf215546Sopenharmony_ci	<reg32 offset="0x0c81" name="GRAS_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1456bf215546Sopenharmony_ci	<reg32 offset="0x0c90" name="GRAS_PERFCTR_TSE_SEL_0" type="a5xx_tse_perfcounter_select"/>
1457bf215546Sopenharmony_ci	<reg32 offset="0x0c91" name="GRAS_PERFCTR_TSE_SEL_1" type="a5xx_tse_perfcounter_select"/>
1458bf215546Sopenharmony_ci	<reg32 offset="0x0c92" name="GRAS_PERFCTR_TSE_SEL_2" type="a5xx_tse_perfcounter_select"/>
1459bf215546Sopenharmony_ci	<reg32 offset="0x0c93" name="GRAS_PERFCTR_TSE_SEL_3" type="a5xx_tse_perfcounter_select"/>
1460bf215546Sopenharmony_ci	<reg32 offset="0x0c94" name="GRAS_PERFCTR_RAS_SEL_0" type="a5xx_ras_perfcounter_select"/>
1461bf215546Sopenharmony_ci	<reg32 offset="0x0c95" name="GRAS_PERFCTR_RAS_SEL_1" type="a5xx_ras_perfcounter_select"/>
1462bf215546Sopenharmony_ci	<reg32 offset="0x0c96" name="GRAS_PERFCTR_RAS_SEL_2" type="a5xx_ras_perfcounter_select"/>
1463bf215546Sopenharmony_ci	<reg32 offset="0x0c97" name="GRAS_PERFCTR_RAS_SEL_3" type="a5xx_ras_perfcounter_select"/>
1464bf215546Sopenharmony_ci	<reg32 offset="0x0c98" name="GRAS_PERFCTR_LRZ_SEL_0" type="a5xx_lrz_perfcounter_select"/>
1465bf215546Sopenharmony_ci	<reg32 offset="0x0c99" name="GRAS_PERFCTR_LRZ_SEL_1" type="a5xx_lrz_perfcounter_select"/>
1466bf215546Sopenharmony_ci	<reg32 offset="0x0c9a" name="GRAS_PERFCTR_LRZ_SEL_2" type="a5xx_lrz_perfcounter_select"/>
1467bf215546Sopenharmony_ci	<reg32 offset="0x0c9b" name="GRAS_PERFCTR_LRZ_SEL_3" type="a5xx_lrz_perfcounter_select"/>
1468bf215546Sopenharmony_ci
1469bf215546Sopenharmony_ci	<reg32 offset="0x0cc4" name="RB_DBG_ECO_CNTL"/> <!-- always 00100000? -->
1470bf215546Sopenharmony_ci	<reg32 offset="0x0cc5" name="RB_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1471bf215546Sopenharmony_ci	<reg32 offset="0x0cc6" name="RB_MODE_CNTL"/> <!-- always 00000044? -->
1472bf215546Sopenharmony_ci	<reg32 offset="0x0cc7" name="RB_CCU_CNTL"/> <!-- always b0056080 or 10000000? -->
1473bf215546Sopenharmony_ci	<reg32 offset="0x0cd0" name="RB_PERFCTR_RB_SEL_0" type="a5xx_rb_perfcounter_select"/>
1474bf215546Sopenharmony_ci	<reg32 offset="0x0cd1" name="RB_PERFCTR_RB_SEL_1" type="a5xx_rb_perfcounter_select"/>
1475bf215546Sopenharmony_ci	<reg32 offset="0x0cd2" name="RB_PERFCTR_RB_SEL_2" type="a5xx_rb_perfcounter_select"/>
1476bf215546Sopenharmony_ci	<reg32 offset="0x0cd3" name="RB_PERFCTR_RB_SEL_3" type="a5xx_rb_perfcounter_select"/>
1477bf215546Sopenharmony_ci	<reg32 offset="0x0cd4" name="RB_PERFCTR_RB_SEL_4" type="a5xx_rb_perfcounter_select"/>
1478bf215546Sopenharmony_ci	<reg32 offset="0x0cd5" name="RB_PERFCTR_RB_SEL_5" type="a5xx_rb_perfcounter_select"/>
1479bf215546Sopenharmony_ci	<reg32 offset="0x0cd6" name="RB_PERFCTR_RB_SEL_6" type="a5xx_rb_perfcounter_select"/>
1480bf215546Sopenharmony_ci	<reg32 offset="0x0cd7" name="RB_PERFCTR_RB_SEL_7" type="a5xx_rb_perfcounter_select"/>
1481bf215546Sopenharmony_ci	<reg32 offset="0x0cd8" name="RB_PERFCTR_CCU_SEL_0" type="a5xx_ccu_perfcounter_select"/>
1482bf215546Sopenharmony_ci	<reg32 offset="0x0cd9" name="RB_PERFCTR_CCU_SEL_1" type="a5xx_ccu_perfcounter_select"/>
1483bf215546Sopenharmony_ci	<reg32 offset="0x0cda" name="RB_PERFCTR_CCU_SEL_2" type="a5xx_ccu_perfcounter_select"/>
1484bf215546Sopenharmony_ci	<reg32 offset="0x0cdb" name="RB_PERFCTR_CCU_SEL_3" type="a5xx_ccu_perfcounter_select"/>
1485bf215546Sopenharmony_ci	<reg32 offset="0x0ce0" name="RB_POWERCTR_RB_SEL_0"/>
1486bf215546Sopenharmony_ci	<reg32 offset="0x0ce1" name="RB_POWERCTR_RB_SEL_1"/>
1487bf215546Sopenharmony_ci	<reg32 offset="0x0ce2" name="RB_POWERCTR_RB_SEL_2"/>
1488bf215546Sopenharmony_ci	<reg32 offset="0x0ce3" name="RB_POWERCTR_RB_SEL_3"/>
1489bf215546Sopenharmony_ci	<reg32 offset="0x0ce4" name="RB_POWERCTR_CCU_SEL_0"/>
1490bf215546Sopenharmony_ci	<reg32 offset="0x0ce5" name="RB_POWERCTR_CCU_SEL_1"/>
1491bf215546Sopenharmony_ci	<reg32 offset="0x0cec" name="RB_PERFCTR_CMP_SEL_0" type="a5xx_cmp_perfcounter_select"/>
1492bf215546Sopenharmony_ci	<reg32 offset="0x0ced" name="RB_PERFCTR_CMP_SEL_1" type="a5xx_cmp_perfcounter_select"/>
1493bf215546Sopenharmony_ci	<reg32 offset="0x0cee" name="RB_PERFCTR_CMP_SEL_2" type="a5xx_cmp_perfcounter_select"/>
1494bf215546Sopenharmony_ci	<reg32 offset="0x0cef" name="RB_PERFCTR_CMP_SEL_3" type="a5xx_cmp_perfcounter_select"/>
1495bf215546Sopenharmony_ci
1496bf215546Sopenharmony_ci	<reg32 offset="0x0d00" name="PC_DBG_ECO_CNTL">
1497bf215546Sopenharmony_ci		<bitfield name="TWOPASSUSEWFI" pos="8" type="boolean"/>
1498bf215546Sopenharmony_ci	</reg32>
1499bf215546Sopenharmony_ci	<reg32 offset="0x0d01" name="PC_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1500bf215546Sopenharmony_ci	<reg32 offset="0x0d02" name="PC_MODE_CNTL"/> <!-- always 0000001f? -->
1501bf215546Sopenharmony_ci	<reg32 offset="0x0d04" name="PC_INDEX_BUF_LO"/>
1502bf215546Sopenharmony_ci	<reg32 offset="0x0d05" name="PC_INDEX_BUF_HI"/>
1503bf215546Sopenharmony_ci	<reg32 offset="0x0d06" name="PC_START_INDEX"/>
1504bf215546Sopenharmony_ci	<reg32 offset="0x0d07" name="PC_MAX_INDEX"/>
1505bf215546Sopenharmony_ci	<reg32 offset="0x0d08" name="PC_TESSFACTOR_ADDR_LO"/>
1506bf215546Sopenharmony_ci	<reg32 offset="0x0d09" name="PC_TESSFACTOR_ADDR_HI"/>
1507bf215546Sopenharmony_ci	<reg32 offset="0x0d10" name="PC_PERFCTR_PC_SEL_0" type="a5xx_pc_perfcounter_select"/>
1508bf215546Sopenharmony_ci	<reg32 offset="0x0d11" name="PC_PERFCTR_PC_SEL_1" type="a5xx_pc_perfcounter_select"/>
1509bf215546Sopenharmony_ci	<reg32 offset="0x0d12" name="PC_PERFCTR_PC_SEL_2" type="a5xx_pc_perfcounter_select"/>
1510bf215546Sopenharmony_ci	<reg32 offset="0x0d13" name="PC_PERFCTR_PC_SEL_3" type="a5xx_pc_perfcounter_select"/>
1511bf215546Sopenharmony_ci	<reg32 offset="0x0d14" name="PC_PERFCTR_PC_SEL_4" type="a5xx_pc_perfcounter_select"/>
1512bf215546Sopenharmony_ci	<reg32 offset="0x0d15" name="PC_PERFCTR_PC_SEL_5" type="a5xx_pc_perfcounter_select"/>
1513bf215546Sopenharmony_ci	<reg32 offset="0x0d16" name="PC_PERFCTR_PC_SEL_6" type="a5xx_pc_perfcounter_select"/>
1514bf215546Sopenharmony_ci	<reg32 offset="0x0d17" name="PC_PERFCTR_PC_SEL_7" type="a5xx_pc_perfcounter_select"/>
1515bf215546Sopenharmony_ci
1516bf215546Sopenharmony_ci	<reg32 offset="0x0e00" name="HLSQ_TIMEOUT_THRESHOLD_0"/>
1517bf215546Sopenharmony_ci	<reg32 offset="0x0e01" name="HLSQ_TIMEOUT_THRESHOLD_1"/>
1518bf215546Sopenharmony_ci	<reg32 offset="0x0e04" name="HLSQ_DBG_ECO_CNTL"/>
1519bf215546Sopenharmony_ci	<reg32 offset="0x0e05" name="HLSQ_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1520bf215546Sopenharmony_ci	<reg32 offset="0x0e06" name="HLSQ_MODE_CNTL"/> <!-- always 00000001? -->
1521bf215546Sopenharmony_ci	<reg32 offset="0x0e10" name="HLSQ_PERFCTR_HLSQ_SEL_0" type="a5xx_hlsq_perfcounter_select"/>
1522bf215546Sopenharmony_ci	<reg32 offset="0x0e11" name="HLSQ_PERFCTR_HLSQ_SEL_1" type="a5xx_hlsq_perfcounter_select"/>
1523bf215546Sopenharmony_ci	<reg32 offset="0x0e12" name="HLSQ_PERFCTR_HLSQ_SEL_2" type="a5xx_hlsq_perfcounter_select"/>
1524bf215546Sopenharmony_ci	<reg32 offset="0x0e13" name="HLSQ_PERFCTR_HLSQ_SEL_3" type="a5xx_hlsq_perfcounter_select"/>
1525bf215546Sopenharmony_ci	<reg32 offset="0x0e14" name="HLSQ_PERFCTR_HLSQ_SEL_4" type="a5xx_hlsq_perfcounter_select"/>
1526bf215546Sopenharmony_ci	<reg32 offset="0x0e15" name="HLSQ_PERFCTR_HLSQ_SEL_5" type="a5xx_hlsq_perfcounter_select"/>
1527bf215546Sopenharmony_ci	<reg32 offset="0x0e16" name="HLSQ_PERFCTR_HLSQ_SEL_6" type="a5xx_hlsq_perfcounter_select"/>
1528bf215546Sopenharmony_ci	<reg32 offset="0x0e17" name="HLSQ_PERFCTR_HLSQ_SEL_7" type="a5xx_hlsq_perfcounter_select"/>
1529bf215546Sopenharmony_ci	<reg32 offset="0x0f08" name="HLSQ_SPTP_RDSEL"/>
1530bf215546Sopenharmony_ci	<reg32 offset="0xbc00" name="HLSQ_DBG_READ_SEL"/>
1531bf215546Sopenharmony_ci	<reg32 offset="0xa000" name="HLSQ_DBG_AHB_READ_APERTURE"/>
1532bf215546Sopenharmony_ci
1533bf215546Sopenharmony_ci	<reg32 offset="0x0e41" name="VFD_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1534bf215546Sopenharmony_ci	<reg32 offset="0x0e42" name="VFD_MODE_CNTL"/> <!-- always 00000000? -->
1535bf215546Sopenharmony_ci	<reg32 offset="0x0e50" name="VFD_PERFCTR_VFD_SEL_0" type="a5xx_vfd_perfcounter_select"/>
1536bf215546Sopenharmony_ci	<reg32 offset="0x0e51" name="VFD_PERFCTR_VFD_SEL_1" type="a5xx_vfd_perfcounter_select"/>
1537bf215546Sopenharmony_ci	<reg32 offset="0x0e52" name="VFD_PERFCTR_VFD_SEL_2" type="a5xx_vfd_perfcounter_select"/>
1538bf215546Sopenharmony_ci	<reg32 offset="0x0e53" name="VFD_PERFCTR_VFD_SEL_3" type="a5xx_vfd_perfcounter_select"/>
1539bf215546Sopenharmony_ci	<reg32 offset="0x0e54" name="VFD_PERFCTR_VFD_SEL_4" type="a5xx_vfd_perfcounter_select"/>
1540bf215546Sopenharmony_ci	<reg32 offset="0x0e55" name="VFD_PERFCTR_VFD_SEL_5" type="a5xx_vfd_perfcounter_select"/>
1541bf215546Sopenharmony_ci	<reg32 offset="0x0e56" name="VFD_PERFCTR_VFD_SEL_6" type="a5xx_vfd_perfcounter_select"/>
1542bf215546Sopenharmony_ci	<reg32 offset="0x0e57" name="VFD_PERFCTR_VFD_SEL_7" type="a5xx_vfd_perfcounter_select"/>
1543bf215546Sopenharmony_ci	<reg32 offset="0x0e60" name="VPC_DBG_ECO_CNTL">
1544bf215546Sopenharmony_ci		<bitfield name="ALLFLATOPTDIS" pos="10" type="boolean"/>
1545bf215546Sopenharmony_ci	</reg32>
1546bf215546Sopenharmony_ci	<reg32 offset="0x0e61" name="VPC_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1547bf215546Sopenharmony_ci	<reg32 offset="0x0e62" name="VPC_MODE_CNTL">
1548bf215546Sopenharmony_ci		<bitfield name="BINNING_PASS" pos="0" type="boolean"/>
1549bf215546Sopenharmony_ci	</reg32>
1550bf215546Sopenharmony_ci	<reg32 offset="0x0e64" name="VPC_PERFCTR_VPC_SEL_0" type="a5xx_vpc_perfcounter_select"/>
1551bf215546Sopenharmony_ci	<reg32 offset="0x0e65" name="VPC_PERFCTR_VPC_SEL_1" type="a5xx_vpc_perfcounter_select"/>
1552bf215546Sopenharmony_ci	<reg32 offset="0x0e66" name="VPC_PERFCTR_VPC_SEL_2" type="a5xx_vpc_perfcounter_select"/>
1553bf215546Sopenharmony_ci	<reg32 offset="0x0e67" name="VPC_PERFCTR_VPC_SEL_3" type="a5xx_vpc_perfcounter_select"/>
1554bf215546Sopenharmony_ci
1555bf215546Sopenharmony_ci	<reg32 offset="0x0e80" name="UCHE_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1556bf215546Sopenharmony_ci	<reg32 offset="0x0e81" name="UCHE_MODE_CNTL"/>
1557bf215546Sopenharmony_ci	<reg32 offset="0x0e82" name="UCHE_SVM_CNTL"/>
1558bf215546Sopenharmony_ci	<reg32 offset="0x0e87" name="UCHE_WRITE_THRU_BASE_LO"/>
1559bf215546Sopenharmony_ci	<reg32 offset="0x0e88" name="UCHE_WRITE_THRU_BASE_HI"/>
1560bf215546Sopenharmony_ci	<reg32 offset="0x0e89" name="UCHE_TRAP_BASE_LO"/>
1561bf215546Sopenharmony_ci	<reg32 offset="0x0e8a" name="UCHE_TRAP_BASE_HI"/>
1562bf215546Sopenharmony_ci	<reg32 offset="0x0e8b" name="UCHE_GMEM_RANGE_MIN_LO"/>
1563bf215546Sopenharmony_ci	<reg32 offset="0x0e8c" name="UCHE_GMEM_RANGE_MIN_HI"/>
1564bf215546Sopenharmony_ci	<reg32 offset="0x0e8d" name="UCHE_GMEM_RANGE_MAX_LO"/>
1565bf215546Sopenharmony_ci	<reg32 offset="0x0e8e" name="UCHE_GMEM_RANGE_MAX_HI"/>
1566bf215546Sopenharmony_ci	<reg32 offset="0x0e8f" name="UCHE_DBG_ECO_CNTL_2"/>
1567bf215546Sopenharmony_ci	<reg32 offset="0x0e90" name="UCHE_DBG_ECO_CNTL"/>
1568bf215546Sopenharmony_ci	<reg32 offset="0x0e91" name="UCHE_CACHE_INVALIDATE_MIN_LO"/>
1569bf215546Sopenharmony_ci	<reg32 offset="0x0e92" name="UCHE_CACHE_INVALIDATE_MIN_HI"/>
1570bf215546Sopenharmony_ci	<reg32 offset="0x0e93" name="UCHE_CACHE_INVALIDATE_MAX_LO"/>
1571bf215546Sopenharmony_ci	<reg32 offset="0x0e94" name="UCHE_CACHE_INVALIDATE_MAX_HI"/>
1572bf215546Sopenharmony_ci	<reg32 offset="0x0e95" name="UCHE_CACHE_INVALIDATE"/>
1573bf215546Sopenharmony_ci	<reg32 offset="0x0e96" name="UCHE_CACHE_WAYS"/>
1574bf215546Sopenharmony_ci	<reg32 offset="0x0ea0" name="UCHE_PERFCTR_UCHE_SEL_0" type="a5xx_uche_perfcounter_select"/>
1575bf215546Sopenharmony_ci	<reg32 offset="0x0ea1" name="UCHE_PERFCTR_UCHE_SEL_1" type="a5xx_uche_perfcounter_select"/>
1576bf215546Sopenharmony_ci	<reg32 offset="0x0ea2" name="UCHE_PERFCTR_UCHE_SEL_2" type="a5xx_uche_perfcounter_select"/>
1577bf215546Sopenharmony_ci	<reg32 offset="0x0ea3" name="UCHE_PERFCTR_UCHE_SEL_3" type="a5xx_uche_perfcounter_select"/>
1578bf215546Sopenharmony_ci	<reg32 offset="0x0ea4" name="UCHE_PERFCTR_UCHE_SEL_4" type="a5xx_uche_perfcounter_select"/>
1579bf215546Sopenharmony_ci	<reg32 offset="0x0ea5" name="UCHE_PERFCTR_UCHE_SEL_5" type="a5xx_uche_perfcounter_select"/>
1580bf215546Sopenharmony_ci	<reg32 offset="0x0ea6" name="UCHE_PERFCTR_UCHE_SEL_6" type="a5xx_uche_perfcounter_select"/>
1581bf215546Sopenharmony_ci	<reg32 offset="0x0ea7" name="UCHE_PERFCTR_UCHE_SEL_7" type="a5xx_uche_perfcounter_select"/>
1582bf215546Sopenharmony_ci	<reg32 offset="0x0ea8" name="UCHE_POWERCTR_UCHE_SEL_0"/>
1583bf215546Sopenharmony_ci	<reg32 offset="0x0ea9" name="UCHE_POWERCTR_UCHE_SEL_1"/>
1584bf215546Sopenharmony_ci	<reg32 offset="0x0eaa" name="UCHE_POWERCTR_UCHE_SEL_2"/>
1585bf215546Sopenharmony_ci	<reg32 offset="0x0eab" name="UCHE_POWERCTR_UCHE_SEL_3"/>
1586bf215546Sopenharmony_ci	<reg32 offset="0x0eb1" name="UCHE_TRAP_LOG_LO"/>
1587bf215546Sopenharmony_ci	<reg32 offset="0x0eb2" name="UCHE_TRAP_LOG_HI"/>
1588bf215546Sopenharmony_ci
1589bf215546Sopenharmony_ci	<reg32 offset="0x0ec0" name="SP_DBG_ECO_CNTL"/>
1590bf215546Sopenharmony_ci	<reg32 offset="0x0ec1" name="SP_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1591bf215546Sopenharmony_ci	<reg32 offset="0x0ec2" name="SP_MODE_CNTL"/> <!-- always 0000001e? -->
1592bf215546Sopenharmony_ci	<reg32 offset="0x0ed0" name="SP_PERFCTR_SP_SEL_0"  type="a5xx_sp_perfcounter_select"/>
1593bf215546Sopenharmony_ci	<reg32 offset="0x0ed1" name="SP_PERFCTR_SP_SEL_1"  type="a5xx_sp_perfcounter_select"/>
1594bf215546Sopenharmony_ci	<reg32 offset="0x0ed2" name="SP_PERFCTR_SP_SEL_2"  type="a5xx_sp_perfcounter_select"/>
1595bf215546Sopenharmony_ci	<reg32 offset="0x0ed3" name="SP_PERFCTR_SP_SEL_3"  type="a5xx_sp_perfcounter_select"/>
1596bf215546Sopenharmony_ci	<reg32 offset="0x0ed4" name="SP_PERFCTR_SP_SEL_4"  type="a5xx_sp_perfcounter_select"/>
1597bf215546Sopenharmony_ci	<reg32 offset="0x0ed5" name="SP_PERFCTR_SP_SEL_5"  type="a5xx_sp_perfcounter_select"/>
1598bf215546Sopenharmony_ci	<reg32 offset="0x0ed6" name="SP_PERFCTR_SP_SEL_6"  type="a5xx_sp_perfcounter_select"/>
1599bf215546Sopenharmony_ci	<reg32 offset="0x0ed7" name="SP_PERFCTR_SP_SEL_7"  type="a5xx_sp_perfcounter_select"/>
1600bf215546Sopenharmony_ci	<reg32 offset="0x0ed8" name="SP_PERFCTR_SP_SEL_8"  type="a5xx_sp_perfcounter_select"/>
1601bf215546Sopenharmony_ci	<reg32 offset="0x0ed9" name="SP_PERFCTR_SP_SEL_9"  type="a5xx_sp_perfcounter_select"/>
1602bf215546Sopenharmony_ci	<reg32 offset="0x0eda" name="SP_PERFCTR_SP_SEL_10" type="a5xx_sp_perfcounter_select"/>
1603bf215546Sopenharmony_ci	<reg32 offset="0x0edb" name="SP_PERFCTR_SP_SEL_11" type="a5xx_sp_perfcounter_select"/>
1604bf215546Sopenharmony_ci	<reg32 offset="0x0edc" name="SP_POWERCTR_SP_SEL_0"/>
1605bf215546Sopenharmony_ci	<reg32 offset="0x0edd" name="SP_POWERCTR_SP_SEL_1"/>
1606bf215546Sopenharmony_ci	<reg32 offset="0x0ede" name="SP_POWERCTR_SP_SEL_2"/>
1607bf215546Sopenharmony_ci	<reg32 offset="0x0edf" name="SP_POWERCTR_SP_SEL_3"/>
1608bf215546Sopenharmony_ci
1609bf215546Sopenharmony_ci	<reg32 offset="0x0f01" name="TPL1_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
1610bf215546Sopenharmony_ci	<reg32 offset="0x0f02" name="TPL1_MODE_CNTL"/> <!-- always 00000544? -->
1611bf215546Sopenharmony_ci	<reg32 offset="0x0f10" name="TPL1_PERFCTR_TP_SEL_0" type="a5xx_tp_perfcounter_select"/>
1612bf215546Sopenharmony_ci	<reg32 offset="0x0f11" name="TPL1_PERFCTR_TP_SEL_1" type="a5xx_tp_perfcounter_select"/>
1613bf215546Sopenharmony_ci	<reg32 offset="0x0f12" name="TPL1_PERFCTR_TP_SEL_2" type="a5xx_tp_perfcounter_select"/>
1614bf215546Sopenharmony_ci	<reg32 offset="0x0f13" name="TPL1_PERFCTR_TP_SEL_3" type="a5xx_tp_perfcounter_select"/>
1615bf215546Sopenharmony_ci	<reg32 offset="0x0f14" name="TPL1_PERFCTR_TP_SEL_4" type="a5xx_tp_perfcounter_select"/>
1616bf215546Sopenharmony_ci	<reg32 offset="0x0f15" name="TPL1_PERFCTR_TP_SEL_5" type="a5xx_tp_perfcounter_select"/>
1617bf215546Sopenharmony_ci	<reg32 offset="0x0f16" name="TPL1_PERFCTR_TP_SEL_6" type="a5xx_tp_perfcounter_select"/>
1618bf215546Sopenharmony_ci	<reg32 offset="0x0f17" name="TPL1_PERFCTR_TP_SEL_7" type="a5xx_tp_perfcounter_select"/>
1619bf215546Sopenharmony_ci	<reg32 offset="0x0f18" name="TPL1_POWERCTR_TP_SEL_0"/>
1620bf215546Sopenharmony_ci	<reg32 offset="0x0f19" name="TPL1_POWERCTR_TP_SEL_1"/>
1621bf215546Sopenharmony_ci	<reg32 offset="0x0f1a" name="TPL1_POWERCTR_TP_SEL_2"/>
1622bf215546Sopenharmony_ci	<reg32 offset="0x0f1b" name="TPL1_POWERCTR_TP_SEL_3"/>
1623bf215546Sopenharmony_ci
1624bf215546Sopenharmony_ci	<reg32 offset="0x3000" name="VBIF_VERSION"/>
1625bf215546Sopenharmony_ci	<reg32 offset="0x3001" name="VBIF_CLKON"/>
1626bf215546Sopenharmony_ci<!--
1627bf215546Sopenharmony_ci#define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_MASK   0x1
1628bf215546Sopenharmony_ci#define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_SHIFT  0x1
1629bf215546Sopenharmony_ci -->
1630bf215546Sopenharmony_ci	<reg32 offset="0x3028" name="VBIF_ABIT_SORT"/>
1631bf215546Sopenharmony_ci	<reg32 offset="0x3029" name="VBIF_ABIT_SORT_CONF"/>
1632bf215546Sopenharmony_ci	<reg32 offset="0x3049" name="VBIF_ROUND_ROBIN_QOS_ARB"/>
1633bf215546Sopenharmony_ci	<reg32 offset="0x302a" name="VBIF_GATE_OFF_WRREQ_EN"/>
1634bf215546Sopenharmony_ci	<reg32 offset="0x302c" name="VBIF_IN_RD_LIM_CONF0"/>
1635bf215546Sopenharmony_ci	<reg32 offset="0x302d" name="VBIF_IN_RD_LIM_CONF1"/>
1636bf215546Sopenharmony_ci	<reg32 offset="0x3080" name="VBIF_XIN_HALT_CTRL0"/>
1637bf215546Sopenharmony_ci<!--
1638bf215546Sopenharmony_ci#define A5XX_VBIF_XIN_HALT_CTRL0_MASK	   0xF
1639bf215546Sopenharmony_ci#define A510_VBIF_XIN_HALT_CTRL0_MASK	   0x7
1640bf215546Sopenharmony_ci -->
1641bf215546Sopenharmony_ci	<reg32 offset="0x3081" name="VBIF_XIN_HALT_CTRL1"/>
1642bf215546Sopenharmony_ci	<reg32 offset="0x3084" name="VBIF_TEST_BUS_OUT_CTRL"/>
1643bf215546Sopenharmony_ci<!--
1644bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_MASK    0x1
1645bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_SHIFT   0x0
1646bf215546Sopenharmony_ci -->
1647bf215546Sopenharmony_ci	<reg32 offset="0x3085" name="VBIF_TEST_BUS1_CTRL0"/>
1648bf215546Sopenharmony_ci	<reg32 offset="0x3086" name="VBIF_TEST_BUS1_CTRL1"/>
1649bf215546Sopenharmony_ci<!--
1650bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_MASK  0xF
1651bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_SHIFT 0x0
1652bf215546Sopenharmony_ci -->
1653bf215546Sopenharmony_ci	<reg32 offset="0x3087" name="VBIF_TEST_BUS2_CTRL0"/>
1654bf215546Sopenharmony_ci	<reg32 offset="0x3088" name="VBIF_TEST_BUS2_CTRL1"/>
1655bf215546Sopenharmony_ci<!--
1656bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_MASK     0xF
1657bf215546Sopenharmony_ci#define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_SHIFT    0x0
1658bf215546Sopenharmony_ci -->
1659bf215546Sopenharmony_ci	<reg32 offset="0x308c" name="VBIF_TEST_BUS_OUT"/>
1660bf215546Sopenharmony_ci	<reg32 offset="0x30c0" name="VBIF_PERF_CNT_EN0"/>
1661bf215546Sopenharmony_ci	<reg32 offset="0x30c1" name="VBIF_PERF_CNT_EN1"/>
1662bf215546Sopenharmony_ci	<reg32 offset="0x30c2" name="VBIF_PERF_CNT_EN2"/>
1663bf215546Sopenharmony_ci	<reg32 offset="0x30c3" name="VBIF_PERF_CNT_EN3"/>
1664bf215546Sopenharmony_ci	<reg32 offset="0x30c8" name="VBIF_PERF_CNT_CLR0"/>
1665bf215546Sopenharmony_ci	<reg32 offset="0x30c9" name="VBIF_PERF_CNT_CLR1"/>
1666bf215546Sopenharmony_ci	<reg32 offset="0x30ca" name="VBIF_PERF_CNT_CLR2"/>
1667bf215546Sopenharmony_ci	<reg32 offset="0x30cb" name="VBIF_PERF_CNT_CLR3"/>
1668bf215546Sopenharmony_ci	<reg32 offset="0x30d0" name="VBIF_PERF_CNT_SEL0" type="a5xx_vbif_perfcounter_select"/>
1669bf215546Sopenharmony_ci	<reg32 offset="0x30d1" name="VBIF_PERF_CNT_SEL1" type="a5xx_vbif_perfcounter_select"/>
1670bf215546Sopenharmony_ci	<reg32 offset="0x30d2" name="VBIF_PERF_CNT_SEL2" type="a5xx_vbif_perfcounter_select"/>
1671bf215546Sopenharmony_ci	<reg32 offset="0x30d3" name="VBIF_PERF_CNT_SEL3" type="a5xx_vbif_perfcounter_select"/>
1672bf215546Sopenharmony_ci	<reg32 offset="0x30d8" name="VBIF_PERF_CNT_LOW0"/>
1673bf215546Sopenharmony_ci	<reg32 offset="0x30d9" name="VBIF_PERF_CNT_LOW1"/>
1674bf215546Sopenharmony_ci	<reg32 offset="0x30da" name="VBIF_PERF_CNT_LOW2"/>
1675bf215546Sopenharmony_ci	<reg32 offset="0x30db" name="VBIF_PERF_CNT_LOW3"/>
1676bf215546Sopenharmony_ci	<reg32 offset="0x30e0" name="VBIF_PERF_CNT_HIGH0"/>
1677bf215546Sopenharmony_ci	<reg32 offset="0x30e1" name="VBIF_PERF_CNT_HIGH1"/>
1678bf215546Sopenharmony_ci	<reg32 offset="0x30e2" name="VBIF_PERF_CNT_HIGH2"/>
1679bf215546Sopenharmony_ci	<reg32 offset="0x30e3" name="VBIF_PERF_CNT_HIGH3"/>
1680bf215546Sopenharmony_ci	<reg32 offset="0x3100" name="VBIF_PERF_PWR_CNT_EN0"/>
1681bf215546Sopenharmony_ci	<reg32 offset="0x3101" name="VBIF_PERF_PWR_CNT_EN1"/>
1682bf215546Sopenharmony_ci	<reg32 offset="0x3102" name="VBIF_PERF_PWR_CNT_EN2"/>
1683bf215546Sopenharmony_ci	<reg32 offset="0x3110" name="VBIF_PERF_PWR_CNT_LOW0"/>
1684bf215546Sopenharmony_ci	<reg32 offset="0x3111" name="VBIF_PERF_PWR_CNT_LOW1"/>
1685bf215546Sopenharmony_ci	<reg32 offset="0x3112" name="VBIF_PERF_PWR_CNT_LOW2"/>
1686bf215546Sopenharmony_ci	<reg32 offset="0x3118" name="VBIF_PERF_PWR_CNT_HIGH0"/>
1687bf215546Sopenharmony_ci	<reg32 offset="0x3119" name="VBIF_PERF_PWR_CNT_HIGH1"/>
1688bf215546Sopenharmony_ci	<reg32 offset="0x311a" name="VBIF_PERF_PWR_CNT_HIGH2"/>
1689bf215546Sopenharmony_ci
1690bf215546Sopenharmony_ci	<reg32 offset="0x8800" name="GPMU_INST_RAM_BASE"/>
1691bf215546Sopenharmony_ci	<reg32 offset="0x9800" name="GPMU_DATA_RAM_BASE"/>
1692bf215546Sopenharmony_ci	<reg32 offset="0xa881" name="GPMU_SP_POWER_CNTL"/>
1693bf215546Sopenharmony_ci	<reg32 offset="0xa886" name="GPMU_RBCCU_CLOCK_CNTL"/>
1694bf215546Sopenharmony_ci	<reg32 offset="0xa887" name="GPMU_RBCCU_POWER_CNTL"/>
1695bf215546Sopenharmony_ci	<reg32 offset="0xa88b" name="GPMU_SP_PWR_CLK_STATUS">
1696bf215546Sopenharmony_ci		<bitfield name="PWR_ON" pos="20" type="boolean"/>
1697bf215546Sopenharmony_ci	</reg32>
1698bf215546Sopenharmony_ci	<reg32 offset="0xa88d" name="GPMU_RBCCU_PWR_CLK_STATUS">
1699bf215546Sopenharmony_ci		<bitfield name="PWR_ON" pos="20" type="boolean"/>
1700bf215546Sopenharmony_ci	</reg32>
1701bf215546Sopenharmony_ci	<reg32 offset="0xa891" name="GPMU_PWR_COL_STAGGER_DELAY"/>
1702bf215546Sopenharmony_ci	<reg32 offset="0xa892" name="GPMU_PWR_COL_INTER_FRAME_CTRL"/>
1703bf215546Sopenharmony_ci	<reg32 offset="0xa893" name="GPMU_PWR_COL_INTER_FRAME_HYST"/>
1704bf215546Sopenharmony_ci	<reg32 offset="0xa894" name="GPMU_PWR_COL_BINNING_CTRL"/>
1705bf215546Sopenharmony_ci	<reg32 offset="0xa8c1" name="GPMU_WFI_CONFIG"/>
1706bf215546Sopenharmony_ci	<reg32 offset="0xa8d6" name="GPMU_RBBM_INTR_INFO"/>
1707bf215546Sopenharmony_ci	<reg32 offset="0xa8d8" name="GPMU_CM3_SYSRESET"/>
1708bf215546Sopenharmony_ci	<reg32 offset="0xa8e0" name="GPMU_GENERAL_0"/>
1709bf215546Sopenharmony_ci	<reg32 offset="0xa8e1" name="GPMU_GENERAL_1"/>
1710bf215546Sopenharmony_ci
1711bf215546Sopenharmony_ci<!--
1712bf215546Sopenharmony_ci/* COUNTABLE FOR SP PERFCOUNTER */
1713bf215546Sopenharmony_ci#define A5XX_SP_ALU_ACTIVE_CYCLES          0x1
1714bf215546Sopenharmony_ci#define A5XX_SP0_ICL1_MISSES               0x35
1715bf215546Sopenharmony_ci#define A5XX_SP_FS_CFLOW_INSTRUCTIONS      0x27
1716bf215546Sopenharmony_ci
1717bf215546Sopenharmony_ci/* COUNTABLE FOR TSE PERFCOUNTER */
1718bf215546Sopenharmony_ci#define A5XX_TSE_INPUT_PRIM_NUM            0x6
1719bf215546Sopenharmony_ci -->
1720bf215546Sopenharmony_ci	<reg32 offset="0xa840" name="SP_POWER_COUNTER_0_LO"/>
1721bf215546Sopenharmony_ci	<reg32 offset="0xa841" name="SP_POWER_COUNTER_0_HI"/>
1722bf215546Sopenharmony_ci	<reg32 offset="0xa842" name="SP_POWER_COUNTER_1_LO"/>
1723bf215546Sopenharmony_ci	<reg32 offset="0xa843" name="SP_POWER_COUNTER_1_HI"/>
1724bf215546Sopenharmony_ci	<reg32 offset="0xa844" name="SP_POWER_COUNTER_2_LO"/>
1725bf215546Sopenharmony_ci	<reg32 offset="0xa845" name="SP_POWER_COUNTER_2_HI"/>
1726bf215546Sopenharmony_ci	<reg32 offset="0xa846" name="SP_POWER_COUNTER_3_LO"/>
1727bf215546Sopenharmony_ci	<reg32 offset="0xa847" name="SP_POWER_COUNTER_3_HI"/>
1728bf215546Sopenharmony_ci	<reg32 offset="0xa848" name="TP_POWER_COUNTER_0_LO"/>
1729bf215546Sopenharmony_ci	<reg32 offset="0xa849" name="TP_POWER_COUNTER_0_HI"/>
1730bf215546Sopenharmony_ci	<reg32 offset="0xa84a" name="TP_POWER_COUNTER_1_LO"/>
1731bf215546Sopenharmony_ci	<reg32 offset="0xa84b" name="TP_POWER_COUNTER_1_HI"/>
1732bf215546Sopenharmony_ci	<reg32 offset="0xa84c" name="TP_POWER_COUNTER_2_LO"/>
1733bf215546Sopenharmony_ci	<reg32 offset="0xa84d" name="TP_POWER_COUNTER_2_HI"/>
1734bf215546Sopenharmony_ci	<reg32 offset="0xa84e" name="TP_POWER_COUNTER_3_LO"/>
1735bf215546Sopenharmony_ci	<reg32 offset="0xa84f" name="TP_POWER_COUNTER_3_HI"/>
1736bf215546Sopenharmony_ci	<reg32 offset="0xa850" name="RB_POWER_COUNTER_0_LO"/>
1737bf215546Sopenharmony_ci	<reg32 offset="0xa851" name="RB_POWER_COUNTER_0_HI"/>
1738bf215546Sopenharmony_ci	<reg32 offset="0xa852" name="RB_POWER_COUNTER_1_LO"/>
1739bf215546Sopenharmony_ci	<reg32 offset="0xa853" name="RB_POWER_COUNTER_1_HI"/>
1740bf215546Sopenharmony_ci	<reg32 offset="0xa854" name="RB_POWER_COUNTER_2_LO"/>
1741bf215546Sopenharmony_ci	<reg32 offset="0xa855" name="RB_POWER_COUNTER_2_HI"/>
1742bf215546Sopenharmony_ci	<reg32 offset="0xa856" name="RB_POWER_COUNTER_3_LO"/>
1743bf215546Sopenharmony_ci	<reg32 offset="0xa857" name="RB_POWER_COUNTER_3_HI"/>
1744bf215546Sopenharmony_ci	<reg32 offset="0xa858" name="CCU_POWER_COUNTER_0_LO"/>
1745bf215546Sopenharmony_ci	<reg32 offset="0xa859" name="CCU_POWER_COUNTER_0_HI"/>
1746bf215546Sopenharmony_ci	<reg32 offset="0xa85a" name="CCU_POWER_COUNTER_1_LO"/>
1747bf215546Sopenharmony_ci	<reg32 offset="0xa85b" name="CCU_POWER_COUNTER_1_HI"/>
1748bf215546Sopenharmony_ci	<reg32 offset="0xa85c" name="UCHE_POWER_COUNTER_0_LO"/>
1749bf215546Sopenharmony_ci	<reg32 offset="0xa85d" name="UCHE_POWER_COUNTER_0_HI"/>
1750bf215546Sopenharmony_ci	<reg32 offset="0xa85e" name="UCHE_POWER_COUNTER_1_LO"/>
1751bf215546Sopenharmony_ci	<reg32 offset="0xa85f" name="UCHE_POWER_COUNTER_1_HI"/>
1752bf215546Sopenharmony_ci	<reg32 offset="0xa860" name="UCHE_POWER_COUNTER_2_LO"/>
1753bf215546Sopenharmony_ci	<reg32 offset="0xa861" name="UCHE_POWER_COUNTER_2_HI"/>
1754bf215546Sopenharmony_ci	<reg32 offset="0xa862" name="UCHE_POWER_COUNTER_3_LO"/>
1755bf215546Sopenharmony_ci	<reg32 offset="0xa863" name="UCHE_POWER_COUNTER_3_HI"/>
1756bf215546Sopenharmony_ci	<reg32 offset="0xa864" name="CP_POWER_COUNTER_0_LO"/>
1757bf215546Sopenharmony_ci	<reg32 offset="0xa865" name="CP_POWER_COUNTER_0_HI"/>
1758bf215546Sopenharmony_ci	<reg32 offset="0xa866" name="CP_POWER_COUNTER_1_LO"/>
1759bf215546Sopenharmony_ci	<reg32 offset="0xa867" name="CP_POWER_COUNTER_1_HI"/>
1760bf215546Sopenharmony_ci	<reg32 offset="0xa868" name="CP_POWER_COUNTER_2_LO"/>
1761bf215546Sopenharmony_ci	<reg32 offset="0xa869" name="CP_POWER_COUNTER_2_HI"/>
1762bf215546Sopenharmony_ci	<reg32 offset="0xa86a" name="CP_POWER_COUNTER_3_LO"/>
1763bf215546Sopenharmony_ci	<reg32 offset="0xa86b" name="CP_POWER_COUNTER_3_HI"/>
1764bf215546Sopenharmony_ci	<reg32 offset="0xa86c" name="GPMU_POWER_COUNTER_0_LO"/>
1765bf215546Sopenharmony_ci	<reg32 offset="0xa86d" name="GPMU_POWER_COUNTER_0_HI"/>
1766bf215546Sopenharmony_ci	<reg32 offset="0xa86e" name="GPMU_POWER_COUNTER_1_LO"/>
1767bf215546Sopenharmony_ci	<reg32 offset="0xa86f" name="GPMU_POWER_COUNTER_1_HI"/>
1768bf215546Sopenharmony_ci	<reg32 offset="0xa870" name="GPMU_POWER_COUNTER_2_LO"/>
1769bf215546Sopenharmony_ci	<reg32 offset="0xa871" name="GPMU_POWER_COUNTER_2_HI"/>
1770bf215546Sopenharmony_ci	<reg32 offset="0xa872" name="GPMU_POWER_COUNTER_3_LO"/>
1771bf215546Sopenharmony_ci	<reg32 offset="0xa873" name="GPMU_POWER_COUNTER_3_HI"/>
1772bf215546Sopenharmony_ci	<reg32 offset="0xa874" name="GPMU_POWER_COUNTER_4_LO"/>
1773bf215546Sopenharmony_ci	<reg32 offset="0xa875" name="GPMU_POWER_COUNTER_4_HI"/>
1774bf215546Sopenharmony_ci	<reg32 offset="0xa876" name="GPMU_POWER_COUNTER_5_LO"/>
1775bf215546Sopenharmony_ci	<reg32 offset="0xa877" name="GPMU_POWER_COUNTER_5_HI"/>
1776bf215546Sopenharmony_ci	<reg32 offset="0xa878" name="GPMU_POWER_COUNTER_ENABLE"/>
1777bf215546Sopenharmony_ci	<reg32 offset="0xa879" name="GPMU_ALWAYS_ON_COUNTER_LO"/>
1778bf215546Sopenharmony_ci	<reg32 offset="0xa87a" name="GPMU_ALWAYS_ON_COUNTER_HI"/>
1779bf215546Sopenharmony_ci	<reg32 offset="0xa87b" name="GPMU_ALWAYS_ON_COUNTER_RESET"/>
1780bf215546Sopenharmony_ci	<reg32 offset="0xa87c" name="GPMU_POWER_COUNTER_SELECT_0"/>
1781bf215546Sopenharmony_ci	<reg32 offset="0xa87d" name="GPMU_POWER_COUNTER_SELECT_1"/>
1782bf215546Sopenharmony_ci	<reg32 offset="0xa8a3" name="GPMU_CLOCK_THROTTLE_CTRL"/>
1783bf215546Sopenharmony_ci	<reg32 offset="0xa8a8" name="GPMU_THROTTLE_UNMASK_FORCE_CTRL"/>
1784bf215546Sopenharmony_ci	<reg32 offset="0xac00" name="GPMU_TEMP_SENSOR_ID"/>
1785bf215546Sopenharmony_ci	<reg32 offset="0xac01" name="GPMU_TEMP_SENSOR_CONFIG"/>
1786bf215546Sopenharmony_ci	<reg32 offset="0xac02" name="GPMU_TEMP_VAL"/>
1787bf215546Sopenharmony_ci	<reg32 offset="0xac03" name="GPMU_DELTA_TEMP_THRESHOLD"/>
1788bf215546Sopenharmony_ci	<reg32 offset="0xac05" name="GPMU_TEMP_THRESHOLD_INTR_STATUS"/>
1789bf215546Sopenharmony_ci	<reg32 offset="0xac06" name="GPMU_TEMP_THRESHOLD_INTR_EN_MASK"/>
1790bf215546Sopenharmony_ci	<reg32 offset="0xac40" name="GPMU_LEAKAGE_TEMP_COEFF_0_1"/>
1791bf215546Sopenharmony_ci	<reg32 offset="0xac41" name="GPMU_LEAKAGE_TEMP_COEFF_2_3"/>
1792bf215546Sopenharmony_ci	<reg32 offset="0xac42" name="GPMU_LEAKAGE_VTG_COEFF_0_1"/>
1793bf215546Sopenharmony_ci	<reg32 offset="0xac43" name="GPMU_LEAKAGE_VTG_COEFF_2_3"/>
1794bf215546Sopenharmony_ci	<reg32 offset="0xac46" name="GPMU_BASE_LEAKAGE"/>
1795bf215546Sopenharmony_ci	<reg32 offset="0xac60" name="GPMU_GPMU_VOLTAGE"/>
1796bf215546Sopenharmony_ci	<reg32 offset="0xac61" name="GPMU_GPMU_VOLTAGE_INTR_STATUS"/>
1797bf215546Sopenharmony_ci	<reg32 offset="0xac62" name="GPMU_GPMU_VOLTAGE_INTR_EN_MASK"/>
1798bf215546Sopenharmony_ci	<reg32 offset="0xac80" name="GPMU_GPMU_PWR_THRESHOLD"/>
1799bf215546Sopenharmony_ci	<reg32 offset="0xacc4" name="GPMU_GPMU_LLM_GLM_SLEEP_CTRL"/>
1800bf215546Sopenharmony_ci	<reg32 offset="0xacc5" name="GPMU_GPMU_LLM_GLM_SLEEP_STATUS"/>
1801bf215546Sopenharmony_ci	<reg32 offset="0xb80c" name="GDPM_CONFIG1"/>
1802bf215546Sopenharmony_ci	<reg32 offset="0xb80d" name="GDPM_CONFIG2"/>
1803bf215546Sopenharmony_ci	<reg32 offset="0xb80f" name="GDPM_INT_EN"/>
1804bf215546Sopenharmony_ci	<reg32 offset="0xb811" name="GDPM_INT_MASK"/>
1805bf215546Sopenharmony_ci	<reg32 offset="0xb9a0" name="GPMU_BEC_ENABLE"/>
1806bf215546Sopenharmony_ci	<reg32 offset="0xc41a" name="GPU_CS_SENSOR_GENERAL_STATUS"/>
1807bf215546Sopenharmony_ci	<reg32 offset="0xc41d" name="GPU_CS_AMP_CALIBRATION_STATUS1_0"/>
1808bf215546Sopenharmony_ci	<reg32 offset="0xc41f" name="GPU_CS_AMP_CALIBRATION_STATUS1_2"/>
1809bf215546Sopenharmony_ci	<reg32 offset="0xc421" name="GPU_CS_AMP_CALIBRATION_STATUS1_4"/>
1810bf215546Sopenharmony_ci	<reg32 offset="0xc520" name="GPU_CS_ENABLE_REG"/>
1811bf215546Sopenharmony_ci	<reg32 offset="0xc557" name="GPU_CS_AMP_CALIBRATION_CONTROL1"/>
1812bf215546Sopenharmony_ci
1813bf215546Sopenharmony_ci
1814bf215546Sopenharmony_ci	<reg32 offset="0xe000" name="GRAS_CL_CNTL">
1815bf215546Sopenharmony_ci		<bitfield name="ZERO_GB_SCALE_Z" pos="6" type="boolean"/>
1816bf215546Sopenharmony_ci	</reg32>
1817bf215546Sopenharmony_ci	<bitset name="a5xx_gras_xs_cl_cntl" inline="yes">
1818bf215546Sopenharmony_ci		<bitfield name="CLIP_MASK" low="0" high="7"/>
1819bf215546Sopenharmony_ci		<bitfield name="CULL_MASK" low="8" high="15"/>
1820bf215546Sopenharmony_ci	</bitset>
1821bf215546Sopenharmony_ci	<reg32 offset="0xe001" name="GRAS_VS_CL_CNTL" type="a5xx_gras_xs_cl_cntl"/>
1822bf215546Sopenharmony_ci	<reg32 offset="0xe004" name="UNKNOWN_E004"/> <!-- always 00000000? -->
1823bf215546Sopenharmony_ci	<reg32 offset="0xe005" name="GRAS_CNTL">
1824bf215546Sopenharmony_ci		<!-- see also RB_RENDER_CONTROL0 -->
1825bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_PIXEL" pos="0" type="boolean"/>
1826bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_CENTROID" pos="1" type="boolean"/>
1827bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_SAMPLE" pos="2" type="boolean"/>
1828bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_PIXEL" pos="3" type="boolean"/>
1829bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_CENTROID" pos="4" type="boolean"/>
1830bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_SAMPLE" pos="5" type="boolean"/>
1831bf215546Sopenharmony_ci		<bitfield name="COORD_MASK" low="6" high="9" type="hex"/>
1832bf215546Sopenharmony_ci	</reg32>
1833bf215546Sopenharmony_ci	<reg32 offset="0xe006" name="GRAS_CL_GUARDBAND_CLIP_ADJ">
1834bf215546Sopenharmony_ci		<bitfield name="HORZ" low="0" high="9" type="uint"/>
1835bf215546Sopenharmony_ci		<bitfield name="VERT" low="10" high="19" type="uint"/>
1836bf215546Sopenharmony_ci	</reg32>
1837bf215546Sopenharmony_ci	<reg32 offset="0xe010" name="GRAS_CL_VPORT_XOFFSET_0" type="float"/>
1838bf215546Sopenharmony_ci	<reg32 offset="0xe011" name="GRAS_CL_VPORT_XSCALE_0" type="float"/>
1839bf215546Sopenharmony_ci	<reg32 offset="0xe012" name="GRAS_CL_VPORT_YOFFSET_0" type="float"/>
1840bf215546Sopenharmony_ci	<reg32 offset="0xe013" name="GRAS_CL_VPORT_YSCALE_0" type="float"/>
1841bf215546Sopenharmony_ci	<reg32 offset="0xe014" name="GRAS_CL_VPORT_ZOFFSET_0" type="float"/>
1842bf215546Sopenharmony_ci	<reg32 offset="0xe015" name="GRAS_CL_VPORT_ZSCALE_0" type="float"/>
1843bf215546Sopenharmony_ci	<reg32 offset="0xe090" name="GRAS_SU_CNTL">
1844bf215546Sopenharmony_ci		<bitfield name="CULL_FRONT" pos="0" type="boolean"/>
1845bf215546Sopenharmony_ci		<bitfield name="CULL_BACK" pos="1" type="boolean"/>
1846bf215546Sopenharmony_ci		<bitfield name="FRONT_CW" pos="2" type="boolean"/>
1847bf215546Sopenharmony_ci		<bitfield name="LINEHALFWIDTH" low="3" high="10" radix="2" type="fixed"/>
1848bf215546Sopenharmony_ci		<bitfield name="POLY_OFFSET" pos="11" type="boolean"/>
1849bf215546Sopenharmony_ci		<bitfield name="LINE_MODE" pos="13" type="a5xx_line_mode"/>
1850bf215546Sopenharmony_ci		<!-- probably LINEHALFWIDTH is the same as a4xx.. -->
1851bf215546Sopenharmony_ci	</reg32>
1852bf215546Sopenharmony_ci	<reg32 offset="0xe091" name="GRAS_SU_POINT_MINMAX">
1853bf215546Sopenharmony_ci		<bitfield name="MIN" low="0" high="15" type="ufixed" radix="4"/>
1854bf215546Sopenharmony_ci		<bitfield name="MAX" low="16" high="31" type="ufixed" radix="4"/>
1855bf215546Sopenharmony_ci	</reg32>
1856bf215546Sopenharmony_ci	<reg32 offset="0xe092" name="GRAS_SU_POINT_SIZE" type="fixed" radix="4"/>
1857bf215546Sopenharmony_ci	<reg32 offset="0xe093" name="GRAS_SU_LAYERED"/>
1858bf215546Sopenharmony_ci	<reg32 offset="0xe094" name="GRAS_SU_DEPTH_PLANE_CNTL">
1859bf215546Sopenharmony_ci		<bitfield name="FRAG_WRITES_Z" pos="0" type="boolean"/>
1860bf215546Sopenharmony_ci		<bitfield name="UNK1" pos="1" type="boolean"/>
1861bf215546Sopenharmony_ci	</reg32>
1862bf215546Sopenharmony_ci	<reg32 offset="0xe095" name="GRAS_SU_POLY_OFFSET_SCALE" type="float"/>
1863bf215546Sopenharmony_ci	<reg32 offset="0xe096" name="GRAS_SU_POLY_OFFSET_OFFSET" type="float"/>
1864bf215546Sopenharmony_ci	<reg32 offset="0xe097" name="GRAS_SU_POLY_OFFSET_OFFSET_CLAMP" type="float"/>
1865bf215546Sopenharmony_ci	<!-- duplicates RB_DEPTH_INFO0: -->
1866bf215546Sopenharmony_ci	<reg32 offset="0xe098" name="GRAS_SU_DEPTH_BUFFER_INFO">
1867bf215546Sopenharmony_ci		<bitfield name="DEPTH_FORMAT" low="0" high="2" type="a5xx_depth_format"/>
1868bf215546Sopenharmony_ci	</reg32>
1869bf215546Sopenharmony_ci	<reg32 offset="0xe099" name="GRAS_SU_CONSERVATIVE_RAS_CNTL"/> <!-- always 00000000? -->
1870bf215546Sopenharmony_ci	<!--
1871bf215546Sopenharmony_ci	guessing about window/screen/extent, I think they can in the end be
1872bf215546Sopenharmony_ci	used interchangeably?
1873bf215546Sopenharmony_ci	 -->
1874bf215546Sopenharmony_ci	<reg32 offset="0xe0a0" name="GRAS_SC_CNTL">
1875bf215546Sopenharmony_ci		<bitfield name="BINNING_PASS" pos="0" type="boolean"/>
1876bf215546Sopenharmony_ci		<bitfield name="SAMPLES_PASSED" pos="15" type="boolean"/>
1877bf215546Sopenharmony_ci	</reg32>
1878bf215546Sopenharmony_ci	<!-- note, 0x4 for binning pass when frag writes z?? -->
1879bf215546Sopenharmony_ci	<reg32 offset="0xe0a1" name="GRAS_SC_BIN_CNTL"/> <!-- always 00000000? -->
1880bf215546Sopenharmony_ci	<reg32 offset="0xe0a2" name="GRAS_SC_RAS_MSAA_CNTL">
1881bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
1882bf215546Sopenharmony_ci	</reg32>
1883bf215546Sopenharmony_ci	<reg32 offset="0xe0a3" name="GRAS_SC_DEST_MSAA_CNTL">
1884bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
1885bf215546Sopenharmony_ci		<bitfield name="MSAA_DISABLE" pos="2" type="boolean"/>
1886bf215546Sopenharmony_ci	</reg32>
1887bf215546Sopenharmony_ci	<reg32 offset="0xe0a4" name="GRAS_SC_SCREEN_SCISSOR_CNTL"/> <!-- always 00000000? -->
1888bf215546Sopenharmony_ci	<reg32 offset="0xe0aa" name="GRAS_SC_SCREEN_SCISSOR_TL_0" type="adreno_reg_xy"/>
1889bf215546Sopenharmony_ci	<reg32 offset="0xe0ab" name="GRAS_SC_SCREEN_SCISSOR_BR_0" type="adreno_reg_xy"/>
1890bf215546Sopenharmony_ci	<reg32 offset="0xe0ca" name="GRAS_SC_VIEWPORT_SCISSOR_TL_0" type="adreno_reg_xy"/>
1891bf215546Sopenharmony_ci	<reg32 offset="0xe0cb" name="GRAS_SC_VIEWPORT_SCISSOR_BR_0" type="adreno_reg_xy"/>
1892bf215546Sopenharmony_ci	<reg32 offset="0xe0ea" name="GRAS_SC_WINDOW_SCISSOR_TL" type="adreno_reg_xy"/>
1893bf215546Sopenharmony_ci	<reg32 offset="0xe0eb" name="GRAS_SC_WINDOW_SCISSOR_BR" type="adreno_reg_xy"/>
1894bf215546Sopenharmony_ci
1895bf215546Sopenharmony_ci	<doc>
1896bf215546Sopenharmony_ci		LRZ:  (Low Resolution Z ??)
1897bf215546Sopenharmony_ci		----
1898bf215546Sopenharmony_ci
1899bf215546Sopenharmony_ci		I think it serves two functions, early discard of primitives in binning
1900bf215546Sopenharmony_ci		pass without needing full resolution depth buffer, and also functions as
1901bf215546Sopenharmony_ci		a depth-prepass, used during the GMEM draws to discard primitives that
1902bf215546Sopenharmony_ci		would not be visible due to later draws.
1903bf215546Sopenharmony_ci
1904bf215546Sopenharmony_ci		The LRZ buffer always seems to be z16 format, regardless of actual
1905bf215546Sopenharmony_ci		depth buffer format.
1906bf215546Sopenharmony_ci
1907bf215546Sopenharmony_ci		Note that LRZ write should be disabled when blend/stencil/etc is enabled,
1908bf215546Sopenharmony_ci		since the occluded primitive can still contribute to final color value
1909bf215546Sopenharmony_ci		of a fragment.
1910bf215546Sopenharmony_ci
1911bf215546Sopenharmony_ci		Only enabled for GL_LESS/GL_LEQUAL/GL_GREATER/GL_GEQUAL?
1912bf215546Sopenharmony_ci	</doc>
1913bf215546Sopenharmony_ci	<reg32 offset="0xe100" name="GRAS_LRZ_CNTL">
1914bf215546Sopenharmony_ci		<bitfield name="ENABLE" pos="0" type="boolean"/>
1915bf215546Sopenharmony_ci		<doc>LRZ write also disabled for blend/etc.</doc>
1916bf215546Sopenharmony_ci		<bitfield name="LRZ_WRITE" pos="1" type="boolean"/>
1917bf215546Sopenharmony_ci		<doc>update MAX instead of MIN value, ie. GL_GREATER/GL_GEQUAL</doc>
1918bf215546Sopenharmony_ci		<bitfield name="GREATER" pos="2" type="boolean"/>
1919bf215546Sopenharmony_ci		<!--
1920bf215546Sopenharmony_ci		b3 set sometimes, when depth buffer isn't cleared.. maybe it
1921bf215546Sopenharmony_ci		invalidates the LRZ buffer?  (Or just the covered positions?
1922bf215546Sopenharmony_ci		 -->
1923bf215546Sopenharmony_ci	</reg32>
1924bf215546Sopenharmony_ci	<reg32 offset="0xe101" name="GRAS_LRZ_BUFFER_BASE_LO"/>
1925bf215546Sopenharmony_ci	<reg32 offset="0xe102" name="GRAS_LRZ_BUFFER_BASE_HI"/>
1926bf215546Sopenharmony_ci	<!--
1927bf215546Sopenharmony_ci	lzr pitch is depth pitch (in pixels) / 8 (aligned to 32)..
1928bf215546Sopenharmony_ci	 -->
1929bf215546Sopenharmony_ci	<doc>
1930bf215546Sopenharmony_ci		Pitch is depth width (in pixels) / 8 (aligned to 32).  Height
1931bf215546Sopenharmony_ci		is also divided by 8 (ie. covers 8x8 pixels)
1932bf215546Sopenharmony_ci	</doc>
1933bf215546Sopenharmony_ci	<reg32 offset="0xe103" name="GRAS_LRZ_BUFFER_PITCH" shr="5" type="uint"/>
1934bf215546Sopenharmony_ci	<reg32 offset="0xe104" name="GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO"/>
1935bf215546Sopenharmony_ci	<reg32 offset="0xe105" name="GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI"/>
1936bf215546Sopenharmony_ci
1937bf215546Sopenharmony_ci	<reg32 offset="0xe140" name="RB_CNTL">
1938bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="7" shr="5" type="uint"/>
1939bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="9" high="16" shr="5" type="uint"/>
1940bf215546Sopenharmony_ci		<bitfield name="BYPASS" pos="17" type="boolean"/>
1941bf215546Sopenharmony_ci	</reg32>
1942bf215546Sopenharmony_ci	<reg32 offset="0xe141" name="RB_RENDER_CNTL">
1943bf215546Sopenharmony_ci<!--
1944bf215546Sopenharmony_cibit 3 set for normal draws
1945bf215546Sopenharmony_cibit 7 for RECTLIST (clear) when z32s8 (used for clear of depth32?  not set
1946bf215546Sopenharmony_ci	for z32 with no stencil, but maybe in that case separate z/s not used?
1947bf215546Sopenharmony_ci	see mrt-fbo-* zs=2)
1948bf215546Sopenharmony_ci -->
1949bf215546Sopenharmony_ci		<bitfield name="BINNING_PASS" pos="0" type="boolean"/>
1950bf215546Sopenharmony_ci		<bitfield name="SAMPLES_PASSED" pos="6" type="boolean"/>
1951bf215546Sopenharmony_ci		<bitfield name="DISABLE_COLOR_PIPE" pos="7" type="boolean"/>
1952bf215546Sopenharmony_ci		<!-- why everything twice?? maybe read vs write? -->
1953bf215546Sopenharmony_ci		<!-- UBWC flag buffer enabled for depth/stencil: -->
1954bf215546Sopenharmony_ci		<bitfield name="FLAG_DEPTH" pos="14" type="boolean"/>
1955bf215546Sopenharmony_ci		<bitfield name="FLAG_DEPTH2" pos="15" type="boolean"/>
1956bf215546Sopenharmony_ci		<!-- bitmask of MRTs using UBWC flag buffer: -->
1957bf215546Sopenharmony_ci		<bitfield name="FLAG_MRTS" low="16" high="23"/>
1958bf215546Sopenharmony_ci		<bitfield name="FLAG_MRTS2" low="24" high="31"/>
1959bf215546Sopenharmony_ci	</reg32>
1960bf215546Sopenharmony_ci	<reg32 offset="0xe142" name="RB_RAS_MSAA_CNTL">
1961bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
1962bf215546Sopenharmony_ci	</reg32>
1963bf215546Sopenharmony_ci	<reg32 offset="0xe143" name="RB_DEST_MSAA_CNTL">
1964bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
1965bf215546Sopenharmony_ci		<bitfield name="MSAA_DISABLE" pos="2" type="boolean"/>
1966bf215546Sopenharmony_ci	</reg32>
1967bf215546Sopenharmony_ci	<!--
1968bf215546Sopenharmony_ci	note: maybe not actually called RB_RENDER_CONTROLn (since RB_RENDER_CNTL
1969bf215546Sopenharmony_ci	name comes from kernel and is probably right)
1970bf215546Sopenharmony_ci	 -->
1971bf215546Sopenharmony_ci	<reg32 offset="0xe144" name="RB_RENDER_CONTROL0">
1972bf215546Sopenharmony_ci		<!-- see also GRAS_CNTL -->
1973bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_PIXEL" pos="0" type="boolean"/>
1974bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_CENTROID" pos="1" type="boolean"/>
1975bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_SAMPLE" pos="2" type="boolean"/>
1976bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_PIXEL" pos="3" type="boolean"/>
1977bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_CENTROID" pos="4" type="boolean"/>
1978bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_SAMPLE" pos="5" type="boolean"/>
1979bf215546Sopenharmony_ci		<bitfield name="COORD_MASK" low="6" high="9" type="hex"/>
1980bf215546Sopenharmony_ci	</reg32>
1981bf215546Sopenharmony_ci	<reg32 offset="0xe145" name="RB_RENDER_CONTROL1">
1982bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK" pos="0" type="boolean"/>
1983bf215546Sopenharmony_ci		<bitfield name="FACENESS" pos="1" type="boolean"/>
1984bf215546Sopenharmony_ci		<bitfield name="SAMPLEID" pos="2" type="boolean"/>
1985bf215546Sopenharmony_ci	</reg32>
1986bf215546Sopenharmony_ci	<reg32 offset="0xe146" name="RB_FS_OUTPUT_CNTL">
1987bf215546Sopenharmony_ci		<!-- bit0 set except for binning pass.. -->
1988bf215546Sopenharmony_ci		<bitfield name="MRT" low="0" high="3" type="uint"/>
1989bf215546Sopenharmony_ci		<bitfield name="FRAG_WRITES_Z" pos="5" type="boolean"/>
1990bf215546Sopenharmony_ci	</reg32>
1991bf215546Sopenharmony_ci	<reg32 offset="0xe147" name="RB_RENDER_COMPONENTS">
1992bf215546Sopenharmony_ci		<bitfield name="RT0" low="0" high="3"/>
1993bf215546Sopenharmony_ci		<bitfield name="RT1" low="4" high="7"/>
1994bf215546Sopenharmony_ci		<bitfield name="RT2" low="8" high="11"/>
1995bf215546Sopenharmony_ci		<bitfield name="RT3" low="12" high="15"/>
1996bf215546Sopenharmony_ci		<bitfield name="RT4" low="16" high="19"/>
1997bf215546Sopenharmony_ci		<bitfield name="RT5" low="20" high="23"/>
1998bf215546Sopenharmony_ci		<bitfield name="RT6" low="24" high="27"/>
1999bf215546Sopenharmony_ci		<bitfield name="RT7" low="28" high="31"/>
2000bf215546Sopenharmony_ci	</reg32>
2001bf215546Sopenharmony_ci	<array offset="0xe150" name="RB_MRT" stride="7" length="8">
2002bf215546Sopenharmony_ci		<reg32 offset="0x0" name="CONTROL">
2003bf215546Sopenharmony_ci			<bitfield name="BLEND" pos="0" type="boolean"/>
2004bf215546Sopenharmony_ci			<bitfield name="BLEND2" pos="1" type="boolean"/>
2005bf215546Sopenharmony_ci			<bitfield name="ROP_ENABLE" pos="2" type="boolean"/>
2006bf215546Sopenharmony_ci			<bitfield name="ROP_CODE" low="3" high="6" type="a3xx_rop_code"/>
2007bf215546Sopenharmony_ci			<bitfield name="COMPONENT_ENABLE" low="7" high="10" type="hex"/>
2008bf215546Sopenharmony_ci		</reg32>
2009bf215546Sopenharmony_ci		<reg32 offset="0x1" name="BLEND_CONTROL">
2010bf215546Sopenharmony_ci			<bitfield name="RGB_SRC_FACTOR" low="0" high="4" type="adreno_rb_blend_factor"/>
2011bf215546Sopenharmony_ci			<bitfield name="RGB_BLEND_OPCODE" low="5" high="7" type="a3xx_rb_blend_opcode"/>
2012bf215546Sopenharmony_ci			<bitfield name="RGB_DEST_FACTOR" low="8" high="12" type="adreno_rb_blend_factor"/>
2013bf215546Sopenharmony_ci			<bitfield name="ALPHA_SRC_FACTOR" low="16" high="20" type="adreno_rb_blend_factor"/>
2014bf215546Sopenharmony_ci			<bitfield name="ALPHA_BLEND_OPCODE" low="21" high="23" type="a3xx_rb_blend_opcode"/>
2015bf215546Sopenharmony_ci			<bitfield name="ALPHA_DEST_FACTOR" low="24" high="28" type="adreno_rb_blend_factor"/>
2016bf215546Sopenharmony_ci		</reg32>
2017bf215546Sopenharmony_ci		<reg32 offset="0x2" name="BUF_INFO">
2018bf215546Sopenharmony_ci			<!--
2019bf215546Sopenharmony_ci			not sure if there is a separate COLOR_SWAP field like on a3xx/a4xx,
2020bf215546Sopenharmony_ci			or if it is inherent in the format.  Will have to play with bits
2021bf215546Sopenharmony_ci			once we get things working and see what happens.  If it is a diff
2022bf215546Sopenharmony_ci			field, it doesn't seem to have the same encoding as a3xx/a4xx.
2023bf215546Sopenharmony_ci			 -->
2024bf215546Sopenharmony_ci			<bitfield name="COLOR_FORMAT" low="0" high="7" type="a5xx_color_fmt"/>
2025bf215546Sopenharmony_ci			<bitfield name="COLOR_TILE_MODE" low="8" high="9" type="a5xx_tile_mode"/>
2026bf215546Sopenharmony_ci			<bitfield name="DITHER_MODE" low="11" high="12" type="adreno_rb_dither_mode"/>
2027bf215546Sopenharmony_ci			<bitfield name="COLOR_SWAP" low="13" high="14" type="a3xx_color_swap"/>
2028bf215546Sopenharmony_ci			<bitfield name="COLOR_SRGB" pos="15" type="boolean"/>
2029bf215546Sopenharmony_ci		</reg32>
2030bf215546Sopenharmony_ci		<!--
2031bf215546Sopenharmony_ci		at least in gmem, things seem to be aligned to pitch of 64..
2032bf215546Sopenharmony_ci		maybe an artifact of tiled format used in gmem?
2033bf215546Sopenharmony_ci		 -->
2034bf215546Sopenharmony_ci		<reg32 offset="0x3" name="PITCH" shr="6" type="uint"/>
2035bf215546Sopenharmony_ci		<reg32 offset="0x4" name="ARRAY_PITCH" shr="6" type="uint"/>
2036bf215546Sopenharmony_ci		<reg32 offset="0x5" name="BASE_LO"/>
2037bf215546Sopenharmony_ci		<reg32 offset="0x6" name="BASE_HI"/>
2038bf215546Sopenharmony_ci	</array>
2039bf215546Sopenharmony_ci	<reg32 offset="0xe1a0" name="RB_BLEND_RED">
2040bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
2041bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
2042bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
2043bf215546Sopenharmony_ci	</reg32>
2044bf215546Sopenharmony_ci	<reg32 offset="0xe1a1" name="RB_BLEND_RED_F32" type="float"/>
2045bf215546Sopenharmony_ci	<reg32 offset="0xe1a2" name="RB_BLEND_GREEN">
2046bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
2047bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
2048bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
2049bf215546Sopenharmony_ci	</reg32>
2050bf215546Sopenharmony_ci	<reg32 offset="0xe1a3" name="RB_BLEND_GREEN_F32" type="float"/>
2051bf215546Sopenharmony_ci	<reg32 offset="0xe1a4" name="RB_BLEND_BLUE">
2052bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
2053bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
2054bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
2055bf215546Sopenharmony_ci	</reg32>
2056bf215546Sopenharmony_ci	<reg32 offset="0xe1a5" name="RB_BLEND_BLUE_F32" type="float"/>
2057bf215546Sopenharmony_ci	<reg32 offset="0xe1a6" name="RB_BLEND_ALPHA">
2058bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
2059bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
2060bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
2061bf215546Sopenharmony_ci	</reg32>
2062bf215546Sopenharmony_ci	<reg32 offset="0xe1a7" name="RB_BLEND_ALPHA_F32" type="float"/>
2063bf215546Sopenharmony_ci	<reg32 offset="0xe1a8" name="RB_ALPHA_CONTROL">
2064bf215546Sopenharmony_ci		<bitfield name="ALPHA_REF" low="0" high="7" type="hex"/>
2065bf215546Sopenharmony_ci		<bitfield name="ALPHA_TEST" pos="8" type="boolean"/>
2066bf215546Sopenharmony_ci		<bitfield name="ALPHA_TEST_FUNC" low="9" high="11" type="adreno_compare_func"/>
2067bf215546Sopenharmony_ci	</reg32>
2068bf215546Sopenharmony_ci	<reg32 offset="0xe1a9" name="RB_BLEND_CNTL">
2069bf215546Sopenharmony_ci		<!-- per-mrt enable bit -->
2070bf215546Sopenharmony_ci		<bitfield name="ENABLE_BLEND" low="0" high="7"/>
2071bf215546Sopenharmony_ci		<bitfield name="INDEPENDENT_BLEND" pos="8" type="boolean"/>
2072bf215546Sopenharmony_ci		<bitfield name="ALPHA_TO_COVERAGE" pos="10" type="boolean"/>
2073bf215546Sopenharmony_ci		<!-- a guess? -->
2074bf215546Sopenharmony_ci		<bitfield name="SAMPLE_MASK" low="16" high="31"/>
2075bf215546Sopenharmony_ci	</reg32>
2076bf215546Sopenharmony_ci	<reg32 offset="0xe1b0" name="RB_DEPTH_PLANE_CNTL">
2077bf215546Sopenharmony_ci		<bitfield name="FRAG_WRITES_Z" pos="0" type="boolean"/>
2078bf215546Sopenharmony_ci		<bitfield name="UNK1" pos="1" type="boolean"/>
2079bf215546Sopenharmony_ci	</reg32>
2080bf215546Sopenharmony_ci	<reg32 offset="0xe1b1" name="RB_DEPTH_CNTL">
2081bf215546Sopenharmony_ci		<bitfield name="Z_TEST_ENABLE" pos="0" type="boolean"/>
2082bf215546Sopenharmony_ci		<bitfield name="Z_WRITE_ENABLE" pos="1" type="boolean"/>
2083bf215546Sopenharmony_ci		<bitfield name="ZFUNC" low="2" high="4" type="adreno_compare_func"/>
2084bf215546Sopenharmony_ci		<doc>Z_READ_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER</doc>
2085bf215546Sopenharmony_ci		<bitfield name="Z_READ_ENABLE" pos="6" type="boolean"/>
2086bf215546Sopenharmony_ci	</reg32>
2087bf215546Sopenharmony_ci	<reg32 offset="0xe1b2" name="RB_DEPTH_BUFFER_INFO">
2088bf215546Sopenharmony_ci		<bitfield name="DEPTH_FORMAT" low="0" high="2" type="a5xx_depth_format"/>
2089bf215546Sopenharmony_ci	</reg32>
2090bf215546Sopenharmony_ci	<reg32 offset="0xe1b3" name="RB_DEPTH_BUFFER_BASE_LO"/>
2091bf215546Sopenharmony_ci	<reg32 offset="0xe1b4" name="RB_DEPTH_BUFFER_BASE_HI"/>
2092bf215546Sopenharmony_ci	<reg32 offset="0xe1b5" name="RB_DEPTH_BUFFER_PITCH" shr="6" type="uint">
2093bf215546Sopenharmony_ci		<doc>stride of depth/stencil buffer</doc>
2094bf215546Sopenharmony_ci	</reg32>
2095bf215546Sopenharmony_ci	<reg32 offset="0xe1b6" name="RB_DEPTH_BUFFER_ARRAY_PITCH" shr="6" type="uint">
2096bf215546Sopenharmony_ci		<doc>size of layer</doc>
2097bf215546Sopenharmony_ci	</reg32>
2098bf215546Sopenharmony_ci	<reg32 offset="0xe1c0" name="RB_STENCIL_CONTROL">
2099bf215546Sopenharmony_ci		<bitfield name="STENCIL_ENABLE" pos="0" type="boolean"/>
2100bf215546Sopenharmony_ci		<bitfield name="STENCIL_ENABLE_BF" pos="1" type="boolean"/>
2101bf215546Sopenharmony_ci		<!--
2102bf215546Sopenharmony_ci			set for stencil operations that require read from stencil
2103bf215546Sopenharmony_ci			buffer, but not for example for stencil clear (which does
2104bf215546Sopenharmony_ci			not require read).. so guessing this is analogous to
2105bf215546Sopenharmony_ci			READ_DEST_ENABLE for color buffer..
2106bf215546Sopenharmony_ci		 -->
2107bf215546Sopenharmony_ci		<bitfield name="STENCIL_READ" pos="2" type="boolean"/>
2108bf215546Sopenharmony_ci		<bitfield name="FUNC" low="8" high="10" type="adreno_compare_func"/>
2109bf215546Sopenharmony_ci		<bitfield name="FAIL" low="11" high="13" type="adreno_stencil_op"/>
2110bf215546Sopenharmony_ci		<bitfield name="ZPASS" low="14" high="16" type="adreno_stencil_op"/>
2111bf215546Sopenharmony_ci		<bitfield name="ZFAIL" low="17" high="19" type="adreno_stencil_op"/>
2112bf215546Sopenharmony_ci		<bitfield name="FUNC_BF" low="20" high="22" type="adreno_compare_func"/>
2113bf215546Sopenharmony_ci		<bitfield name="FAIL_BF" low="23" high="25" type="adreno_stencil_op"/>
2114bf215546Sopenharmony_ci		<bitfield name="ZPASS_BF" low="26" high="28" type="adreno_stencil_op"/>
2115bf215546Sopenharmony_ci		<bitfield name="ZFAIL_BF" low="29" high="31" type="adreno_stencil_op"/>
2116bf215546Sopenharmony_ci	</reg32>
2117bf215546Sopenharmony_ci	<reg32 offset="0xe1c1" name="RB_STENCIL_INFO">
2118bf215546Sopenharmony_ci		<bitfield name="SEPARATE_STENCIL" pos="0" type="boolean"/>
2119bf215546Sopenharmony_ci	</reg32>
2120bf215546Sopenharmony_ci	<reg32 offset="0xe1c2" name="RB_STENCIL_BASE_LO"/>
2121bf215546Sopenharmony_ci	<reg32 offset="0xe1c3" name="RB_STENCIL_BASE_HI"/>
2122bf215546Sopenharmony_ci	<reg32 offset="0xe1c4" name="RB_STENCIL_PITCH" shr="6" type="uint"/>
2123bf215546Sopenharmony_ci	<reg32 offset="0xe1c5" name="RB_STENCIL_ARRAY_PITCH" shr="6" type="uint"/>
2124bf215546Sopenharmony_ci	<reg32 offset="0xe1c6" name="RB_STENCILREFMASK" type="adreno_rb_stencilrefmask"/>
2125bf215546Sopenharmony_ci	<reg32 offset="0xe1c7" name="RB_STENCILREFMASK_BF" type="adreno_rb_stencilrefmask"/>
2126bf215546Sopenharmony_ci	<reg32 offset="0xe1d0" name="RB_WINDOW_OFFSET" type="adreno_reg_xy"/>
2127bf215546Sopenharmony_ci	<reg32 offset="0xe1d1" name="RB_SAMPLE_COUNT_CONTROL">
2128bf215546Sopenharmony_ci		<bitfield name="COPY" pos="1" type="boolean"/>
2129bf215546Sopenharmony_ci	</reg32>
2130bf215546Sopenharmony_ci
2131bf215546Sopenharmony_ci	<doc>
2132bf215546Sopenharmony_ci		Blits:
2133bf215546Sopenharmony_ci		------
2134bf215546Sopenharmony_ci
2135bf215546Sopenharmony_ci		Blits are triggered by CP_EVENT_WRITE:BLIT, compared to previous
2136bf215546Sopenharmony_ci		generations where they shared most of the gl pipeline and were
2137bf215546Sopenharmony_ci		triggered by CP_DRAW_INDX*
2138bf215546Sopenharmony_ci
2139bf215546Sopenharmony_ci		For gmem->mem blob uses RB_BLIT_CNTL.BUF to specify src of
2140bf215546Sopenharmony_ci		blit (ie MRTn, ZS, etc) and RB_BLIT_DST_LO/HI for destination
2141bf215546Sopenharmony_ci		gpuaddr.  The gmem offset is taken from RB_MRT[n].BASE_LO/HI
2142bf215546Sopenharmony_ci
2143bf215546Sopenharmony_ci		For mem->gmem blob uses just MRT0 or ZS and RB_BLIT_DST_LO/HI
2144bf215546Sopenharmony_ci		for the GMEM offset, and gpuaddr from RB_MRT[0].BASE_LO/HI
2145bf215546Sopenharmony_ci		(I suppose this is just to avoid trashing RB_MRT[1..7]??)
2146bf215546Sopenharmony_ci	</doc>
2147bf215546Sopenharmony_ci	<reg32 offset="0xe210" name="RB_BLIT_CNTL">
2148bf215546Sopenharmony_ci		<bitfield name="BUF" low="0" high="3" type="a5xx_blit_buf"/>
2149bf215546Sopenharmony_ci	</reg32>
2150bf215546Sopenharmony_ci	<reg32 offset="0xe211" name="RB_RESOLVE_CNTL_1" type="adreno_reg_xy"/>
2151bf215546Sopenharmony_ci	<reg32 offset="0xe212" name="RB_RESOLVE_CNTL_2" type="adreno_reg_xy"/>
2152bf215546Sopenharmony_ci	<reg32 offset="0xe213" name="RB_RESOLVE_CNTL_3">
2153bf215546Sopenharmony_ci		<!-- if b0 set, output is in TILE5_3 format -->
2154bf215546Sopenharmony_ci		<bitfield name="TILED" pos="0" type="boolean"/>
2155bf215546Sopenharmony_ci	<!--
2156bf215546Sopenharmony_ci		0xe213:
2157bf215546Sopenharmony_ci		        0x0 mem->gmem
2158bf215546Sopenharmony_ci		        0xf gmem->mem with flag buffer (color)
2159bf215546Sopenharmony_ci		        0x4 gmem->mem without flag buffer (color)
2160bf215546Sopenharmony_ci		        0x7 BYPASS mode flag buffer result (ie. on readpix)
2161bf215546Sopenharmony_ci		            also for gmem->mem preserving tiling
2162bf215546Sopenharmony_ci	-->
2163bf215546Sopenharmony_ci	</reg32>
2164bf215546Sopenharmony_ci	<reg32 offset="0xe214" name="RB_BLIT_DST_LO"/>
2165bf215546Sopenharmony_ci	<reg32 offset="0xe215" name="RB_BLIT_DST_HI"/>
2166bf215546Sopenharmony_ci	<reg32 offset="0xe216" name="RB_BLIT_DST_PITCH" shr="6" type="uint"/>
2167bf215546Sopenharmony_ci	<!-- array-pitch is size of layer -->
2168bf215546Sopenharmony_ci	<reg32 offset="0xe217" name="RB_BLIT_DST_ARRAY_PITCH" shr="6" type="uint"/>
2169bf215546Sopenharmony_ci	<reg32 offset="0xe218" name="RB_CLEAR_COLOR_DW0"/>
2170bf215546Sopenharmony_ci	<reg32 offset="0xe219" name="RB_CLEAR_COLOR_DW1"/>
2171bf215546Sopenharmony_ci	<reg32 offset="0xe21a" name="RB_CLEAR_COLOR_DW2"/>
2172bf215546Sopenharmony_ci	<reg32 offset="0xe21b" name="RB_CLEAR_COLOR_DW3"/>
2173bf215546Sopenharmony_ci	<reg32 offset="0xe21c" name="RB_CLEAR_CNTL">
2174bf215546Sopenharmony_ci		<bitfield name="FAST_CLEAR" pos="1" type="boolean"/>
2175bf215546Sopenharmony_ci		<bitfield name="MSAA_RESOLVE" pos="2" type="boolean"/>
2176bf215546Sopenharmony_ci		<doc>
2177bf215546Sopenharmony_ci			For MASK, if RB_BLIT_CNTL.BUF=BLIT_ZS:
2178bf215546Sopenharmony_ci				1 - depth
2179bf215546Sopenharmony_ci				2 - stencil
2180bf215546Sopenharmony_ci				3 - depth+stencil
2181bf215546Sopenharmony_ci			if RB_BLIT_CNTL.BUF=BLIT_MRTn
2182bf215546Sopenharmony_ci				then probably a component mask, I always see 0xf
2183bf215546Sopenharmony_ci		</doc>
2184bf215546Sopenharmony_ci		<bitfield name="MASK" low="4" high="7"/>
2185bf215546Sopenharmony_ci	</reg32>
2186bf215546Sopenharmony_ci
2187bf215546Sopenharmony_ci	<doc>
2188bf215546Sopenharmony_ci		Buffer Metadata (flag buffers):
2189bf215546Sopenharmony_ci		-------------------------------
2190bf215546Sopenharmony_ci
2191bf215546Sopenharmony_ci		Blob seems to stick some metadata at the front of the buffer,
2192bf215546Sopenharmony_ci		both z/s and MRT.  I think this is same as UBWC (bandwidth
2193bf215546Sopenharmony_ci		compression) metadata that mdp 1.7 and later supports.  See
2194bf215546Sopenharmony_ci		1d3fae5698ce5358caab87a15383b690941697e8 in downstream kernel.
2195bf215546Sopenharmony_ci		UBWC seems to stand for "universal bandwidth compression".
2196bf215546Sopenharmony_ci
2197bf215546Sopenharmony_ci		Before glReadPixels() it does a pair of BYPASS blits (at least
2198bf215546Sopenharmony_ci		if metadata is used) presumably to resolve metadata.
2199bf215546Sopenharmony_ci
2200bf215546Sopenharmony_ci		NOTES: see: getUBwcBlockSize(), getUBwcMetaBufferSize() at
2201bf215546Sopenharmony_ci		https://android.googlesource.com/platform/hardware/qcom/display/+/android-6.0.1_r40/msm8994/libgralloc/alloc_controller.cpp
2202bf215546Sopenharmony_ci		(note that bpp in bytes, not bits, so really cpp)
2203bf215546Sopenharmony_ci
2204bf215546Sopenharmony_ci		Example Layout 2d w/ mipmap levels:
2205bf215546Sopenharmony_ci
2206bf215546Sopenharmony_ci			100x2000, ifmt=GL_RG, fmt=GL_RG16F, type=GL_FLOAT, meta=64x512@0x8000 (7x500)
2207bf215546Sopenharmony_ci				base=c072e000, offset=16384, size=1703936
2208bf215546Sopenharmony_ci
2209bf215546Sopenharmony_ci				color		flags
2210bf215546Sopenharmony_ci			0	c073a000	c0732000	- level 0 flags is address
2211bf215546Sopenharmony_ci			1	c0838000	c0834000	  programmed in texture state
2212bf215546Sopenharmony_ci			2	c0879000	c0877000
2213bf215546Sopenharmony_ci			3	c089a000	c0899000
2214bf215546Sopenharmony_ci			4	c08ab000	c08aa000
2215bf215546Sopenharmony_ci			5	c08b4000	c08b3000
2216bf215546Sopenharmony_ci			6	c08b9000	c08b8000
2217bf215546Sopenharmony_ci			7	c08bc000	c08bb000
2218bf215546Sopenharmony_ci			8	c08be000	c08bd000
2219bf215546Sopenharmony_ci			9	c08c0000	c08bf000
2220bf215546Sopenharmony_ci			10	c08c2000	c08c1000
2221bf215546Sopenharmony_ci
2222bf215546Sopenharmony_ci		ARRAY_PITCH is the combined size of all the levels plus flags,
2223bf215546Sopenharmony_ci		so 0xc08c3000 - 0xc0732000 = 0x00191000 (1642496); each level
2224bf215546Sopenharmony_ci		takes up a minimum of 2 pages (since color and flags parts are
2225bf215546Sopenharmony_ci		each page aligned.
2226bf215546Sopenharmony_ci
2227bf215546Sopenharmony_ci			{ TILE_MODE = TILE5_3 | SWIZ_X = A5XX_TEX_X | SWIZ_Y = A5XX_TEX_Y | SWIZ_Z = A5XX_TEX_ZERO | SWIZ_W = A5XX_TEX_ONE | MIPLVLS = 0 | FMT = TFMT5_16_16_FLOAT | SWAP = WZYX }
2228bf215546Sopenharmony_ci			{ WIDTH = 100 | HEIGHT = 2000 }
2229bf215546Sopenharmony_ci			{ FETCHSIZE = TFETCH5_4_BYTE | PITCH = 512 | TYPE = A5XX_TEX_2D }
2230bf215546Sopenharmony_ci			{ ARRAY_PITCH = 1642496 | 0x18800000 }  - NOTE c2dc always has 0x18800000 but
2231bf215546Sopenharmony_ci			{ BASE_LO = 0xc0732000 }                  this varies for blob gles driver..
2232bf215546Sopenharmony_ci			{ BASE_HI = 0 | DEPTH = 1 }               not sure what it is
2233bf215546Sopenharmony_ci
2234bf215546Sopenharmony_ci
2235bf215546Sopenharmony_ci	</doc>
2236bf215546Sopenharmony_ci	<reg32 offset="0xe240" name="RB_DEPTH_FLAG_BUFFER_BASE_LO"/>
2237bf215546Sopenharmony_ci	<reg32 offset="0xe241" name="RB_DEPTH_FLAG_BUFFER_BASE_HI"/>
2238bf215546Sopenharmony_ci	<reg32 offset="0xe242" name="RB_DEPTH_FLAG_BUFFER_PITCH">
2239bf215546Sopenharmony_ci	</reg32>
2240bf215546Sopenharmony_ci	<array offset="0xe243" name="RB_MRT_FLAG_BUFFER" stride="4" length="8">
2241bf215546Sopenharmony_ci		<reg32 offset="0" name="ADDR_LO"/>
2242bf215546Sopenharmony_ci		<reg32 offset="1" name="ADDR_HI"/>
2243bf215546Sopenharmony_ci		<reg32 offset="2" name="PITCH" shr="6" type="uint"/>
2244bf215546Sopenharmony_ci		<!-- array-pitch is size of layer -->
2245bf215546Sopenharmony_ci		<reg32 offset="3" name="ARRAY_PITCH" shr="6" type="uint"/>
2246bf215546Sopenharmony_ci	</array>
2247bf215546Sopenharmony_ci	<reg32 offset="0xe263" name="RB_BLIT_FLAG_DST_LO"/>
2248bf215546Sopenharmony_ci	<reg32 offset="0xe264" name="RB_BLIT_FLAG_DST_HI"/>
2249bf215546Sopenharmony_ci	<reg32 offset="0xe265" name="RB_BLIT_FLAG_DST_PITCH" shr="6" type="uint"/>
2250bf215546Sopenharmony_ci	<!-- array-pitch is size of layer -->
2251bf215546Sopenharmony_ci	<reg32 offset="0xe266" name="RB_BLIT_FLAG_DST_ARRAY_PITCH" shr="6" type="uint"/>
2252bf215546Sopenharmony_ci
2253bf215546Sopenharmony_ci	<reg32 offset="0xe267" name="RB_SAMPLE_COUNT_ADDR_LO"/>
2254bf215546Sopenharmony_ci	<reg32 offset="0xe268" name="RB_SAMPLE_COUNT_ADDR_HI"/>
2255bf215546Sopenharmony_ci
2256bf215546Sopenharmony_ci	<reg32 offset="0xe280" name="VPC_CNTL_0">
2257bf215546Sopenharmony_ci		<doc>
2258bf215546Sopenharmony_ci			num of varyings plus four for gl_Position (plus one if gl_PointSize)
2259bf215546Sopenharmony_ci			plus # of transform-feedback (streamout) varyings if using the
2260bf215546Sopenharmony_ci			hw streamout (rather than stg instructions in shader)
2261bf215546Sopenharmony_ci		</doc>
2262bf215546Sopenharmony_ci		<bitfield name="STRIDE_IN_VPC" low="0" high="6" type="uint"/>
2263bf215546Sopenharmony_ci		<bitfield name="VARYING" pos="11" type="boolean"/>
2264bf215546Sopenharmony_ci	</reg32>
2265bf215546Sopenharmony_ci	<array offset="0xe282" name="VPC_VARYING_INTERP" stride="1" length="8">
2266bf215546Sopenharmony_ci		<reg32 offset="0x0" name="MODE"/>
2267bf215546Sopenharmony_ci	</array>
2268bf215546Sopenharmony_ci	<array offset="0xe28a" name="VPC_VARYING_PS_REPL" stride="1" length="8">
2269bf215546Sopenharmony_ci		<reg32 offset="0x0" name="MODE"/>
2270bf215546Sopenharmony_ci	</array>
2271bf215546Sopenharmony_ci	<reg32 offset="0xe292" name="UNKNOWN_E292"/>
2272bf215546Sopenharmony_ci	<reg32 offset="0xe293" name="UNKNOWN_E293"/>
2273bf215546Sopenharmony_ci	<array offset="0xe294" name="VPC_VAR" stride="1" length="4">
2274bf215546Sopenharmony_ci		<!-- one bit per varying component: -->
2275bf215546Sopenharmony_ci		<reg32 offset="0" name="DISABLE"/>
2276bf215546Sopenharmony_ci	</array>
2277bf215546Sopenharmony_ci	<reg32 offset="0xe298" name="VPC_GS_SIV_CNTL"/>
2278bf215546Sopenharmony_ci	<reg32 offset="0xe29a" name="VPC_CLIP_CNTL">
2279bf215546Sopenharmony_ci		<bitfield name="CLIP_MASK" low="0" high="7" type="uint"/>
2280bf215546Sopenharmony_ci		<!-- there can be up to 8 total clip/cull distance outputs,
2281bf215546Sopenharmony_ci		     but apparenly VPC can only deal with vec4, so when there are
2282bf215546Sopenharmony_ci		     more than 4 outputs a second location needs to be programmed
2283bf215546Sopenharmony_ci		-->
2284bf215546Sopenharmony_ci		<bitfield name="CLIP_DIST_03_LOC" low="8" high="15" type="uint"/>
2285bf215546Sopenharmony_ci		<bitfield name="CLIP_DIST_47_LOC" low="16" high="23" type="uint"/>
2286bf215546Sopenharmony_ci	</reg32>
2287bf215546Sopenharmony_ci
2288bf215546Sopenharmony_ci	<reg32 offset="0xe29d" name="VPC_PACK">
2289bf215546Sopenharmony_ci		<bitfield name="NUMNONPOSVAR" low="0" high="7" type="uint"/>
2290bf215546Sopenharmony_ci		<!--
2291bf215546Sopenharmony_ci		This seems to be the OUTLOC for the psize output.  It could possibly
2292bf215546Sopenharmony_ci		be the max-OUTLOC position, but it is only set when VS writes psize
2293bf215546Sopenharmony_ci		(and blob always puts psize at highest OUTLOC)
2294bf215546Sopenharmony_ci		 -->
2295bf215546Sopenharmony_ci		<bitfield name="PSIZELOC" low="8" high="15" type="uint"/>
2296bf215546Sopenharmony_ci	</reg32>
2297bf215546Sopenharmony_ci	<reg32 offset="0xe2a0" name="VPC_FS_PRIMITIVEID_CNTL"/>
2298bf215546Sopenharmony_ci
2299bf215546Sopenharmony_ci	<doc>
2300bf215546Sopenharmony_ci		Stream-Out:
2301bf215546Sopenharmony_ci		-----------
2302bf215546Sopenharmony_ci
2303bf215546Sopenharmony_ci		VPC_SO[0..3] registers setup details about streamout buffers, and
2304bf215546Sopenharmony_ci		number of components to write to each.
2305bf215546Sopenharmony_ci
2306bf215546Sopenharmony_ci		VPC_SO_PROG provides the mapping between output varyings and the SO
2307bf215546Sopenharmony_ci		buffers.  It is written multiple times (via a CP_CONTEXT_REG_BUNCH
2308bf215546Sopenharmony_ci		packet, not sure if that matters), each write can handle up to two
2309bf215546Sopenharmony_ci		components of stream-out output.  Order matches up to OUTLOC,
2310bf215546Sopenharmony_ci		including padding.  So, if outputting first 3 varyings:
2311bf215546Sopenharmony_ci
2312bf215546Sopenharmony_ci			SP_VS_OUT[0].REG: { A_REGID = r0.w | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0x7 }
2313bf215546Sopenharmony_ci			SP_VS_OUT[0x1].REG: { A_REGID = r1.w | A_COMPMASK = 0x3 | B_REGID = r2.y | B_COMPMASK = 0xf }
2314bf215546Sopenharmony_ci			SP_VS_VPC_DST[0].REG: { OUTLOC0 = 0 | OUTLOC1 = 4 | OUTLOC2 = 8 | OUTLOC3 = 12 }
2315bf215546Sopenharmony_ci
2316bf215546Sopenharmony_ci		Then:
2317bf215546Sopenharmony_ci
2318bf215546Sopenharmony_ci			VPC_SO_PROG: { A_BUF = 0 | A_OFF = 0 | A_EN | A_BUF = 0 | B_OFF = 4 | B_EN }
2319bf215546Sopenharmony_ci			VPC_SO_PROG: { A_BUF = 0 | A_OFF = 8 | A_EN | A_BUF = 0 | B_OFF = 12 | B_EN }
2320bf215546Sopenharmony_ci			VPC_SO_PROG: { A_BUF = 2 | A_OFF = 0 | A_EN | A_BUF = 2 | B_OFF = 4 | B_EN }
2321bf215546Sopenharmony_ci			VPC_SO_PROG: { A_BUF = 2 | A_OFF = 8 | A_EN | A_BUF = 0 | B_OFF = 0 }
2322bf215546Sopenharmony_ci			VPC_SO_PROG: { A_BUF = 1 | A_OFF = 0 | A_EN | A_BUF = 1 | B_OFF = 4 | B_EN }
2323bf215546Sopenharmony_ci
2324bf215546Sopenharmony_ci		Note that varying order is OUTLOC0, OUTLOC2, OUTLOC1, and note
2325bf215546Sopenharmony_ci		the padding between OUTLOC1 and OUTLOC2.
2326bf215546Sopenharmony_ci
2327bf215546Sopenharmony_ci		The BUF bitfield indicates which of the four streamout buffers
2328bf215546Sopenharmony_ci		to write into at the specified offset.
2329bf215546Sopenharmony_ci
2330bf215546Sopenharmony_ci		The VPC_SO[n].FLUSH_BASE_LO/HI is used for hw to write back next
2331bf215546Sopenharmony_ci		offset which gets loaded back into VPC_SO[n].BUFFER_OFFSET via a
2332bf215546Sopenharmony_ci		CP_MEM_TO_REG.  Probably can be ignored until we have GS/etc, at
2333bf215546Sopenharmony_ci		which point we can't calculate the offset on the CPU.
2334bf215546Sopenharmony_ci	</doc>
2335bf215546Sopenharmony_ci	<reg32 offset="0xe2a1" name="VPC_SO_BUF_CNTL">
2336bf215546Sopenharmony_ci		<bitfield name="BUF0" pos="0" type="boolean"/>
2337bf215546Sopenharmony_ci		<bitfield name="BUF1" pos="3" type="boolean"/>
2338bf215546Sopenharmony_ci		<bitfield name="BUF2" pos="6" type="boolean"/>
2339bf215546Sopenharmony_ci		<bitfield name="BUF3" pos="9" type="boolean"/>
2340bf215546Sopenharmony_ci		<bitfield name="ENABLE" pos="15" type="boolean"/>
2341bf215546Sopenharmony_ci	</reg32>
2342bf215546Sopenharmony_ci	<reg32 offset="0xe2a2" name="VPC_SO_OVERRIDE">
2343bf215546Sopenharmony_ci		<bitfield name="SO_DISABLE" pos="0" type="boolean"/>
2344bf215546Sopenharmony_ci	</reg32>
2345bf215546Sopenharmony_ci	<reg32 offset="0xe2a3" name="VPC_SO_CNTL">
2346bf215546Sopenharmony_ci		<!-- always 0x10000 when SO enabled.. -->
2347bf215546Sopenharmony_ci		<bitfield name="ENABLE" pos="16" type="boolean"/>
2348bf215546Sopenharmony_ci	</reg32>
2349bf215546Sopenharmony_ci	<reg32 offset="0xe2a4" name="VPC_SO_PROG">
2350bf215546Sopenharmony_ci		<bitfield name="A_BUF" low="0" high="1" type="uint"/>
2351bf215546Sopenharmony_ci		<bitfield name="A_OFF" low="2" high="10" shr="2" type="uint"/>
2352bf215546Sopenharmony_ci		<bitfield name="A_EN" pos="11" type="boolean"/>
2353bf215546Sopenharmony_ci		<bitfield name="B_BUF" low="12" high="13" type="uint"/>
2354bf215546Sopenharmony_ci		<bitfield name="B_OFF" low="14" high="22" shr="2" type="uint"/>
2355bf215546Sopenharmony_ci		<bitfield name="B_EN" pos="23" type="boolean"/>
2356bf215546Sopenharmony_ci	</reg32>
2357bf215546Sopenharmony_ci	<array offset="0xe2a7" name="VPC_SO" stride="7" length="4">
2358bf215546Sopenharmony_ci		<reg32 offset="0" name="BUFFER_BASE_LO"/>
2359bf215546Sopenharmony_ci		<reg32 offset="1" name="BUFFER_BASE_HI"/>
2360bf215546Sopenharmony_ci		<reg32 offset="2" name="BUFFER_SIZE"/>
2361bf215546Sopenharmony_ci		<reg32 offset="3" name="NCOMP"/>  <!-- component count -->
2362bf215546Sopenharmony_ci		<reg32 offset="4" name="BUFFER_OFFSET"/>
2363bf215546Sopenharmony_ci		<reg32 offset="5" name="FLUSH_BASE_LO"/>
2364bf215546Sopenharmony_ci		<reg32 offset="6" name="FLUSH_BASE_HI"/>
2365bf215546Sopenharmony_ci	</array>
2366bf215546Sopenharmony_ci
2367bf215546Sopenharmony_ci	<reg32 offset="0xe384" name="PC_PRIMITIVE_CNTL">
2368bf215546Sopenharmony_ci		<!-- # of varyings plus four for gl_Position (plus one if gl_PointSize) -->
2369bf215546Sopenharmony_ci		<bitfield name="STRIDE_IN_VPC" low="0" high="6" type="uint"/>
2370bf215546Sopenharmony_ci		<bitfield name="PRIMITIVE_RESTART" pos="8" type="boolean"/>
2371bf215546Sopenharmony_ci		<bitfield name="COUNT_PRIMITIVES" pos="9" type="boolean"/><!-- enabled when gl_PrimitiveIDIn is used -->
2372bf215546Sopenharmony_ci		<bitfield name="PROVOKING_VTX_LAST" pos="10" type="boolean"/>
2373bf215546Sopenharmony_ci	</reg32>
2374bf215546Sopenharmony_ci	<reg32 offset="0xe385" name="PC_PRIM_VTX_CNTL">
2375bf215546Sopenharmony_ci		<bitfield name="PSIZE" pos="11" type="boolean"/>
2376bf215546Sopenharmony_ci	</reg32>
2377bf215546Sopenharmony_ci	<reg32 offset="0xe388" name="PC_RASTER_CNTL">
2378bf215546Sopenharmony_ci		<bitfield name="POLYMODE_FRONT_PTYPE" low="0" high="2" type="adreno_pa_su_sc_draw"/>
2379bf215546Sopenharmony_ci		<bitfield name="POLYMODE_BACK_PTYPE" low="3" high="5" type="adreno_pa_su_sc_draw"/>
2380bf215546Sopenharmony_ci		<bitfield name="POLYMODE_ENABLE" pos="6" type="boolean"/>
2381bf215546Sopenharmony_ci	</reg32>
2382bf215546Sopenharmony_ci	<reg32 offset="0xe389" name="PC_CLIP_CNTL">
2383bf215546Sopenharmony_ci		<bitfield name="CLIP_MASK" low="0" high="7"/>
2384bf215546Sopenharmony_ci	</reg32>
2385bf215546Sopenharmony_ci	<reg32 offset="0xe38c" name="PC_RESTART_INDEX"/>
2386bf215546Sopenharmony_ci	<reg32 offset="0xe38d" name="PC_GS_LAYERED"/>
2387bf215546Sopenharmony_ci	<reg32 offset="0xe38e" name="PC_GS_PARAM">
2388bf215546Sopenharmony_ci		<bitfield name="MAX_VERTICES" low="0" high="9" type="uint"/><!-- vertices - 1 -->
2389bf215546Sopenharmony_ci		<bitfield name="INVOCATIONS" low="11" high="15" type="uint"/><!-- invoc - 1 -->
2390bf215546Sopenharmony_ci		<bitfield name="PRIMTYPE" low="23" high="24" type="adreno_pa_su_sc_draw"/>
2391bf215546Sopenharmony_ci	</reg32>
2392bf215546Sopenharmony_ci	<reg32 offset="0xe38f" name="PC_HS_PARAM">
2393bf215546Sopenharmony_ci		<bitfield name="VERTICES_OUT" low="0" high="5" type="uint"/>
2394bf215546Sopenharmony_ci		<bitfield name="SPACING" low="21" high="22" type="a4xx_tess_spacing"/>
2395bf215546Sopenharmony_ci		<bitfield name="CW" pos="23" type="boolean"/>
2396bf215546Sopenharmony_ci		<bitfield name="CONNECTED" pos="24" type="boolean"/>
2397bf215546Sopenharmony_ci	</reg32>
2398bf215546Sopenharmony_ci	<reg32 offset="0xe3b0" name="PC_POWER_CNTL"/>
2399bf215546Sopenharmony_ci
2400bf215546Sopenharmony_ci	<reg32 offset="0xe400" name="VFD_CONTROL_0">
2401bf215546Sopenharmony_ci		<bitfield name="VTXCNT" low="0" high="5" type="uint"/>
2402bf215546Sopenharmony_ci	</reg32>
2403bf215546Sopenharmony_ci	<reg32 offset="0xe401" name="VFD_CONTROL_1">
2404bf215546Sopenharmony_ci		<bitfield name="REGID4VTX" low="0" high="7" type="a3xx_regid"/>
2405bf215546Sopenharmony_ci		<bitfield name="REGID4INST" low="8" high="15" type="a3xx_regid"/>
2406bf215546Sopenharmony_ci		<bitfield name="REGID4PRIMID" low="16" high="23" type="a3xx_regid"/>
2407bf215546Sopenharmony_ci	</reg32>
2408bf215546Sopenharmony_ci	<reg32 offset="0xe402" name="VFD_CONTROL_2">
2409bf215546Sopenharmony_ci		<bitfield name="REGID_PATCHID" low="0" high="7" type="a3xx_regid"/><!-- same as VFD_CONTROL_3.REGID_PATCHID? -->
2410bf215546Sopenharmony_ci	</reg32>
2411bf215546Sopenharmony_ci	<reg32 offset="0xe403" name="VFD_CONTROL_3">
2412bf215546Sopenharmony_ci		<bitfield name="REGID_PATCHID" low="8" high="15" type="a3xx_regid"/>
2413bf215546Sopenharmony_ci		<bitfield name="REGID_TESSX" low="16" high="23" type="a3xx_regid"/>
2414bf215546Sopenharmony_ci		<bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/>
2415bf215546Sopenharmony_ci	</reg32>
2416bf215546Sopenharmony_ci	<reg32 offset="0xe404" name="VFD_CONTROL_4">
2417bf215546Sopenharmony_ci	</reg32>
2418bf215546Sopenharmony_ci	<reg32 offset="0xe405" name="VFD_CONTROL_5">
2419bf215546Sopenharmony_ci		<!-- b0 set if gl_PrimitiveID used in fs ?? -->
2420bf215546Sopenharmony_ci	</reg32>
2421bf215546Sopenharmony_ci	<reg32 offset="0xe408" name="VFD_INDEX_OFFSET"/>
2422bf215546Sopenharmony_ci	<reg32 offset="0xe409" name="VFD_INSTANCE_START_OFFSET"/>
2423bf215546Sopenharmony_ci	<array offset="0xe40a" name="VFD_FETCH" stride="4" length="32">
2424bf215546Sopenharmony_ci		<reg32 offset="0x0" name="BASE_LO"/>
2425bf215546Sopenharmony_ci		<reg32 offset="0x1" name="BASE_HI"/>
2426bf215546Sopenharmony_ci		<reg32 offset="0x2" name="SIZE" type="uint"/>
2427bf215546Sopenharmony_ci		<reg32 offset="0x3" name="STRIDE" type="uint"/>
2428bf215546Sopenharmony_ci	</array>
2429bf215546Sopenharmony_ci	<array offset="0xe48a" name="VFD_DECODE" stride="2" length="32">
2430bf215546Sopenharmony_ci		<reg32 offset="0x0" name="INSTR">
2431bf215546Sopenharmony_ci			<!-- IDX appears to index into VFD_FETCH[] -->
2432bf215546Sopenharmony_ci			<bitfield name="IDX" low="0" high="4" type="uint"/>
2433bf215546Sopenharmony_ci			<bitfield name="INSTANCED" pos="17" type="boolean"/>
2434bf215546Sopenharmony_ci			<bitfield name="FORMAT" low="20" high="27" type="a5xx_vtx_fmt"/>
2435bf215546Sopenharmony_ci			<bitfield name="SWAP" low="28" high="29" type="a3xx_color_swap"/>
2436bf215546Sopenharmony_ci			<bitfield name="UNK30" pos="30" type="boolean"/>
2437bf215546Sopenharmony_ci			<bitfield name="FLOAT" pos="31" type="boolean"/>
2438bf215546Sopenharmony_ci		</reg32>
2439bf215546Sopenharmony_ci		<reg32 offset="0x1" name="STEP_RATE"/> <!-- ??? -->
2440bf215546Sopenharmony_ci	</array>
2441bf215546Sopenharmony_ci	<array offset="0xe4ca" name="VFD_DEST_CNTL" stride="1" length="32">
2442bf215546Sopenharmony_ci		<reg32 offset="0x0" name="INSTR">
2443bf215546Sopenharmony_ci			<bitfield name="WRITEMASK" low="0" high="3" type="hex"/>
2444bf215546Sopenharmony_ci			<bitfield name="REGID" low="4" high="11" type="a3xx_regid"/>
2445bf215546Sopenharmony_ci		</reg32>
2446bf215546Sopenharmony_ci	</array>
2447bf215546Sopenharmony_ci	<reg32 offset="0xe4f0" name="VFD_POWER_CNTL"/>
2448bf215546Sopenharmony_ci
2449bf215546Sopenharmony_ci	<!-- 0x0 for compute, 0x10 for 3d? -->
2450bf215546Sopenharmony_ci	<reg32 offset="0xe580" name="SP_SP_CNTL"/>
2451bf215546Sopenharmony_ci
2452bf215546Sopenharmony_ci	<bitset name="a5xx_xs_config" inline="yes">
2453bf215546Sopenharmony_ci		<bitfield name="ENABLED" pos="0" type="boolean"/>
2454bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="1" high="7" type="uint"/>
2455bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="8" high="14" type="uint"/>
2456bf215546Sopenharmony_ci	</bitset>
2457bf215546Sopenharmony_ci	<bitset name="a5xx_xs_cntl" inline="yes">
2458bf215546Sopenharmony_ci		<bitfield name="SSBO_ENABLE" pos="0" type="boolean"/>
2459bf215546Sopenharmony_ci		<!--
2460bf215546Sopenharmony_ci		no idea high bit.. could be this is amount of on-chip memory used
2461bf215546Sopenharmony_ci		rather than total size?
2462bf215546Sopenharmony_ci		 -->
2463bf215546Sopenharmony_ci		<bitfield name="INSTRLEN" low="1" high="31" type="uint"/>
2464bf215546Sopenharmony_ci	</bitset>
2465bf215546Sopenharmony_ci	<bitset name="a5xx_sp_xs_ctrl_reg0" inline="yes">
2466bf215546Sopenharmony_ci		<!-- bit1 almost always set -->
2467bf215546Sopenharmony_ci		<!-- set for "buffer mode" (ie. shader small enough to fit internally) -->
2468bf215546Sopenharmony_ci		<bitfield name="BUFFER" pos="2" type="boolean"/>
2469bf215546Sopenharmony_ci		<!-- 24 or more (full size) GPRS and blob uses TWO_QUADS instead of FOUR_QUADS -->
2470bf215546Sopenharmony_ci		<bitfield name="THREADSIZE" pos="3" type="a3xx_threadsize"/>
2471bf215546Sopenharmony_ci		<bitfield name="HALFREGFOOTPRINT" low="4" high="9" type="uint"/>
2472bf215546Sopenharmony_ci		<bitfield name="FULLREGFOOTPRINT" low="10" high="15" type="uint"/>
2473bf215546Sopenharmony_ci		<bitfield name="VARYING" pos="16" type="boolean"/>
2474bf215546Sopenharmony_ci		<bitfield name="PIXLODENABLE" pos="20" type="boolean"/>
2475bf215546Sopenharmony_ci		<!-- seems to be nesting level for flow control:.. -->
2476bf215546Sopenharmony_ci		<bitfield name="BRANCHSTACK" low="25" high="31" type="uint"/>
2477bf215546Sopenharmony_ci	</bitset>
2478bf215546Sopenharmony_ci	<!-- assuming things appear in same relative order as a4xx: -->
2479bf215546Sopenharmony_ci	<!-- duplicated exactly w/ corresponding HLSQ_ regs starting at 0xe78b.. -->
2480bf215546Sopenharmony_ci	<reg32 offset="0xe584" name="SP_VS_CONFIG" type="a5xx_xs_config"/>
2481bf215546Sopenharmony_ci	<reg32 offset="0xe585" name="SP_FS_CONFIG" type="a5xx_xs_config"/>
2482bf215546Sopenharmony_ci	<reg32 offset="0xe586" name="SP_HS_CONFIG" type="a5xx_xs_config"/>
2483bf215546Sopenharmony_ci	<reg32 offset="0xe587" name="SP_DS_CONFIG" type="a5xx_xs_config"/>
2484bf215546Sopenharmony_ci	<reg32 offset="0xe588" name="SP_GS_CONFIG" type="a5xx_xs_config"/>
2485bf215546Sopenharmony_ci	<reg32 offset="0xe589" name="SP_CS_CONFIG" type="a5xx_xs_config"/>
2486bf215546Sopenharmony_ci	<reg32 offset="0xe58a" name="SP_VS_CONFIG_MAX_CONST"/>
2487bf215546Sopenharmony_ci	<reg32 offset="0xe58b" name="SP_FS_CONFIG_MAX_CONST"/>
2488bf215546Sopenharmony_ci	<reg32 offset="0xe590" name="SP_VS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2489bf215546Sopenharmony_ci	<reg32 offset="0xe592" name="SP_PRIMITIVE_CNTL">
2490bf215546Sopenharmony_ci		<!-- # of VS outputs including pos/psize -->
2491bf215546Sopenharmony_ci		<bitfield name="VSOUT" low="0" high="4" type="uint"/>
2492bf215546Sopenharmony_ci	</reg32>
2493bf215546Sopenharmony_ci	<array offset="0xe593" name="SP_VS_OUT" stride="1" length="16">
2494bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
2495bf215546Sopenharmony_ci			<bitfield name="A_REGID" low="0" high="7" type="a3xx_regid"/>
2496bf215546Sopenharmony_ci			<bitfield name="A_COMPMASK" low="8" high="11" type="hex"/>
2497bf215546Sopenharmony_ci			<bitfield name="B_REGID" low="16" high="23" type="a3xx_regid"/>
2498bf215546Sopenharmony_ci			<bitfield name="B_COMPMASK" low="24" high="27" type="hex"/>
2499bf215546Sopenharmony_ci		</reg32>
2500bf215546Sopenharmony_ci	</array>
2501bf215546Sopenharmony_ci	<!--
2502bf215546Sopenharmony_ci	Starting with a5xx, position/psize outputs from shader end up in the
2503bf215546Sopenharmony_ci	SP_VS_OUT map, with highest OUTLOCn position.  (Generally they are
2504bf215546Sopenharmony_ci	the last entries too, except when gl_PointCoord is used, blob inserts
2505bf215546Sopenharmony_ci	an extra varying after, but with a lower OUTLOC position.  If present,
2506bf215546Sopenharmony_ci	psize is last, preceded by position.
2507bf215546Sopenharmony_ci	 -->
2508bf215546Sopenharmony_ci	<array offset="0xe5a3" name="SP_VS_VPC_DST" stride="1" length="8">
2509bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
2510bf215546Sopenharmony_ci			<bitfield name="OUTLOC0" low="0" high="7" type="uint"/>
2511bf215546Sopenharmony_ci			<bitfield name="OUTLOC1" low="8" high="15" type="uint"/>
2512bf215546Sopenharmony_ci			<bitfield name="OUTLOC2" low="16" high="23" type="uint"/>
2513bf215546Sopenharmony_ci			<bitfield name="OUTLOC3" low="24" high="31" type="uint"/>
2514bf215546Sopenharmony_ci		</reg32>
2515bf215546Sopenharmony_ci	</array>
2516bf215546Sopenharmony_ci	<reg32 offset="0xe5ab" name="UNKNOWN_E5AB"/>
2517bf215546Sopenharmony_ci	<reg32 offset="0xe5ac" name="SP_VS_OBJ_START_LO"/>
2518bf215546Sopenharmony_ci	<reg32 offset="0xe5ad" name="SP_VS_OBJ_START_HI"/>
2519bf215546Sopenharmony_ci	<reg32 offset="0xe5c0" name="SP_FS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2520bf215546Sopenharmony_ci	<reg32 offset="0xe5c2" name="UNKNOWN_E5C2"/>
2521bf215546Sopenharmony_ci	<reg32 offset="0xe5c3" name="SP_FS_OBJ_START_LO"/>
2522bf215546Sopenharmony_ci	<reg32 offset="0xe5c4" name="SP_FS_OBJ_START_HI"/>
2523bf215546Sopenharmony_ci	<reg32 offset="0xe5c9" name="SP_BLEND_CNTL">
2524bf215546Sopenharmony_ci		<!-- per-mrt enable bit -->
2525bf215546Sopenharmony_ci		<bitfield name="ENABLE_BLEND" low="0" high="7"/>
2526bf215546Sopenharmony_ci		<bitfield name="UNK8" pos="8" type="boolean"/>
2527bf215546Sopenharmony_ci		<bitfield name="ALPHA_TO_COVERAGE" pos="10" type="boolean"/>
2528bf215546Sopenharmony_ci	</reg32>
2529bf215546Sopenharmony_ci	<reg32 offset="0xe5ca" name="SP_FS_OUTPUT_CNTL">
2530bf215546Sopenharmony_ci		<bitfield name="MRT" low="0" high="3" type="uint"/>
2531bf215546Sopenharmony_ci		<bitfield name="DEPTH_REGID" low="5" high="12" type="a3xx_regid"/>
2532bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK_REGID" low="13" high="20" type="a3xx_regid"/>
2533bf215546Sopenharmony_ci	</reg32>
2534bf215546Sopenharmony_ci	<array offset="0xe5cb" name="SP_FS_OUTPUT" stride="1" length="8">
2535bf215546Sopenharmony_ci		<doc>per MRT</doc>
2536bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
2537bf215546Sopenharmony_ci			<bitfield name="REGID" low="0" high="7" type="a3xx_regid"/>
2538bf215546Sopenharmony_ci			<bitfield name="HALF_PRECISION" pos="8" type="boolean"/>
2539bf215546Sopenharmony_ci		</reg32>
2540bf215546Sopenharmony_ci	</array>
2541bf215546Sopenharmony_ci	<array offset="0xe5d3" name="SP_FS_MRT" stride="1" length="8">
2542bf215546Sopenharmony_ci		<reg32 offset="0" name="REG">
2543bf215546Sopenharmony_ci			<bitfield name="COLOR_FORMAT" low="0" high="7" type="a5xx_color_fmt"/>
2544bf215546Sopenharmony_ci			<bitfield name="COLOR_SINT" pos="8" type="boolean"/>
2545bf215546Sopenharmony_ci			<bitfield name="COLOR_UINT" pos="9" type="boolean"/>
2546bf215546Sopenharmony_ci			<bitfield name="COLOR_SRGB" pos="10" type="boolean"/>
2547bf215546Sopenharmony_ci		</reg32>
2548bf215546Sopenharmony_ci	</array>
2549bf215546Sopenharmony_ci	<!--
2550bf215546Sopenharmony_ci	e5db/e5dc seems to look related to some optimization to do sample from
2551bf215546Sopenharmony_ci	texture using varying value directly before shader thread starts?  I
2552bf215546Sopenharmony_ci	guess that could optimize common simple frag shaders..
2553bf215546Sopenharmony_ci	 -->
2554bf215546Sopenharmony_ci	<reg32 offset="0xe5db" name="UNKNOWN_E5DB"/>
2555bf215546Sopenharmony_ci	<reg32 offset="0xe5f0" name="SP_CS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2556bf215546Sopenharmony_ci	<reg32 offset="0xe5f2" name="UNKNOWN_E5F2"/>
2557bf215546Sopenharmony_ci	<reg32 offset="0xe5f3" name="SP_CS_OBJ_START_LO"/>
2558bf215546Sopenharmony_ci	<reg32 offset="0xe5f4" name="SP_CS_OBJ_START_HI"/>
2559bf215546Sopenharmony_ci	<!-- e5f9 something compute related.. seems to change when HLSQ_CS_CNTL_1 changes -->
2560bf215546Sopenharmony_ci
2561bf215546Sopenharmony_ci	<reg32 offset="0xe600" name="SP_HS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2562bf215546Sopenharmony_ci	<reg32 offset="0xe602" name="UNKNOWN_E602"/>
2563bf215546Sopenharmony_ci	<reg32 offset="0xe603" name="SP_HS_OBJ_START_LO"/>
2564bf215546Sopenharmony_ci	<reg32 offset="0xe604" name="SP_HS_OBJ_START_HI"/>
2565bf215546Sopenharmony_ci	<reg32 offset="0xe610" name="SP_DS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2566bf215546Sopenharmony_ci	<reg32 offset="0xe62b" name="UNKNOWN_E62B"/>
2567bf215546Sopenharmony_ci	<reg32 offset="0xe62c" name="SP_DS_OBJ_START_LO"/>
2568bf215546Sopenharmony_ci	<reg32 offset="0xe62d" name="SP_DS_OBJ_START_HI"/>
2569bf215546Sopenharmony_ci	<reg32 offset="0xe640" name="SP_GS_CTRL_REG0" type="a5xx_sp_xs_ctrl_reg0"/>
2570bf215546Sopenharmony_ci	<reg32 offset="0xe65b" name="UNKNOWN_E65B"/>
2571bf215546Sopenharmony_ci	<reg32 offset="0xe65c" name="SP_GS_OBJ_START_LO"/>
2572bf215546Sopenharmony_ci	<reg32 offset="0xe65d" name="SP_GS_OBJ_START_HI"/>
2573bf215546Sopenharmony_ci
2574bf215546Sopenharmony_ci	<reg32 offset="0xe704" name="TPL1_TP_RAS_MSAA_CNTL">
2575bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
2576bf215546Sopenharmony_ci	</reg32>
2577bf215546Sopenharmony_ci	<reg32 offset="0xe705" name="TPL1_TP_DEST_MSAA_CNTL">
2578bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
2579bf215546Sopenharmony_ci		<bitfield name="MSAA_DISABLE" pos="2" type="boolean"/>
2580bf215546Sopenharmony_ci	</reg32>
2581bf215546Sopenharmony_ci	<!-- either blob is doing it wrong, or this is not per-stage anymore: -->
2582bf215546Sopenharmony_ci	<reg32 offset="0xe706" name="TPL1_TP_BORDER_COLOR_BASE_ADDR_LO"/>
2583bf215546Sopenharmony_ci	<reg32 offset="0xe707" name="TPL1_TP_BORDER_COLOR_BASE_ADDR_HI"/>
2584bf215546Sopenharmony_ci
2585bf215546Sopenharmony_ci	<!--
2586bf215546Sopenharmony_ci	so these have the same info that is normally in the CP_LOAD_STATE
2587bf215546Sopenharmony_ci	packets.. not sure if they are normally written by pm4/me or if the
2588bf215546Sopenharmony_ci	CP_LOAD_STATE mechanism is deprecated?
2589bf215546Sopenharmony_ci	 -->
2590bf215546Sopenharmony_ci	<reg32 offset="0xe700" name="TPL1_VS_TEX_COUNT" type="uint"/>
2591bf215546Sopenharmony_ci	<reg32 offset="0xe701" name="TPL1_HS_TEX_COUNT" type="uint"/>
2592bf215546Sopenharmony_ci	<reg32 offset="0xe702" name="TPL1_DS_TEX_COUNT" type="uint"/>
2593bf215546Sopenharmony_ci	<reg32 offset="0xe703" name="TPL1_GS_TEX_COUNT" type="uint"/>
2594bf215546Sopenharmony_ci
2595bf215546Sopenharmony_ci	<reg32 offset="0xe722" name="TPL1_VS_TEX_SAMP_LO"/>
2596bf215546Sopenharmony_ci	<reg32 offset="0xe723" name="TPL1_VS_TEX_SAMP_HI"/>
2597bf215546Sopenharmony_ci	<reg32 offset="0xe724" name="TPL1_HS_TEX_SAMP_LO"/>
2598bf215546Sopenharmony_ci	<reg32 offset="0xe725" name="TPL1_HS_TEX_SAMP_HI"/>
2599bf215546Sopenharmony_ci	<reg32 offset="0xe726" name="TPL1_DS_TEX_SAMP_LO"/>
2600bf215546Sopenharmony_ci	<reg32 offset="0xe727" name="TPL1_DS_TEX_SAMP_HI"/>
2601bf215546Sopenharmony_ci	<reg32 offset="0xe728" name="TPL1_GS_TEX_SAMP_LO"/>
2602bf215546Sopenharmony_ci	<reg32 offset="0xe729" name="TPL1_GS_TEX_SAMP_HI"/>
2603bf215546Sopenharmony_ci
2604bf215546Sopenharmony_ci	<reg32 offset="0xe72a" name="TPL1_VS_TEX_CONST_LO"/>
2605bf215546Sopenharmony_ci	<reg32 offset="0xe72b" name="TPL1_VS_TEX_CONST_HI"/>
2606bf215546Sopenharmony_ci	<reg32 offset="0xe72c" name="TPL1_HS_TEX_CONST_LO"/>
2607bf215546Sopenharmony_ci	<reg32 offset="0xe72d" name="TPL1_HS_TEX_CONST_HI"/>
2608bf215546Sopenharmony_ci	<reg32 offset="0xe72e" name="TPL1_DS_TEX_CONST_LO"/>
2609bf215546Sopenharmony_ci	<reg32 offset="0xe72f" name="TPL1_DS_TEX_CONST_HI"/>
2610bf215546Sopenharmony_ci	<reg32 offset="0xe730" name="TPL1_GS_TEX_CONST_LO"/>
2611bf215546Sopenharmony_ci	<reg32 offset="0xe731" name="TPL1_GS_TEX_CONST_HI"/>
2612bf215546Sopenharmony_ci
2613bf215546Sopenharmony_ci	<reg32 offset="0xe750" name="TPL1_FS_TEX_COUNT" type="uint"/>
2614bf215546Sopenharmony_ci	<reg32 offset="0xe751" name="TPL1_CS_TEX_COUNT" type="uint"/>
2615bf215546Sopenharmony_ci
2616bf215546Sopenharmony_ci	<reg32 offset="0xe75a" name="TPL1_FS_TEX_SAMP_LO"/>
2617bf215546Sopenharmony_ci	<reg32 offset="0xe75b" name="TPL1_FS_TEX_SAMP_HI"/>
2618bf215546Sopenharmony_ci	<reg32 offset="0xe75c" name="TPL1_CS_TEX_SAMP_LO"/>
2619bf215546Sopenharmony_ci	<reg32 offset="0xe75d" name="TPL1_CS_TEX_SAMP_HI"/>
2620bf215546Sopenharmony_ci	<reg32 offset="0xe75e" name="TPL1_FS_TEX_CONST_LO"/>
2621bf215546Sopenharmony_ci	<reg32 offset="0xe75f" name="TPL1_FS_TEX_CONST_HI"/>
2622bf215546Sopenharmony_ci	<reg32 offset="0xe760" name="TPL1_CS_TEX_CONST_LO"/>
2623bf215546Sopenharmony_ci	<reg32 offset="0xe761" name="TPL1_CS_TEX_CONST_HI"/>
2624bf215546Sopenharmony_ci
2625bf215546Sopenharmony_ci	<reg32 offset="0xe764" name="TPL1_TP_FS_ROTATION_CNTL"/>
2626bf215546Sopenharmony_ci
2627bf215546Sopenharmony_ci	<reg32 offset="0xe784" name="HLSQ_CONTROL_0_REG">
2628bf215546Sopenharmony_ci		<!-- 24 or more (full size) GPRS and blob uses TWO_QUADS instead of FOUR_QUADS -->
2629bf215546Sopenharmony_ci		<bitfield name="FSTHREADSIZE" pos="0" type="a3xx_threadsize"/>
2630bf215546Sopenharmony_ci		<bitfield name="CSTHREADSIZE" pos="2" type="a3xx_threadsize"/>
2631bf215546Sopenharmony_ci	</reg32>
2632bf215546Sopenharmony_ci	<reg32 offset="0xe785" name="HLSQ_CONTROL_1_REG">
2633bf215546Sopenharmony_ci		<!-- I guess.. not set exactly same as a4xx, but similar: -->
2634bf215546Sopenharmony_ci		<bitfield name="PRIMALLOCTHRESHOLD" low="0" high="5" type="uint"/>
2635bf215546Sopenharmony_ci	</reg32>
2636bf215546Sopenharmony_ci	<reg32 offset="0xe786" name="HLSQ_CONTROL_2_REG">
2637bf215546Sopenharmony_ci		<bitfield name="FACEREGID" low="0" high="7" type="a3xx_regid"/>
2638bf215546Sopenharmony_ci		<!-- SAMPLEID is loaded into a half-precision register: -->
2639bf215546Sopenharmony_ci		<bitfield name="SAMPLEID" low="8" high="15" type="a3xx_regid"/>
2640bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK" low="16" high="23" type="a3xx_regid"/>
2641bf215546Sopenharmony_ci		<bitfield name="CENTERRHW" low="24" high="31" type="a3xx_regid"/>
2642bf215546Sopenharmony_ci	</reg32>
2643bf215546Sopenharmony_ci	<reg32 offset="0xe787" name="HLSQ_CONTROL_3_REG">
2644bf215546Sopenharmony_ci		<!-- register loaded with position (bary.f) -->
2645bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_PIXEL" low="0" high="7" type="a3xx_regid"/>
2646bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_PIXEL" low="8" high="15" type="a3xx_regid"/>
2647bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_CENTROID" low="16" high="23" type="a3xx_regid"/>
2648bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_CENTROID" low="24" high="31" type="a3xx_regid"/>
2649bf215546Sopenharmony_ci	</reg32>
2650bf215546Sopenharmony_ci	<reg32 offset="0xe788" name="HLSQ_CONTROL_4_REG">
2651bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_SAMPLE" low="0" high="7" type="a3xx_regid"/>
2652bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_SAMPLE" low="8" high="15" type="a3xx_regid"/>
2653bf215546Sopenharmony_ci		<bitfield name="XYCOORDREGID" low="16" high="23" type="a3xx_regid"/>
2654bf215546Sopenharmony_ci		<bitfield name="ZWCOORDREGID" low="24" high="31" type="a3xx_regid"/>
2655bf215546Sopenharmony_ci	</reg32>
2656bf215546Sopenharmony_ci	<!--
2657bf215546Sopenharmony_ci	0x020fffff for normal draws, 0x1f00000 for compute.. maybe what state
2658bf215546Sopenharmony_ci	is enabled?  We could probably try disabling different bits and see
2659bf215546Sopenharmony_ci	what breaks to figure out which is what:
2660bf215546Sopenharmony_ci	 -->
2661bf215546Sopenharmony_ci	<reg32 offset="0xe78a" name="HLSQ_UPDATE_CNTL"/>
2662bf215546Sopenharmony_ci	<reg32 offset="0xe78b" name="HLSQ_VS_CONFIG" type="a5xx_xs_config"/>
2663bf215546Sopenharmony_ci	<reg32 offset="0xe78c" name="HLSQ_FS_CONFIG" type="a5xx_xs_config"/>
2664bf215546Sopenharmony_ci	<reg32 offset="0xe78d" name="HLSQ_HS_CONFIG" type="a5xx_xs_config"/>
2665bf215546Sopenharmony_ci	<reg32 offset="0xe78e" name="HLSQ_DS_CONFIG" type="a5xx_xs_config"/>
2666bf215546Sopenharmony_ci	<reg32 offset="0xe78f" name="HLSQ_GS_CONFIG" type="a5xx_xs_config"/>
2667bf215546Sopenharmony_ci	<reg32 offset="0xe790" name="HLSQ_CS_CONFIG" type="a5xx_xs_config"/>
2668bf215546Sopenharmony_ci	<reg32 offset="0xe791" name="HLSQ_VS_CNTL" type="a5xx_xs_cntl"/>
2669bf215546Sopenharmony_ci	<reg32 offset="0xe792" name="HLSQ_FS_CNTL" type="a5xx_xs_cntl"/>
2670bf215546Sopenharmony_ci	<reg32 offset="0xe793" name="HLSQ_HS_CNTL" type="a5xx_xs_cntl"/>
2671bf215546Sopenharmony_ci	<reg32 offset="0xe794" name="HLSQ_DS_CNTL" type="a5xx_xs_cntl"/>
2672bf215546Sopenharmony_ci	<reg32 offset="0xe795" name="HLSQ_GS_CNTL" type="a5xx_xs_cntl"/>
2673bf215546Sopenharmony_ci	<reg32 offset="0xe796" name="HLSQ_CS_CNTL" type="a5xx_xs_cntl"/>
2674bf215546Sopenharmony_ci	<reg32 offset="0xe7b9" name="HLSQ_CS_KERNEL_GROUP_X"/>
2675bf215546Sopenharmony_ci	<reg32 offset="0xe7ba" name="HLSQ_CS_KERNEL_GROUP_Y"/>
2676bf215546Sopenharmony_ci	<reg32 offset="0xe7bb" name="HLSQ_CS_KERNEL_GROUP_Z"/>
2677bf215546Sopenharmony_ci	<reg32 offset="0xe7b0" name="HLSQ_CS_NDRANGE_0">
2678bf215546Sopenharmony_ci		<bitfield name="KERNELDIM" low="0" high="1" type="uint"/>
2679bf215546Sopenharmony_ci		<!-- localsize is value minus one: -->
2680bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEX" low="2" high="11" type="uint"/>
2681bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEY" low="12" high="21" type="uint"/>
2682bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEZ" low="22" high="31" type="uint"/>
2683bf215546Sopenharmony_ci	</reg32>
2684bf215546Sopenharmony_ci	<reg32 offset="0xe7b1" name="HLSQ_CS_NDRANGE_1">
2685bf215546Sopenharmony_ci		<bitfield name="GLOBALSIZE_X" low="0" high="31" type="uint"/>
2686bf215546Sopenharmony_ci	</reg32>
2687bf215546Sopenharmony_ci	<reg32 offset="0xe7b2" name="HLSQ_CS_NDRANGE_2">
2688bf215546Sopenharmony_ci		<bitfield name="GLOBALOFF_X" low="0" high="31" type="uint"/>
2689bf215546Sopenharmony_ci	</reg32>
2690bf215546Sopenharmony_ci	<reg32 offset="0xe7b3" name="HLSQ_CS_NDRANGE_3">
2691bf215546Sopenharmony_ci		<bitfield name="GLOBALSIZE_Y" low="0" high="31" type="uint"/>
2692bf215546Sopenharmony_ci	</reg32>
2693bf215546Sopenharmony_ci	<reg32 offset="0xe7b4" name="HLSQ_CS_NDRANGE_4">
2694bf215546Sopenharmony_ci		<bitfield name="GLOBALOFF_Y" low="0" high="31" type="uint"/>
2695bf215546Sopenharmony_ci	</reg32>
2696bf215546Sopenharmony_ci	<reg32 offset="0xe7b5" name="HLSQ_CS_NDRANGE_5">
2697bf215546Sopenharmony_ci		<bitfield name="GLOBALSIZE_Z" low="0" high="31" type="uint"/>
2698bf215546Sopenharmony_ci	</reg32>
2699bf215546Sopenharmony_ci	<reg32 offset="0xe7b6" name="HLSQ_CS_NDRANGE_6">
2700bf215546Sopenharmony_ci		<bitfield name="GLOBALOFF_Z" low="0" high="31" type="uint"/>
2701bf215546Sopenharmony_ci	</reg32>
2702bf215546Sopenharmony_ci	<reg32 offset="0xe7b7" name="HLSQ_CS_CNTL_0">
2703bf215546Sopenharmony_ci		<bitfield name="WGIDCONSTID" low="0" high="7" type="a3xx_regid"/>
2704bf215546Sopenharmony_ci		<!-- possibly one of these is KERNELDIMCONSTID? -->
2705bf215546Sopenharmony_ci		<!--
2706bf215546Sopenharmony_ci		UNK0 appears to be NUMWGCONSTID.. but only works in certain
2707bf215546Sopenharmony_ci		cases?  Blob doesn't appear to use it, but instead emits
2708bf215546Sopenharmony_ci		these via const (uniform).  Which requires some shenanigans
2709bf215546Sopenharmony_ci		for indirect draws when the offset is not strongly aligned
2710bf215546Sopenharmony_ci		enough to use as EXT_SRC_ADDR in CP_LOAD_STATE
2711bf215546Sopenharmony_ci		 -->
2712bf215546Sopenharmony_ci		<bitfield name="UNK0" low="8" high="15" type="a3xx_regid"/>
2713bf215546Sopenharmony_ci		<bitfield name="UNK1" low="16" high="23" type="a3xx_regid"/>
2714bf215546Sopenharmony_ci		<bitfield name="LOCALIDREGID" low="24" high="31" type="a3xx_regid"/>
2715bf215546Sopenharmony_ci	</reg32>
2716bf215546Sopenharmony_ci	<reg32 offset="0xe7b8" name="HLSQ_CS_CNTL_1"/>
2717bf215546Sopenharmony_ci	<reg32 offset="0xe7c0" name="UNKNOWN_E7C0"/>
2718bf215546Sopenharmony_ci	<reg32 offset="0xe7c3" name="HLSQ_VS_CONSTLEN" type="uint"/>
2719bf215546Sopenharmony_ci	<reg32 offset="0xe7c4" name="HLSQ_VS_INSTRLEN" type="uint"/>
2720bf215546Sopenharmony_ci	<reg32 offset="0xe7c5" name="UNKNOWN_E7C5"/>
2721bf215546Sopenharmony_ci	<reg32 offset="0xe7c8" name="HLSQ_HS_CONSTLEN" type="uint"/>
2722bf215546Sopenharmony_ci	<reg32 offset="0xe7c9" name="HLSQ_HS_INSTRLEN" type="uint"/>
2723bf215546Sopenharmony_ci	<reg32 offset="0xe7ca" name="UNKNOWN_E7CA"/>
2724bf215546Sopenharmony_ci	<reg32 offset="0xe7cd" name="HLSQ_DS_CONSTLEN" type="uint"/>
2725bf215546Sopenharmony_ci	<reg32 offset="0xe7ce" name="HLSQ_DS_INSTRLEN" type="uint"/>
2726bf215546Sopenharmony_ci	<reg32 offset="0xe7cf" name="UNKNOWN_E7CF"/>
2727bf215546Sopenharmony_ci	<reg32 offset="0xe7d2" name="HLSQ_GS_CONSTLEN" type="uint"/>
2728bf215546Sopenharmony_ci	<reg32 offset="0xe7d3" name="HLSQ_GS_INSTRLEN" type="uint"/>
2729bf215546Sopenharmony_ci	<reg32 offset="0xe7d4" name="UNKNOWN_E7D4"/>
2730bf215546Sopenharmony_ci	<reg32 offset="0xe7d7" name="HLSQ_FS_CONSTLEN" type="uint"/>
2731bf215546Sopenharmony_ci	<reg32 offset="0xe7d8" name="HLSQ_FS_INSTRLEN" type="uint"/>
2732bf215546Sopenharmony_ci	<reg32 offset="0xe7d9" name="UNKNOWN_E7D9"/>
2733bf215546Sopenharmony_ci	<reg32 offset="0xe7dc" name="HLSQ_CS_CONSTLEN" type="uint"/>
2734bf215546Sopenharmony_ci	<reg32 offset="0xe7dd" name="HLSQ_CS_INSTRLEN" type="uint"/>
2735bf215546Sopenharmony_ci
2736bf215546Sopenharmony_ci	<!--
2737bf215546Sopenharmony_ci		Separate blit/2d or dma engine?  Seems to get used sometimes for
2738bf215546Sopenharmony_ci		texture uploads, where a4xx blob would use normal draws.  Used
2739bf215546Sopenharmony_ci		in render-mode 0x5..
2740bf215546Sopenharmony_ci
2741bf215546Sopenharmony_ci		Note seems mostly to be used for small blits, large blits seem
2742bf215546Sopenharmony_ci		to use the CP_EVENT_WRITE:BLIT style of doing things.  See
2743bf215546Sopenharmony_ci		cubemap-0003 (40x40) vs cubemap-0004 (256x256).
2744bf215546Sopenharmony_ci
2745bf215546Sopenharmony_ci		see cube-0000, cubemap-(1..3 but not 4+), quad-textured-10..17
2746bf215546Sopenharmony_ci
2747bf215546Sopenharmony_ci		Other nearby registers are probably color formats, etc.  The
2748bf215546Sopenharmony_ci		blit coords are in CP packet.  Play more w/ glTexSubImage2D()
2749bf215546Sopenharmony_ci		to work it out.
2750bf215546Sopenharmony_ci
2751bf215546Sopenharmony_ci		Separate this into a different domain??  Would that help to
2752bf215546Sopenharmony_ci		restrict which registers we dump based on mode?
2753bf215546Sopenharmony_ci
2754bf215546Sopenharmony_ci		regs 0x2000 to 0x2004 (plus all-zero regs 0x2005-0x2009) look
2755bf215546Sopenharmony_ci		like 2nd source for blending?  Used in mipmap generation.. but
2756bf215546Sopenharmony_ci		maybe layout is a bit different.  (Possibly used for reading
2757bf215546Sopenharmony_ci		src via sampler, to enable scaling??)  0x2040 also used in this
2758bf215546Sopenharmony_ci		case.
2759bf215546Sopenharmony_ci	 -->
2760bf215546Sopenharmony_ci	<reg32 offset="0x2100" name="RB_2D_BLIT_CNTL"/>  <!-- same as 0x2180 -->
2761bf215546Sopenharmony_ci	<reg32 offset="0x2101" name="RB_2D_SRC_SOLID_DW0"/>
2762bf215546Sopenharmony_ci	<reg32 offset="0x2102" name="RB_2D_SRC_SOLID_DW1"/>
2763bf215546Sopenharmony_ci	<reg32 offset="0x2103" name="RB_2D_SRC_SOLID_DW2"/>
2764bf215546Sopenharmony_ci	<reg32 offset="0x2104" name="RB_2D_SRC_SOLID_DW3"/>
2765bf215546Sopenharmony_ci
2766bf215546Sopenharmony_ci	<bitset name="a5xx_2d_surf_info" inline="yes">
2767bf215546Sopenharmony_ci		<bitfield name="COLOR_FORMAT" low="0" high="7" type="a5xx_color_fmt"/>
2768bf215546Sopenharmony_ci		<bitfield name="TILE_MODE" low="8" high="9" type="a5xx_tile_mode"/>
2769bf215546Sopenharmony_ci		<bitfield name="COLOR_SWAP" low="10" high="11" type="a3xx_color_swap"/>
2770bf215546Sopenharmony_ci		<!-- b12 seems to be set when UBWC "FLAGS" buffer enabled -->
2771bf215546Sopenharmony_ci		<bitfield name="FLAGS" pos="12" type="boolean"/>
2772bf215546Sopenharmony_ci		<bitfield name="SRGB" pos="13" type="boolean"/>
2773bf215546Sopenharmony_ci	</bitset>
2774bf215546Sopenharmony_ci
2775bf215546Sopenharmony_ci	<reg32 offset="0x2107" name="RB_2D_SRC_INFO" type="a5xx_2d_surf_info"/>
2776bf215546Sopenharmony_ci	<reg32 offset="0x2108" name="RB_2D_SRC_LO"/>
2777bf215546Sopenharmony_ci	<reg32 offset="0x2109" name="RB_2D_SRC_HI"/>
2778bf215546Sopenharmony_ci	<reg32 offset="0x210a" name="RB_2D_SRC_SIZE">
2779bf215546Sopenharmony_ci		<bitfield name="PITCH" low="0" high="15" shr="6" type="uint"/>
2780bf215546Sopenharmony_ci		<bitfield name="ARRAY_PITCH" low="16" high="31" shr="6" type="uint"/>
2781bf215546Sopenharmony_ci	</reg32>
2782bf215546Sopenharmony_ci
2783bf215546Sopenharmony_ci	<reg32 offset="0x2110" name="RB_2D_DST_INFO" type="a5xx_2d_surf_info"/>
2784bf215546Sopenharmony_ci	<reg32 offset="0x2111" name="RB_2D_DST_LO"/>
2785bf215546Sopenharmony_ci	<reg32 offset="0x2112" name="RB_2D_DST_HI"/>
2786bf215546Sopenharmony_ci	<reg32 offset="0x2113" name="RB_2D_DST_SIZE">
2787bf215546Sopenharmony_ci		<bitfield name="PITCH" low="0" high="15" shr="6" type="uint"/>
2788bf215546Sopenharmony_ci		<bitfield name="ARRAY_PITCH" low="16" high="31" shr="6" type="uint"/>
2789bf215546Sopenharmony_ci	</reg32>
2790bf215546Sopenharmony_ci	<reg32 offset="0x2140" name="RB_2D_SRC_FLAGS_LO"/>
2791bf215546Sopenharmony_ci	<reg32 offset="0x2141" name="RB_2D_SRC_FLAGS_HI"/>
2792bf215546Sopenharmony_ci        <reg32 offset="0x2142" name="RB_2D_SRC_FLAGS_PITCH" shr="6" type="uint"/>
2793bf215546Sopenharmony_ci	<reg32 offset="0x2143" name="RB_2D_DST_FLAGS_LO"/>
2794bf215546Sopenharmony_ci	<reg32 offset="0x2144" name="RB_2D_DST_FLAGS_HI"/>
2795bf215546Sopenharmony_ci        <reg32 offset="0x2145" name="RB_2D_DST_FLAGS_PITCH" shr="6" type="uint"/>
2796bf215546Sopenharmony_ci	<reg32 offset="0x2180" name="GRAS_2D_BLIT_CNTL"/> <!-- same as 0x2100 -->
2797bf215546Sopenharmony_ci	<!-- looks same as 0x2107: -->
2798bf215546Sopenharmony_ci	<reg32 offset="0x2181" name="GRAS_2D_SRC_INFO" type="a5xx_2d_surf_info"/>
2799bf215546Sopenharmony_ci	<!-- looks same as 0x2110: -->
2800bf215546Sopenharmony_ci	<reg32 offset="0x2182" name="GRAS_2D_DST_INFO" type="a5xx_2d_surf_info"/>
2801bf215546Sopenharmony_ci<!--
2802bf215546Sopenharmony_ci0x2100 and 0x2180 look like same thing (RB and GRAS versions)..
2803bf215546Sopenharmony_ci   0x86000000 for copy, 0x00000000 for fill?
2804bf215546Sopenharmony_ci
2805bf215546Sopenharmony_ci0x2184 0x9 for copy, 0x1 for blit (maybe bitmask of enabled src/dst???)
2806bf215546Sopenharmony_ci -->
2807bf215546Sopenharmony_ci	<reg32 offset="0x2184" name="UNKNOWN_2184"/>
2808bf215546Sopenharmony_ci</domain>
2809bf215546Sopenharmony_ci
2810bf215546Sopenharmony_ci<domain name="A5XX_TEX_SAMP" width="32">
2811bf215546Sopenharmony_ci	<doc>Texture sampler dwords</doc>
2812bf215546Sopenharmony_ci	<enum name="a5xx_tex_filter"> <!-- same as a4xx? -->
2813bf215546Sopenharmony_ci		<value name="A5XX_TEX_NEAREST" value="0"/>
2814bf215546Sopenharmony_ci		<value name="A5XX_TEX_LINEAR" value="1"/>
2815bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO" value="2"/>
2816bf215546Sopenharmony_ci	</enum>
2817bf215546Sopenharmony_ci	<enum name="a5xx_tex_clamp"> <!-- same as a4xx? -->
2818bf215546Sopenharmony_ci		<value name="A5XX_TEX_REPEAT" value="0"/>
2819bf215546Sopenharmony_ci		<value name="A5XX_TEX_CLAMP_TO_EDGE" value="1"/>
2820bf215546Sopenharmony_ci		<value name="A5XX_TEX_MIRROR_REPEAT" value="2"/>
2821bf215546Sopenharmony_ci		<value name="A5XX_TEX_CLAMP_TO_BORDER" value="3"/>
2822bf215546Sopenharmony_ci		<value name="A5XX_TEX_MIRROR_CLAMP" value="4"/>
2823bf215546Sopenharmony_ci	</enum>
2824bf215546Sopenharmony_ci	<enum name="a5xx_tex_aniso"> <!-- same as a4xx? -->
2825bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO_1" value="0"/>
2826bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO_2" value="1"/>
2827bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO_4" value="2"/>
2828bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO_8" value="3"/>
2829bf215546Sopenharmony_ci		<value name="A5XX_TEX_ANISO_16" value="4"/>
2830bf215546Sopenharmony_ci	</enum>
2831bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2832bf215546Sopenharmony_ci		<bitfield name="MIPFILTER_LINEAR_NEAR" pos="0" type="boolean"/>
2833bf215546Sopenharmony_ci		<bitfield name="XY_MAG" low="1" high="2" type="a5xx_tex_filter"/>
2834bf215546Sopenharmony_ci		<bitfield name="XY_MIN" low="3" high="4" type="a5xx_tex_filter"/>
2835bf215546Sopenharmony_ci		<bitfield name="WRAP_S" low="5" high="7" type="a5xx_tex_clamp"/>
2836bf215546Sopenharmony_ci		<bitfield name="WRAP_T" low="8" high="10" type="a5xx_tex_clamp"/>
2837bf215546Sopenharmony_ci		<bitfield name="WRAP_R" low="11" high="13" type="a5xx_tex_clamp"/>
2838bf215546Sopenharmony_ci		<bitfield name="ANISO" low="14" high="16" type="a5xx_tex_aniso"/>
2839bf215546Sopenharmony_ci		<bitfield name="LOD_BIAS" low="19" high="31" type="fixed" radix="8"/><!-- no idea how many bits for real -->
2840bf215546Sopenharmony_ci	</reg32>
2841bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2842bf215546Sopenharmony_ci		<bitfield name="COMPARE_FUNC" low="1" high="3" type="adreno_compare_func"/>
2843bf215546Sopenharmony_ci		<bitfield name="CUBEMAPSEAMLESSFILTOFF" pos="4" type="boolean"/>
2844bf215546Sopenharmony_ci		<bitfield name="UNNORM_COORDS" pos="5" type="boolean"/>
2845bf215546Sopenharmony_ci		<bitfield name="MIPFILTER_LINEAR_FAR" pos="6" type="boolean"/>
2846bf215546Sopenharmony_ci		<bitfield name="MAX_LOD" low="8" high="19" type="ufixed" radix="8"/>
2847bf215546Sopenharmony_ci		<bitfield name="MIN_LOD" low="20" high="31" type="ufixed" radix="8"/>
2848bf215546Sopenharmony_ci	</reg32>
2849bf215546Sopenharmony_ci	<reg32 offset="2" name="2">
2850bf215546Sopenharmony_ci		<!--
2851bf215546Sopenharmony_ci		offset into border-color buffer?  Blob always uses 0x80 for FS state
2852bf215546Sopenharmony_ci		if both VS and FS have border-color.
2853bf215546Sopenharmony_ciSeems like when both VS and FS have bcolor, one starts 0x300 after other..
2854bf215546Sopenharmony_ciand 0x80 in TEX_SAMP.2 ..  blob doesn't seem to be able to cope w/ multiple
2855bf215546Sopenharmony_cidifferent border-color states per texture..  Looks something like:
2856bf215546Sopenharmony_ci0000: 3f000000 00000000 00000000 3f800000 00008000 ffff0000 00004000 7fff0000
2857bf215546Sopenharmony_ci0020: 00003800 3c000000 80100010 0000f008 ff000080 7f000040 c0000200 00800000
2858bf215546Sopenharmony_ci0040: 00003800 3c000000 00000000 00000000 00000000 00000000 00000000 00000000
2859bf215546Sopenharmony_ci*
2860bf215546Sopenharmony_ci0300: 3f800000 3f800000 3f800000 3f800000 ffffffff ffffffff 7fff7fff 7fff7fff
2861bf215546Sopenharmony_ci0320: 3c003c00 3c003c00 ffffffff 0000ffff ffffffff 7f7f7f7f ffffffff 00ffffff
2862bf215546Sopenharmony_ci0340: 3c003c00 3c003c00 00000000 00000000 00000000 00000000 00000000 00000000
2863bf215546Sopenharmony_ci
2864bf215546Sopenharmony_ci		 -->
2865bf215546Sopenharmony_ci		<bitfield name="BCOLOR_OFFSET" low="7" high="31"/>
2866bf215546Sopenharmony_ci	</reg32>
2867bf215546Sopenharmony_ci	<reg32 offset="3" name="3"/>
2868bf215546Sopenharmony_ci</domain>
2869bf215546Sopenharmony_ci
2870bf215546Sopenharmony_ci<domain name="A5XX_TEX_CONST" width="32">
2871bf215546Sopenharmony_ci	<doc>Texture constant dwords</doc>
2872bf215546Sopenharmony_ci	<enum name="a5xx_tex_swiz"> <!-- same as a4xx? -->
2873bf215546Sopenharmony_ci		<value name="A5XX_TEX_X" value="0"/>
2874bf215546Sopenharmony_ci		<value name="A5XX_TEX_Y" value="1"/>
2875bf215546Sopenharmony_ci		<value name="A5XX_TEX_Z" value="2"/>
2876bf215546Sopenharmony_ci		<value name="A5XX_TEX_W" value="3"/>
2877bf215546Sopenharmony_ci		<value name="A5XX_TEX_ZERO" value="4"/>
2878bf215546Sopenharmony_ci		<value name="A5XX_TEX_ONE" value="5"/>
2879bf215546Sopenharmony_ci	</enum>
2880bf215546Sopenharmony_ci	<enum name="a5xx_tex_type"> <!-- same as a4xx? -->
2881bf215546Sopenharmony_ci		<value name="A5XX_TEX_1D" value="0"/>
2882bf215546Sopenharmony_ci		<value name="A5XX_TEX_2D" value="1"/>
2883bf215546Sopenharmony_ci		<value name="A5XX_TEX_CUBE" value="2"/>
2884bf215546Sopenharmony_ci		<value name="A5XX_TEX_3D" value="3"/>
2885bf215546Sopenharmony_ci		<value name="A5XX_TEX_BUFFER" value="4"/>
2886bf215546Sopenharmony_ci	</enum>
2887bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2888bf215546Sopenharmony_ci		<bitfield name="TILE_MODE" low="0" high="1" type="a5xx_tile_mode"/>
2889bf215546Sopenharmony_ci		<bitfield name="SRGB" pos="2" type="boolean"/>
2890bf215546Sopenharmony_ci		<bitfield name="SWIZ_X" low="4" high="6" type="a5xx_tex_swiz"/>
2891bf215546Sopenharmony_ci		<bitfield name="SWIZ_Y" low="7" high="9" type="a5xx_tex_swiz"/>
2892bf215546Sopenharmony_ci		<bitfield name="SWIZ_Z" low="10" high="12" type="a5xx_tex_swiz"/>
2893bf215546Sopenharmony_ci		<bitfield name="SWIZ_W" low="13" high="15" type="a5xx_tex_swiz"/>
2894bf215546Sopenharmony_ci		<bitfield name="MIPLVLS" low="16" high="19" type="uint"/>
2895bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="20" high="21" type="a3xx_msaa_samples"/>
2896bf215546Sopenharmony_ci		<bitfield name="FMT" low="22" high="29" type="a5xx_tex_fmt"/>
2897bf215546Sopenharmony_ci		<bitfield name="SWAP" low="30" high="31" type="a3xx_color_swap"/>
2898bf215546Sopenharmony_ci	</reg32>
2899bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2900bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="14" type="uint"/>
2901bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="15" high="29" type="uint"/>
2902bf215546Sopenharmony_ci	</reg32>
2903bf215546Sopenharmony_ci	<reg32 offset="2" name="2">
2904bf215546Sopenharmony_ci		<!--
2905bf215546Sopenharmony_ci		b4 and b31 set for buffer/ssbo case, in which case low 15 bits
2906bf215546Sopenharmony_ci		of size encoded in WIDTH, and high 15 bits encoded in HEIGHT
2907bf215546Sopenharmony_ci
2908bf215546Sopenharmony_ci		b31 is probably the 'BUFFER' bit.. it is the one that changes
2909bf215546Sopenharmony_ci		behavior of texture in dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture.buffer_size_131071
2910bf215546Sopenharmony_ci		 -->
2911bf215546Sopenharmony_ci		<bitfield name="BUFFER" pos="4" type="boolean"/>
2912bf215546Sopenharmony_ci		<!-- minimum pitch (for mipmap levels): log2(pitchalign / 64) -->
2913bf215546Sopenharmony_ci		<bitfield name="PITCHALIGN" low="0" high="3" type="uint"/>
2914bf215546Sopenharmony_ci		<doc>Pitch in bytes (so actually stride)</doc>
2915bf215546Sopenharmony_ci		<bitfield name="PITCH" low="7" high="28" type="uint"/>
2916bf215546Sopenharmony_ci		<bitfield name="TYPE" low="29" high="31" type="a5xx_tex_type"/>
2917bf215546Sopenharmony_ci	</reg32>
2918bf215546Sopenharmony_ci	<reg32 offset="3" name="3">
2919bf215546Sopenharmony_ci		<!--
2920bf215546Sopenharmony_ci		ARRAY_PITCH is basically LAYERSZ for the first mipmap level, and
2921bf215546Sopenharmony_ci		for 3d textures (laid out mipmap level first) MIN_LAYERSZ is the
2922bf215546Sopenharmony_ci		layer size at the point that it stops being reduced moving to
2923bf215546Sopenharmony_ci		higher (smaller) mipmap levels
2924bf215546Sopenharmony_ci		 -->
2925bf215546Sopenharmony_ci		<bitfield name="ARRAY_PITCH" low="0" high="13" shr="12" type="uint"/>
2926bf215546Sopenharmony_ci		<bitfield name="MIN_LAYERSZ" low="23" high="26" shr="12"/>
2927bf215546Sopenharmony_ci		<!--
2928bf215546Sopenharmony_ci		by default levels with w < 16 are linear
2929bf215546Sopenharmony_ci		TILE_ALL makes all levels have tiling
2930bf215546Sopenharmony_ci		seems required when using UBWC, since all levels have UBWC (can possibly be disabled?)
2931bf215546Sopenharmony_ci		 -->
2932bf215546Sopenharmony_ci		<bitfield name="TILE_ALL" pos="27" type="boolean"/>
2933bf215546Sopenharmony_ci		<bitfield name="FLAG" pos="28" type="boolean"/>
2934bf215546Sopenharmony_ci	</reg32>
2935bf215546Sopenharmony_ci	<reg32 offset="4" name="4">
2936bf215546Sopenharmony_ci		<bitfield name="BASE_LO" low="5" high="31" shr="5"/>
2937bf215546Sopenharmony_ci	</reg32>
2938bf215546Sopenharmony_ci	<reg32 offset="5" name="5">
2939bf215546Sopenharmony_ci		<bitfield name="BASE_HI" low="0" high="16"/>
2940bf215546Sopenharmony_ci		<bitfield name="DEPTH" low="17" high="29" type="uint"/>
2941bf215546Sopenharmony_ci	</reg32>
2942bf215546Sopenharmony_ci	<reg32 offset="6" name="6"/>
2943bf215546Sopenharmony_ci	<reg32 offset="7" name="7"/>
2944bf215546Sopenharmony_ci	<reg32 offset="8" name="8"/>
2945bf215546Sopenharmony_ci	<reg32 offset="9" name="9"/>
2946bf215546Sopenharmony_ci	<reg32 offset="10" name="10"/>
2947bf215546Sopenharmony_ci	<reg32 offset="11" name="11"/>
2948bf215546Sopenharmony_ci</domain>
2949bf215546Sopenharmony_ci
2950bf215546Sopenharmony_ci<!--
2951bf215546Sopenharmony_ciNote the "SSBO" state blocks are actually used for both images and SSBOs,
2952bf215546Sopenharmony_cinaming is just because I r/e'd SSBOs first.  I should probably come up
2953bf215546Sopenharmony_ciwith a better name.
2954bf215546Sopenharmony_ci-->
2955bf215546Sopenharmony_ci<domain name="A5XX_SSBO_0" width="32">
2956bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2957bf215546Sopenharmony_ci		<bitfield name="BASE_LO" low="5" high="31" shr="5"/>
2958bf215546Sopenharmony_ci	</reg32>
2959bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2960bf215546Sopenharmony_ci		<!-- no BASE_HI here?  Maybe this is only used for 32b mode? -->
2961bf215546Sopenharmony_ci		<doc>Pitch in bytes (so actually stride)</doc>
2962bf215546Sopenharmony_ci		<bitfield name="PITCH" low="0" high="21" type="uint"/>
2963bf215546Sopenharmony_ci	</reg32>
2964bf215546Sopenharmony_ci	<reg32 offset="2" name="2">
2965bf215546Sopenharmony_ci		<bitfield name="ARRAY_PITCH" low="12" high="25" shr="12" type="uint"/>
2966bf215546Sopenharmony_ci	</reg32>
2967bf215546Sopenharmony_ci	<reg32 offset="3" name="3">
2968bf215546Sopenharmony_ci		<!-- bytes per pixel: -->
2969bf215546Sopenharmony_ci		<bitfield name="CPP" low="0" high="5" type="uint"/>
2970bf215546Sopenharmony_ci	</reg32>
2971bf215546Sopenharmony_ci</domain>
2972bf215546Sopenharmony_ci
2973bf215546Sopenharmony_ci<domain name="A5XX_SSBO_1" width="32">
2974bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2975bf215546Sopenharmony_ci		<bitfield name="FMT" low="8" high="15" type="a5xx_tex_fmt"/>
2976bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="16" high="31" type="uint"/>
2977bf215546Sopenharmony_ci	</reg32>
2978bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2979bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="0" high="15" type="uint"/>
2980bf215546Sopenharmony_ci		<bitfield name="DEPTH" low="16" high="31" type="uint"/>
2981bf215546Sopenharmony_ci	</reg32>
2982bf215546Sopenharmony_ci</domain>
2983bf215546Sopenharmony_ci
2984bf215546Sopenharmony_ci<domain name="A5XX_SSBO_2" width="32">
2985bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2986bf215546Sopenharmony_ci		<bitfield name="BASE_LO" low="0" high="31"/>
2987bf215546Sopenharmony_ci	</reg32>
2988bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2989bf215546Sopenharmony_ci		<bitfield name="BASE_HI" low="0" high="31"/>
2990bf215546Sopenharmony_ci	</reg32>
2991bf215546Sopenharmony_ci</domain>
2992bf215546Sopenharmony_ci
2993bf215546Sopenharmony_ci<domain name="A5XX_UBO" width="32">
2994bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2995bf215546Sopenharmony_ci		<bitfield name="BASE_LO" low="0" high="31"/>
2996bf215546Sopenharmony_ci	</reg32>
2997bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2998bf215546Sopenharmony_ci		<bitfield name="BASE_HI" low="0" high="16"/>
2999bf215546Sopenharmony_ci		<!-- size probably in high bits -->
3000bf215546Sopenharmony_ci	</reg32>
3001bf215546Sopenharmony_ci</domain>
3002bf215546Sopenharmony_ci
3003bf215546Sopenharmony_ci</database>
3004