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="a4xx_color_fmt">
10bf215546Sopenharmony_ci	<value name="RB4_A8_UNORM" value="0x01"/>
11bf215546Sopenharmony_ci	<value name="RB4_R8_UNORM" value="0x02"/>
12bf215546Sopenharmony_ci	<value name="RB4_R8_SNORM" value="0x03"/>
13bf215546Sopenharmony_ci	<value name="RB4_R8_UINT" value="0x04"/>
14bf215546Sopenharmony_ci	<value name="RB4_R8_SINT" value="0x05"/>
15bf215546Sopenharmony_ci
16bf215546Sopenharmony_ci	<value name="RB4_R4G4B4A4_UNORM" value="0x08"/>
17bf215546Sopenharmony_ci	<value name="RB4_R5G5B5A1_UNORM" value="0x0a"/>
18bf215546Sopenharmony_ci	<value name="RB4_R5G6B5_UNORM" value="0x0e"/>
19bf215546Sopenharmony_ci	<value name="RB4_R8G8_UNORM" value="0x0f"/>
20bf215546Sopenharmony_ci	<value name="RB4_R8G8_SNORM" value="0x10"/>
21bf215546Sopenharmony_ci	<value name="RB4_R8G8_UINT" value="0x11"/>
22bf215546Sopenharmony_ci	<value name="RB4_R8G8_SINT" value="0x12"/>
23bf215546Sopenharmony_ci	<value name="RB4_R16_UNORM" value="0x13"/>
24bf215546Sopenharmony_ci	<value name="RB4_R16_SNORM" value="0x14"/>
25bf215546Sopenharmony_ci	<value name="RB4_R16_FLOAT" value="0x15"/>
26bf215546Sopenharmony_ci	<value name="RB4_R16_UINT" value="0x16"/>
27bf215546Sopenharmony_ci	<value name="RB4_R16_SINT" value="0x17"/>
28bf215546Sopenharmony_ci
29bf215546Sopenharmony_ci	<value name="RB4_R8G8B8_UNORM" value="0x19"/>
30bf215546Sopenharmony_ci
31bf215546Sopenharmony_ci	<value name="RB4_R8G8B8A8_UNORM" value="0x1a"/>
32bf215546Sopenharmony_ci	<value name="RB4_R8G8B8A8_SNORM" value="0x1c"/>
33bf215546Sopenharmony_ci	<value name="RB4_R8G8B8A8_UINT" value="0x1d"/>
34bf215546Sopenharmony_ci	<value name="RB4_R8G8B8A8_SINT" value="0x1e"/>
35bf215546Sopenharmony_ci	<value name="RB4_R10G10B10A2_UNORM" value="0x1f"/>
36bf215546Sopenharmony_ci	<value name="RB4_R10G10B10A2_UINT" value="0x22"/>
37bf215546Sopenharmony_ci	<value name="RB4_R11G11B10_FLOAT" value="0x27"/>
38bf215546Sopenharmony_ci	<value name="RB4_R16G16_UNORM" value="0x28"/>
39bf215546Sopenharmony_ci	<value name="RB4_R16G16_SNORM" value="0x29"/>
40bf215546Sopenharmony_ci	<value name="RB4_R16G16_FLOAT" value="0x2a"/>
41bf215546Sopenharmony_ci	<value name="RB4_R16G16_UINT" value="0x2b"/>
42bf215546Sopenharmony_ci	<value name="RB4_R16G16_SINT" value="0x2c"/>
43bf215546Sopenharmony_ci	<value name="RB4_R32_FLOAT" value="0x2d"/>
44bf215546Sopenharmony_ci	<value name="RB4_R32_UINT" value="0x2e"/>
45bf215546Sopenharmony_ci	<value name="RB4_R32_SINT" value="0x2f"/>
46bf215546Sopenharmony_ci
47bf215546Sopenharmony_ci	<value name="RB4_R16G16B16A16_UNORM" value="0x34"/>
48bf215546Sopenharmony_ci	<value name="RB4_R16G16B16A16_SNORM" value="0x35"/>
49bf215546Sopenharmony_ci	<value name="RB4_R16G16B16A16_FLOAT" value="0x36"/>
50bf215546Sopenharmony_ci	<value name="RB4_R16G16B16A16_UINT" value="0x37"/>
51bf215546Sopenharmony_ci	<value name="RB4_R16G16B16A16_SINT" value="0x38"/>
52bf215546Sopenharmony_ci	<value name="RB4_R32G32_FLOAT" value="0x39"/>
53bf215546Sopenharmony_ci	<value name="RB4_R32G32_UINT" value="0x3a"/>
54bf215546Sopenharmony_ci	<value name="RB4_R32G32_SINT" value="0x3b"/>
55bf215546Sopenharmony_ci
56bf215546Sopenharmony_ci	<value name="RB4_R32G32B32A32_FLOAT" value="0x3c"/>
57bf215546Sopenharmony_ci	<value name="RB4_R32G32B32A32_UINT" value="0x3d"/>
58bf215546Sopenharmony_ci	<value name="RB4_R32G32B32A32_SINT" value="0x3e"/>
59bf215546Sopenharmony_ci
60bf215546Sopenharmony_ci	<value name="RB4_NONE" value="0xff"/>
61bf215546Sopenharmony_ci</enum>
62bf215546Sopenharmony_ci
63bf215546Sopenharmony_ci<enum name="a4xx_tile_mode">
64bf215546Sopenharmony_ci	<value name="TILE4_LINEAR" value="0"/>
65bf215546Sopenharmony_ci	<value name="TILE4_2" value="2"/>
66bf215546Sopenharmony_ci	<value name="TILE4_3" value="3"/>
67bf215546Sopenharmony_ci</enum>
68bf215546Sopenharmony_ci
69bf215546Sopenharmony_ci<enum name="a4xx_vtx_fmt" prefix="chipset">
70bf215546Sopenharmony_ci	<!-- hmm, shifted one compared to a3xx?!?  -->
71bf215546Sopenharmony_ci	<value name="VFMT4_32_FLOAT" value="0x1"/>
72bf215546Sopenharmony_ci	<value name="VFMT4_32_32_FLOAT" value="0x2"/>
73bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_FLOAT" value="0x3"/>
74bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_32_FLOAT" value="0x4"/>
75bf215546Sopenharmony_ci
76bf215546Sopenharmony_ci	<value name="VFMT4_16_FLOAT" value="0x5"/>
77bf215546Sopenharmony_ci	<value name="VFMT4_16_16_FLOAT" value="0x6"/>
78bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_FLOAT" value="0x7"/>
79bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_16_FLOAT" value="0x8"/>
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci	<value name="VFMT4_32_FIXED" value="0x9"/>
82bf215546Sopenharmony_ci	<value name="VFMT4_32_32_FIXED" value="0xa"/>
83bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_FIXED" value="0xb"/>
84bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_32_FIXED" value="0xc"/>
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci	<value name="VFMT4_11_11_10_FLOAT" value="0xd"/>
87bf215546Sopenharmony_ci
88bf215546Sopenharmony_ci	<!-- beyond here it does not appear to be shifted -->
89bf215546Sopenharmony_ci	<value name="VFMT4_16_SINT" value="0x10"/>
90bf215546Sopenharmony_ci	<value name="VFMT4_16_16_SINT" value="0x11"/>
91bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_SINT" value="0x12"/>
92bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_16_SINT" value="0x13"/>
93bf215546Sopenharmony_ci	<value name="VFMT4_16_UINT" value="0x14"/>
94bf215546Sopenharmony_ci	<value name="VFMT4_16_16_UINT" value="0x15"/>
95bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_UINT" value="0x16"/>
96bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_16_UINT" value="0x17"/>
97bf215546Sopenharmony_ci	<value name="VFMT4_16_SNORM" value="0x18"/>
98bf215546Sopenharmony_ci	<value name="VFMT4_16_16_SNORM" value="0x19"/>
99bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_SNORM" value="0x1a"/>
100bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_16_SNORM" value="0x1b"/>
101bf215546Sopenharmony_ci	<value name="VFMT4_16_UNORM" value="0x1c"/>
102bf215546Sopenharmony_ci	<value name="VFMT4_16_16_UNORM" value="0x1d"/>
103bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_UNORM" value="0x1e"/>
104bf215546Sopenharmony_ci	<value name="VFMT4_16_16_16_16_UNORM" value="0x1f"/>
105bf215546Sopenharmony_ci
106bf215546Sopenharmony_ci	<value name="VFMT4_32_UINT" value="0x20"/>
107bf215546Sopenharmony_ci	<value name="VFMT4_32_32_UINT" value="0x21"/>
108bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_UINT" value="0x22"/>
109bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_32_UINT" value="0x23"/>
110bf215546Sopenharmony_ci	<value name="VFMT4_32_SINT" value="0x24"/>
111bf215546Sopenharmony_ci	<value name="VFMT4_32_32_SINT" value="0x25"/>
112bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_SINT" value="0x26"/>
113bf215546Sopenharmony_ci	<value name="VFMT4_32_32_32_32_SINT" value="0x27"/>
114bf215546Sopenharmony_ci
115bf215546Sopenharmony_ci	<value name="VFMT4_8_UINT" value="0x28"/>
116bf215546Sopenharmony_ci	<value name="VFMT4_8_8_UINT" value="0x29"/>
117bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_UINT" value="0x2a"/>
118bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_8_UINT" value="0x2b"/>
119bf215546Sopenharmony_ci	<value name="VFMT4_8_UNORM" value="0x2c"/>
120bf215546Sopenharmony_ci	<value name="VFMT4_8_8_UNORM" value="0x2d"/>
121bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_UNORM" value="0x2e"/>
122bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_8_UNORM" value="0x2f"/>
123bf215546Sopenharmony_ci	<value name="VFMT4_8_SINT" value="0x30"/>
124bf215546Sopenharmony_ci	<value name="VFMT4_8_8_SINT" value="0x31"/>
125bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_SINT" value="0x32"/>
126bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_8_SINT" value="0x33"/>
127bf215546Sopenharmony_ci	<value name="VFMT4_8_SNORM" value="0x34"/>
128bf215546Sopenharmony_ci	<value name="VFMT4_8_8_SNORM" value="0x35"/>
129bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_SNORM" value="0x36"/>
130bf215546Sopenharmony_ci	<value name="VFMT4_8_8_8_8_SNORM" value="0x37"/>
131bf215546Sopenharmony_ci
132bf215546Sopenharmony_ci	<value name="VFMT4_10_10_10_2_UINT" value="0x38"/>
133bf215546Sopenharmony_ci	<value name="VFMT4_10_10_10_2_UNORM" value="0x39"/>
134bf215546Sopenharmony_ci	<value name="VFMT4_10_10_10_2_SINT" value="0x3a"/>
135bf215546Sopenharmony_ci	<value name="VFMT4_10_10_10_2_SNORM" value="0x3b"/>
136bf215546Sopenharmony_ci	<value name="VFMT4_2_10_10_10_UINT" value="0x3c"/>
137bf215546Sopenharmony_ci	<value name="VFMT4_2_10_10_10_UNORM" value="0x3d"/>
138bf215546Sopenharmony_ci	<value name="VFMT4_2_10_10_10_SINT" value="0x3e"/>
139bf215546Sopenharmony_ci	<value name="VFMT4_2_10_10_10_SNORM" value="0x3f"/>
140bf215546Sopenharmony_ci
141bf215546Sopenharmony_ci	<value name="VFMT4_NONE" value="0xff"/>
142bf215546Sopenharmony_ci</enum>
143bf215546Sopenharmony_ci
144bf215546Sopenharmony_ci<enum name="a4xx_tex_fmt">
145bf215546Sopenharmony_ci	<!-- 0x00 .. 0x02 -->
146bf215546Sopenharmony_ci
147bf215546Sopenharmony_ci	<!-- 8-bit formats -->
148bf215546Sopenharmony_ci	<value name="TFMT4_A8_UNORM" value="0x03"/>
149bf215546Sopenharmony_ci	<value name="TFMT4_8_UNORM"  value="0x04"/>
150bf215546Sopenharmony_ci	<value name="TFMT4_8_SNORM"  value="0x05"/>
151bf215546Sopenharmony_ci	<value name="TFMT4_8_UINT"   value="0x06"/>
152bf215546Sopenharmony_ci	<value name="TFMT4_8_SINT"   value="0x07"/>
153bf215546Sopenharmony_ci
154bf215546Sopenharmony_ci	<!-- 16-bit formats -->
155bf215546Sopenharmony_ci	<value name="TFMT4_4_4_4_4_UNORM" value="0x08"/>
156bf215546Sopenharmony_ci	<value name="TFMT4_5_5_5_1_UNORM" value="0x09"/>
157bf215546Sopenharmony_ci	<!-- 0x0a -->
158bf215546Sopenharmony_ci	<value name="TFMT4_5_6_5_UNORM"   value="0x0b"/>
159bf215546Sopenharmony_ci
160bf215546Sopenharmony_ci	<!-- 0x0c -->
161bf215546Sopenharmony_ci
162bf215546Sopenharmony_ci	<value name="TFMT4_L8_A8_UNORM" value="0x0d"/>
163bf215546Sopenharmony_ci	<value name="TFMT4_8_8_UNORM"   value="0x0e"/>
164bf215546Sopenharmony_ci	<value name="TFMT4_8_8_SNORM"   value="0x0f"/>
165bf215546Sopenharmony_ci	<value name="TFMT4_8_8_UINT"    value="0x10"/>
166bf215546Sopenharmony_ci	<value name="TFMT4_8_8_SINT"    value="0x11"/>
167bf215546Sopenharmony_ci
168bf215546Sopenharmony_ci	<value name="TFMT4_16_UNORM" value="0x12"/>
169bf215546Sopenharmony_ci	<value name="TFMT4_16_SNORM" value="0x13"/>
170bf215546Sopenharmony_ci	<value name="TFMT4_16_FLOAT" value="0x14"/>
171bf215546Sopenharmony_ci	<value name="TFMT4_16_UINT"  value="0x15"/>
172bf215546Sopenharmony_ci	<value name="TFMT4_16_SINT"  value="0x16"/>
173bf215546Sopenharmony_ci
174bf215546Sopenharmony_ci	<!-- 0x17 .. 0x1b -->
175bf215546Sopenharmony_ci
176bf215546Sopenharmony_ci	<!-- 32-bit formats -->
177bf215546Sopenharmony_ci	<value name="TFMT4_8_8_8_8_UNORM" value="0x1c"/>
178bf215546Sopenharmony_ci	<value name="TFMT4_8_8_8_8_SNORM" value="0x1d"/>
179bf215546Sopenharmony_ci	<value name="TFMT4_8_8_8_8_UINT"  value="0x1e"/>
180bf215546Sopenharmony_ci	<value name="TFMT4_8_8_8_8_SINT"  value="0x1f"/>
181bf215546Sopenharmony_ci
182bf215546Sopenharmony_ci	<value name="TFMT4_9_9_9_E5_FLOAT"   value="0x20"/>
183bf215546Sopenharmony_ci	<value name="TFMT4_10_10_10_2_UNORM" value="0x21"/>
184bf215546Sopenharmony_ci	<value name="TFMT4_10_10_10_2_UINT"  value="0x22"/>
185bf215546Sopenharmony_ci	<!-- 0x23 .. 0x24 -->
186bf215546Sopenharmony_ci	<value name="TFMT4_11_11_10_FLOAT"   value="0x25"/>
187bf215546Sopenharmony_ci
188bf215546Sopenharmony_ci	<value name="TFMT4_16_16_UNORM" value="0x26"/>
189bf215546Sopenharmony_ci	<value name="TFMT4_16_16_SNORM" value="0x27"/>
190bf215546Sopenharmony_ci	<value name="TFMT4_16_16_FLOAT" value="0x28"/>
191bf215546Sopenharmony_ci	<value name="TFMT4_16_16_UINT"  value="0x29"/>
192bf215546Sopenharmony_ci	<value name="TFMT4_16_16_SINT"  value="0x2a"/>
193bf215546Sopenharmony_ci
194bf215546Sopenharmony_ci	<value name="TFMT4_32_FLOAT" value="0x2b"/>
195bf215546Sopenharmony_ci	<value name="TFMT4_32_UINT"  value="0x2c"/>
196bf215546Sopenharmony_ci	<value name="TFMT4_32_SINT"  value="0x2d"/>
197bf215546Sopenharmony_ci
198bf215546Sopenharmony_ci	<!-- 0x2e .. 0x32 -->
199bf215546Sopenharmony_ci
200bf215546Sopenharmony_ci	<!-- 64-bit formats -->
201bf215546Sopenharmony_ci	<value name="TFMT4_16_16_16_16_UNORM" value="0x33"/>
202bf215546Sopenharmony_ci	<value name="TFMT4_16_16_16_16_SNORM" value="0x34"/>
203bf215546Sopenharmony_ci	<value name="TFMT4_16_16_16_16_FLOAT" value="0x35"/>
204bf215546Sopenharmony_ci	<value name="TFMT4_16_16_16_16_UINT"  value="0x36"/>
205bf215546Sopenharmony_ci	<value name="TFMT4_16_16_16_16_SINT"  value="0x37"/>
206bf215546Sopenharmony_ci
207bf215546Sopenharmony_ci	<value name="TFMT4_32_32_FLOAT" value="0x38"/>
208bf215546Sopenharmony_ci	<value name="TFMT4_32_32_UINT"  value="0x39"/>
209bf215546Sopenharmony_ci	<value name="TFMT4_32_32_SINT"  value="0x3a"/>
210bf215546Sopenharmony_ci
211bf215546Sopenharmony_ci	<!-- 96-bit formats -->
212bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_FLOAT" value="0x3b"/>
213bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_UINT"  value="0x3c"/>
214bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_SINT"  value="0x3d"/>
215bf215546Sopenharmony_ci
216bf215546Sopenharmony_ci	<!-- 0x3e -->
217bf215546Sopenharmony_ci
218bf215546Sopenharmony_ci	<!-- 128-bit formats -->
219bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_32_FLOAT" value="0x3f"/>
220bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_32_UINT"  value="0x40"/>
221bf215546Sopenharmony_ci	<value name="TFMT4_32_32_32_32_SINT"  value="0x41"/>
222bf215546Sopenharmony_ci
223bf215546Sopenharmony_ci	<!-- 0x42 .. 0x46 -->
224bf215546Sopenharmony_ci	<value name="TFMT4_X8Z24_UNORM" value="0x47"/>
225bf215546Sopenharmony_ci	<!-- 0x48 .. 0x55 -->
226bf215546Sopenharmony_ci
227bf215546Sopenharmony_ci	<!-- compressed formats -->
228bf215546Sopenharmony_ci	<value name="TFMT4_DXT1"                  value="0x56"/>
229bf215546Sopenharmony_ci	<value name="TFMT4_DXT3"                  value="0x57"/>
230bf215546Sopenharmony_ci	<value name="TFMT4_DXT5"                  value="0x58"/>
231bf215546Sopenharmony_ci	<!-- 0x59 -->
232bf215546Sopenharmony_ci	<value name="TFMT4_RGTC1_UNORM"           value="0x5a"/>
233bf215546Sopenharmony_ci	<value name="TFMT4_RGTC1_SNORM"           value="0x5b"/>
234bf215546Sopenharmony_ci	<!-- 0x5c .. 0x5d -->
235bf215546Sopenharmony_ci	<value name="TFMT4_RGTC2_UNORM"           value="0x5e"/>
236bf215546Sopenharmony_ci	<value name="TFMT4_RGTC2_SNORM"           value="0x5f"/>
237bf215546Sopenharmony_ci	<!-- 0x60 -->
238bf215546Sopenharmony_ci	<value name="TFMT4_BPTC_UFLOAT"           value="0x61"/>
239bf215546Sopenharmony_ci	<value name="TFMT4_BPTC_FLOAT"            value="0x62"/>
240bf215546Sopenharmony_ci	<value name="TFMT4_BPTC"                  value="0x63"/>
241bf215546Sopenharmony_ci	<value name="TFMT4_ATC_RGB"               value="0x64"/>
242bf215546Sopenharmony_ci	<value name="TFMT4_ATC_RGBA_EXPLICIT"     value="0x65"/>
243bf215546Sopenharmony_ci	<value name="TFMT4_ATC_RGBA_INTERPOLATED" value="0x66"/>
244bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_RG11_UNORM"       value="0x67"/>
245bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_RG11_SNORM"       value="0x68"/>
246bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_R11_UNORM"        value="0x69"/>
247bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_R11_SNORM"        value="0x6a"/>
248bf215546Sopenharmony_ci	<value name="TFMT4_ETC1"                  value="0x6b"/>
249bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_RGB8"             value="0x6c"/>
250bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_RGBA8"            value="0x6d"/>
251bf215546Sopenharmony_ci	<value name="TFMT4_ETC2_RGB8A1"           value="0x6e"/>
252bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_4x4"              value="0x6f"/>
253bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_5x4"              value="0x70"/>
254bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_5x5"              value="0x71"/>
255bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_6x5"              value="0x72"/>
256bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_6x6"              value="0x73"/>
257bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_8x5"              value="0x74"/>
258bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_8x6"              value="0x75"/>
259bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_8x8"              value="0x76"/>
260bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_10x5"             value="0x77"/>
261bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_10x6"             value="0x78"/>
262bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_10x8"             value="0x79"/>
263bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_10x10"            value="0x7a"/>
264bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_12x10"            value="0x7b"/>
265bf215546Sopenharmony_ci	<value name="TFMT4_ASTC_12x12"            value="0x7c"/>
266bf215546Sopenharmony_ci	<!-- 0x7d .. 0x7f -->
267bf215546Sopenharmony_ci
268bf215546Sopenharmony_ci	<value name="TFMT4_NONE"                  value="0xff"/>
269bf215546Sopenharmony_ci</enum>
270bf215546Sopenharmony_ci
271bf215546Sopenharmony_ci<enum name="a4xx_depth_format">
272bf215546Sopenharmony_ci	<value name="DEPTH4_NONE" value="0"/>
273bf215546Sopenharmony_ci	<value name="DEPTH4_16" value="1"/>
274bf215546Sopenharmony_ci	<value name="DEPTH4_24_8" value="2"/>
275bf215546Sopenharmony_ci	<value name="DEPTH4_32" value="3"/>
276bf215546Sopenharmony_ci</enum>
277bf215546Sopenharmony_ci
278bf215546Sopenharmony_ci<!--
279bf215546Sopenharmony_ciNOTE counters extracted from test-perf log with the following awful
280bf215546Sopenharmony_ciscript:
281bf215546Sopenharmony_ci##################
282bf215546Sopenharmony_ci#!/bin/bash
283bf215546Sopenharmony_ci
284bf215546Sopenharmony_cilog=$1
285bf215546Sopenharmony_ci
286bf215546Sopenharmony_cigrep -F "counter
287bf215546Sopenharmony_cicountable
288bf215546Sopenharmony_cigroup" $log | grep -v gl > shortlist.txt
289bf215546Sopenharmony_ci
290bf215546Sopenharmony_cicountable=""
291bf215546Sopenharmony_ciIFS=$'\n'; for line in $(cat shortlist.txt); do
292bf215546Sopenharmony_ci	# parse ######### group[$n]: $name
293bf215546Sopenharmony_ci	l=${line########### group}
294bf215546Sopenharmony_ci	if [ $l != $line ];  then
295bf215546Sopenharmony_ci		group=`echo $line | awk '{print $3}'`
296bf215546Sopenharmony_ci		echo "Group: $group"
297bf215546Sopenharmony_ci		continue
298bf215546Sopenharmony_ci	fi
299bf215546Sopenharmony_ci	# parse #########   counter[$n]: $name
300bf215546Sopenharmony_ci	l=${line###########   counter}
301bf215546Sopenharmony_ci	if [ $l != $line ]; then
302bf215546Sopenharmony_ci		countable=`echo $line | awk '{print $3}'`
303bf215546Sopenharmony_ci		#echo "  Countable: $countable"
304bf215546Sopenharmony_ci		continue
305bf215546Sopenharmony_ci	fi
306bf215546Sopenharmony_ci	# parse 		countable:
307bf215546Sopenharmony_ci	l=${line##		countable:}
308bf215546Sopenharmony_ci	if [ $l != $line ]; then
309bf215546Sopenharmony_ci		val=`echo $line | awk '{print $2}'`
310bf215546Sopenharmony_ci		echo "<value value=\"$val\" name=\"$countable\"/>"
311bf215546Sopenharmony_ci	fi
312bf215546Sopenharmony_ci
313bf215546Sopenharmony_cidone
314bf215546Sopenharmony_ci##################
315bf215546Sopenharmony_ci -->
316bf215546Sopenharmony_ci<enum name="a4xx_ccu_perfcounter_select">
317bf215546Sopenharmony_ci	<value value="0" name="CCU_BUSY_CYCLES"/>
318bf215546Sopenharmony_ci	<value value="2" name="CCU_RB_DEPTH_RETURN_STALL"/>
319bf215546Sopenharmony_ci	<value value="3" name="CCU_RB_COLOR_RETURN_STALL"/>
320bf215546Sopenharmony_ci	<value value="6" name="CCU_DEPTH_BLOCKS"/>
321bf215546Sopenharmony_ci	<value value="7" name="CCU_COLOR_BLOCKS"/>
322bf215546Sopenharmony_ci	<value value="8" name="CCU_DEPTH_BLOCK_HIT"/>
323bf215546Sopenharmony_ci	<value value="9" name="CCU_COLOR_BLOCK_HIT"/>
324bf215546Sopenharmony_ci	<value value="10" name="CCU_DEPTH_FLAG1_COUNT"/>
325bf215546Sopenharmony_ci	<value value="11" name="CCU_DEPTH_FLAG2_COUNT"/>
326bf215546Sopenharmony_ci	<value value="12" name="CCU_DEPTH_FLAG3_COUNT"/>
327bf215546Sopenharmony_ci	<value value="13" name="CCU_DEPTH_FLAG4_COUNT"/>
328bf215546Sopenharmony_ci	<value value="14" name="CCU_COLOR_FLAG1_COUNT"/>
329bf215546Sopenharmony_ci	<value value="15" name="CCU_COLOR_FLAG2_COUNT"/>
330bf215546Sopenharmony_ci	<value value="16" name="CCU_COLOR_FLAG3_COUNT"/>
331bf215546Sopenharmony_ci	<value value="17" name="CCU_COLOR_FLAG4_COUNT"/>
332bf215546Sopenharmony_ci	<value value="18" name="CCU_PARTIAL_BLOCK_READ"/>
333bf215546Sopenharmony_ci</enum>
334bf215546Sopenharmony_ci
335bf215546Sopenharmony_ci<!--
336bf215546Sopenharmony_ciNOTE other than CP_ALWAYS_COUNT (which is the only one we use so far),
337bf215546Sopenharmony_cion a3xx the countable #'s from AMD_performance_monitor disagreed with
338bf215546Sopenharmony_ciTRM.  All these #'s for a4xx come from AMD_performance_monitor, so
339bf215546Sopenharmony_ciperhaps they should be taken with a grain of salt
340bf215546Sopenharmony_ci-->
341bf215546Sopenharmony_ci<enum name="a4xx_cp_perfcounter_select">
342bf215546Sopenharmony_ci	<!-- first ctr at least seems same as a3xx, so we can measure freq -->
343bf215546Sopenharmony_ci	<value value="0" name="CP_ALWAYS_COUNT"/>
344bf215546Sopenharmony_ci	<value value="1" name="CP_BUSY"/>
345bf215546Sopenharmony_ci	<value value="2" name="CP_PFP_IDLE"/>
346bf215546Sopenharmony_ci	<value value="3" name="CP_PFP_BUSY_WORKING"/>
347bf215546Sopenharmony_ci	<value value="4" name="CP_PFP_STALL_CYCLES_ANY"/>
348bf215546Sopenharmony_ci	<value value="5" name="CP_PFP_STARVE_CYCLES_ANY"/>
349bf215546Sopenharmony_ci	<value value="6" name="CP_PFP_STARVED_PER_LOAD_ADDR"/>
350bf215546Sopenharmony_ci	<value value="7" name="CP_PFP_STALLED_PER_STORE_ADDR"/>
351bf215546Sopenharmony_ci	<value value="8" name="CP_PFP_PC_PROFILE"/>
352bf215546Sopenharmony_ci	<value value="9" name="CP_PFP_MATCH_PM4_PKT_PROFILE"/>
353bf215546Sopenharmony_ci	<value value="10" name="CP_PFP_COND_INDIRECT_DISCARDED"/>
354bf215546Sopenharmony_ci	<value value="11" name="CP_LONG_RESUMPTIONS"/>
355bf215546Sopenharmony_ci	<value value="12" name="CP_RESUME_CYCLES"/>
356bf215546Sopenharmony_ci	<value value="13" name="CP_RESUME_TO_BOUNDARY_CYCLES"/>
357bf215546Sopenharmony_ci	<value value="14" name="CP_LONG_PREEMPTIONS"/>
358bf215546Sopenharmony_ci	<value value="15" name="CP_PREEMPT_CYCLES"/>
359bf215546Sopenharmony_ci	<value value="16" name="CP_PREEMPT_TO_BOUNDARY_CYCLES"/>
360bf215546Sopenharmony_ci	<value value="17" name="CP_ME_FIFO_EMPTY_PFP_IDLE"/>
361bf215546Sopenharmony_ci	<value value="18" name="CP_ME_FIFO_EMPTY_PFP_BUSY"/>
362bf215546Sopenharmony_ci	<value value="19" name="CP_ME_FIFO_NOT_EMPTY_NOT_FULL"/>
363bf215546Sopenharmony_ci	<value value="20" name="CP_ME_FIFO_FULL_ME_BUSY"/>
364bf215546Sopenharmony_ci	<value value="21" name="CP_ME_FIFO_FULL_ME_NON_WORKING"/>
365bf215546Sopenharmony_ci	<value value="22" name="CP_ME_WAITING_FOR_PACKETS"/>
366bf215546Sopenharmony_ci	<value value="23" name="CP_ME_BUSY_WORKING"/>
367bf215546Sopenharmony_ci	<value value="24" name="CP_ME_STARVE_CYCLES_ANY"/>
368bf215546Sopenharmony_ci	<value value="25" name="CP_ME_STARVE_CYCLES_PER_PROFILE"/>
369bf215546Sopenharmony_ci	<value value="26" name="CP_ME_STALL_CYCLES_PER_PROFILE"/>
370bf215546Sopenharmony_ci	<value value="27" name="CP_ME_PC_PROFILE"/>
371bf215546Sopenharmony_ci	<value value="28" name="CP_RCIU_FIFO_EMPTY"/>
372bf215546Sopenharmony_ci	<value value="29" name="CP_RCIU_FIFO_NOT_EMPTY_NOT_FULL"/>
373bf215546Sopenharmony_ci	<value value="30" name="CP_RCIU_FIFO_FULL"/>
374bf215546Sopenharmony_ci	<value value="31" name="CP_RCIU_FIFO_FULL_NO_CONTEXT"/>
375bf215546Sopenharmony_ci	<value value="32" name="CP_RCIU_FIFO_FULL_AHB_MASTER"/>
376bf215546Sopenharmony_ci	<value value="33" name="CP_RCIU_FIFO_FULL_OTHER"/>
377bf215546Sopenharmony_ci	<value value="34" name="CP_AHB_IDLE"/>
378bf215546Sopenharmony_ci	<value value="35" name="CP_AHB_STALL_ON_GRANT_NO_SPLIT"/>
379bf215546Sopenharmony_ci	<value value="36" name="CP_AHB_STALL_ON_GRANT_SPLIT"/>
380bf215546Sopenharmony_ci	<value value="37" name="CP_AHB_STALL_ON_GRANT_SPLIT_PROFILE"/>
381bf215546Sopenharmony_ci	<value value="38" name="CP_AHB_BUSY_WORKING"/>
382bf215546Sopenharmony_ci	<value value="39" name="CP_AHB_BUSY_STALL_ON_HRDY"/>
383bf215546Sopenharmony_ci	<value value="40" name="CP_AHB_BUSY_STALL_ON_HRDY_PROFILE"/>
384bf215546Sopenharmony_ci</enum>
385bf215546Sopenharmony_ci
386bf215546Sopenharmony_ci<enum name="a4xx_gras_ras_perfcounter_select">
387bf215546Sopenharmony_ci	<value value="0" name="RAS_SUPER_TILES"/>
388bf215546Sopenharmony_ci	<value value="1" name="RAS_8X8_TILES"/>
389bf215546Sopenharmony_ci	<value value="2" name="RAS_4X4_TILES"/>
390bf215546Sopenharmony_ci	<value value="3" name="RAS_BUSY_CYCLES"/>
391bf215546Sopenharmony_ci	<value value="4" name="RAS_STALL_CYCLES_BY_RB"/>
392bf215546Sopenharmony_ci	<value value="5" name="RAS_STALL_CYCLES_BY_VSC"/>
393bf215546Sopenharmony_ci	<value value="6" name="RAS_STARVE_CYCLES_BY_TSE"/>
394bf215546Sopenharmony_ci	<value value="7" name="RAS_SUPERTILE_CYCLES"/>
395bf215546Sopenharmony_ci	<value value="8" name="RAS_TILE_CYCLES"/>
396bf215546Sopenharmony_ci	<value value="9" name="RAS_FULLY_COVERED_SUPER_TILES"/>
397bf215546Sopenharmony_ci	<value value="10" name="RAS_FULLY_COVERED_8X8_TILES"/>
398bf215546Sopenharmony_ci	<value value="11" name="RAS_4X4_PRIM"/>
399bf215546Sopenharmony_ci	<value value="12" name="RAS_8X4_4X8_PRIM"/>
400bf215546Sopenharmony_ci	<value value="13" name="RAS_8X8_PRIM"/>
401bf215546Sopenharmony_ci</enum>
402bf215546Sopenharmony_ci
403bf215546Sopenharmony_ci<enum name="a4xx_gras_tse_perfcounter_select">
404bf215546Sopenharmony_ci	<value value="0" name="TSE_INPUT_PRIM"/>
405bf215546Sopenharmony_ci	<value value="1" name="TSE_INPUT_NULL_PRIM"/>
406bf215546Sopenharmony_ci	<value value="2" name="TSE_TRIVAL_REJ_PRIM"/>
407bf215546Sopenharmony_ci	<value value="3" name="TSE_CLIPPED_PRIM"/>
408bf215546Sopenharmony_ci	<value value="4" name="TSE_NEW_PRIM"/>
409bf215546Sopenharmony_ci	<value value="5" name="TSE_ZERO_AREA_PRIM"/>
410bf215546Sopenharmony_ci	<value value="6" name="TSE_FACENESS_CULLED_PRIM"/>
411bf215546Sopenharmony_ci	<value value="7" name="TSE_ZERO_PIXEL_PRIM"/>
412bf215546Sopenharmony_ci	<value value="8" name="TSE_OUTPUT_NULL_PRIM"/>
413bf215546Sopenharmony_ci	<value value="9" name="TSE_OUTPUT_VISIBLE_PRIM"/>
414bf215546Sopenharmony_ci	<value value="10" name="TSE_PRE_CLIP_PRIM"/>
415bf215546Sopenharmony_ci	<value value="11" name="TSE_POST_CLIP_PRIM"/>
416bf215546Sopenharmony_ci	<value value="12" name="TSE_BUSY_CYCLES"/>
417bf215546Sopenharmony_ci	<value value="13" name="TSE_PC_STARVE"/>
418bf215546Sopenharmony_ci	<value value="14" name="TSE_RAS_STALL"/>
419bf215546Sopenharmony_ci	<value value="15" name="TSE_STALL_BARYPLANE_FIFO_FULL"/>
420bf215546Sopenharmony_ci	<value value="16" name="TSE_STALL_ZPLANE_FIFO_FULL"/>
421bf215546Sopenharmony_ci</enum>
422bf215546Sopenharmony_ci
423bf215546Sopenharmony_ci<enum name="a4xx_hlsq_perfcounter_select">
424bf215546Sopenharmony_ci	<value value="0" name="HLSQ_SP_VS_STAGE_CONSTANT"/>
425bf215546Sopenharmony_ci	<value value="1" name="HLSQ_SP_VS_STAGE_INSTRUCTIONS"/>
426bf215546Sopenharmony_ci	<value value="2" name="HLSQ_SP_FS_STAGE_CONSTANT"/>
427bf215546Sopenharmony_ci	<value value="3" name="HLSQ_SP_FS_STAGE_INSTRUCTIONS"/>
428bf215546Sopenharmony_ci	<value value="4" name="HLSQ_TP_STATE"/>
429bf215546Sopenharmony_ci	<value value="5" name="HLSQ_QUADS"/>
430bf215546Sopenharmony_ci	<value value="6" name="HLSQ_PIXELS"/>
431bf215546Sopenharmony_ci	<value value="7" name="HLSQ_VERTICES"/>
432bf215546Sopenharmony_ci	<value value="13" name="HLSQ_SP_VS_STAGE_DATA_BYTES"/>
433bf215546Sopenharmony_ci	<value value="14" name="HLSQ_SP_FS_STAGE_DATA_BYTES"/>
434bf215546Sopenharmony_ci	<value value="15" name="HLSQ_BUSY_CYCLES"/>
435bf215546Sopenharmony_ci	<value value="16" name="HLSQ_STALL_CYCLES_SP_STATE"/>
436bf215546Sopenharmony_ci	<value value="17" name="HLSQ_STALL_CYCLES_SP_VS_STAGE"/>
437bf215546Sopenharmony_ci	<value value="18" name="HLSQ_STALL_CYCLES_SP_FS_STAGE"/>
438bf215546Sopenharmony_ci	<value value="19" name="HLSQ_STALL_CYCLES_UCHE"/>
439bf215546Sopenharmony_ci	<value value="20" name="HLSQ_RBBM_LOAD_CYCLES"/>
440bf215546Sopenharmony_ci	<value value="21" name="HLSQ_DI_TO_VS_START_SP"/>
441bf215546Sopenharmony_ci	<value value="22" name="HLSQ_DI_TO_FS_START_SP"/>
442bf215546Sopenharmony_ci	<value value="23" name="HLSQ_VS_STAGE_START_TO_DONE_SP"/>
443bf215546Sopenharmony_ci	<value value="24" name="HLSQ_FS_STAGE_START_TO_DONE_SP"/>
444bf215546Sopenharmony_ci	<value value="25" name="HLSQ_SP_STATE_COPY_CYCLES_VS_STAGE"/>
445bf215546Sopenharmony_ci	<value value="26" name="HLSQ_SP_STATE_COPY_CYCLES_FS_STAGE"/>
446bf215546Sopenharmony_ci	<value value="27" name="HLSQ_UCHE_LATENCY_CYCLES"/>
447bf215546Sopenharmony_ci	<value value="28" name="HLSQ_UCHE_LATENCY_COUNT"/>
448bf215546Sopenharmony_ci	<value value="29" name="HLSQ_STARVE_CYCLES_VFD"/>
449bf215546Sopenharmony_ci</enum>
450bf215546Sopenharmony_ci
451bf215546Sopenharmony_ci<enum name="a4xx_pc_perfcounter_select">
452bf215546Sopenharmony_ci	<value value="0" name="PC_VIS_STREAMS_LOADED"/>
453bf215546Sopenharmony_ci	<value value="2" name="PC_VPC_PRIMITIVES"/>
454bf215546Sopenharmony_ci	<value value="3" name="PC_DEAD_PRIM"/>
455bf215546Sopenharmony_ci	<value value="4" name="PC_LIVE_PRIM"/>
456bf215546Sopenharmony_ci	<value value="5" name="PC_DEAD_DRAWCALLS"/>
457bf215546Sopenharmony_ci	<value value="6" name="PC_LIVE_DRAWCALLS"/>
458bf215546Sopenharmony_ci	<value value="7" name="PC_VERTEX_MISSES"/>
459bf215546Sopenharmony_ci	<value value="9" name="PC_STALL_CYCLES_VFD"/>
460bf215546Sopenharmony_ci	<value value="10" name="PC_STALL_CYCLES_TSE"/>
461bf215546Sopenharmony_ci	<value value="11" name="PC_STALL_CYCLES_UCHE"/>
462bf215546Sopenharmony_ci	<value value="12" name="PC_WORKING_CYCLES"/>
463bf215546Sopenharmony_ci	<value value="13" name="PC_IA_VERTICES"/>
464bf215546Sopenharmony_ci	<value value="14" name="PC_GS_PRIMITIVES"/>
465bf215546Sopenharmony_ci	<value value="15" name="PC_HS_INVOCATIONS"/>
466bf215546Sopenharmony_ci	<value value="16" name="PC_DS_INVOCATIONS"/>
467bf215546Sopenharmony_ci	<value value="17" name="PC_DS_PRIMITIVES"/>
468bf215546Sopenharmony_ci	<value value="20" name="PC_STARVE_CYCLES_FOR_INDEX"/>
469bf215546Sopenharmony_ci	<value value="21" name="PC_STARVE_CYCLES_FOR_TESS_FACTOR"/>
470bf215546Sopenharmony_ci	<value value="22" name="PC_STARVE_CYCLES_FOR_VIZ_STREAM"/>
471bf215546Sopenharmony_ci	<value value="23" name="PC_STALL_CYCLES_TESS"/>
472bf215546Sopenharmony_ci	<value value="24" name="PC_STARVE_CYCLES_FOR_POSITION"/>
473bf215546Sopenharmony_ci	<value value="25" name="PC_MODE0_DRAWCALL"/>
474bf215546Sopenharmony_ci	<value value="26" name="PC_MODE1_DRAWCALL"/>
475bf215546Sopenharmony_ci	<value value="27" name="PC_MODE2_DRAWCALL"/>
476bf215546Sopenharmony_ci	<value value="28" name="PC_MODE3_DRAWCALL"/>
477bf215546Sopenharmony_ci	<value value="29" name="PC_MODE4_DRAWCALL"/>
478bf215546Sopenharmony_ci	<value value="30" name="PC_PREDICATED_DEAD_DRAWCALL"/>
479bf215546Sopenharmony_ci	<value value="31" name="PC_STALL_CYCLES_BY_TSE_ONLY"/>
480bf215546Sopenharmony_ci	<value value="32" name="PC_STALL_CYCLES_BY_VPC_ONLY"/>
481bf215546Sopenharmony_ci	<value value="33" name="PC_VPC_POS_DATA_TRANSACTION"/>
482bf215546Sopenharmony_ci	<value value="34" name="PC_BUSY_CYCLES"/>
483bf215546Sopenharmony_ci	<value value="35" name="PC_STARVE_CYCLES_DI"/>
484bf215546Sopenharmony_ci	<value value="36" name="PC_STALL_CYCLES_VPC"/>
485bf215546Sopenharmony_ci	<value value="37" name="TESS_WORKING_CYCLES"/>
486bf215546Sopenharmony_ci	<value value="38" name="TESS_NUM_CYCLES_SETUP_WORKING"/>
487bf215546Sopenharmony_ci	<value value="39" name="TESS_NUM_CYCLES_PTGEN_WORKING"/>
488bf215546Sopenharmony_ci	<value value="40" name="TESS_NUM_CYCLES_CONNGEN_WORKING"/>
489bf215546Sopenharmony_ci	<value value="41" name="TESS_BUSY_CYCLES"/>
490bf215546Sopenharmony_ci	<value value="42" name="TESS_STARVE_CYCLES_PC"/>
491bf215546Sopenharmony_ci	<value value="43" name="TESS_STALL_CYCLES_PC"/>
492bf215546Sopenharmony_ci</enum>
493bf215546Sopenharmony_ci
494bf215546Sopenharmony_ci<enum name="a4xx_pwr_perfcounter_select">
495bf215546Sopenharmony_ci	<!-- NOTE not actually used.. see RBBM_RBBM_CTL.RESET_PWR_CTR0/1 -->
496bf215546Sopenharmony_ci	<value value="0" name="PWR_CORE_CLOCK_CYCLES"/>
497bf215546Sopenharmony_ci	<value value="1" name="PWR_BUSY_CLOCK_CYCLES"/>
498bf215546Sopenharmony_ci</enum>
499bf215546Sopenharmony_ci
500bf215546Sopenharmony_ci<enum name="a4xx_rb_perfcounter_select">
501bf215546Sopenharmony_ci	<value value="0" name="RB_BUSY_CYCLES"/>
502bf215546Sopenharmony_ci	<value value="1" name="RB_BUSY_CYCLES_BINNING"/>
503bf215546Sopenharmony_ci	<value value="2" name="RB_BUSY_CYCLES_RENDERING"/>
504bf215546Sopenharmony_ci	<value value="3" name="RB_BUSY_CYCLES_RESOLVE"/>
505bf215546Sopenharmony_ci	<value value="4" name="RB_STARVE_CYCLES_BY_SP"/>
506bf215546Sopenharmony_ci	<value value="5" name="RB_STARVE_CYCLES_BY_RAS"/>
507bf215546Sopenharmony_ci	<value value="6" name="RB_STARVE_CYCLES_BY_MARB"/>
508bf215546Sopenharmony_ci	<value value="7" name="RB_STALL_CYCLES_BY_MARB"/>
509bf215546Sopenharmony_ci	<value value="8" name="RB_STALL_CYCLES_BY_HLSQ"/>
510bf215546Sopenharmony_ci	<value value="9" name="RB_RB_RB_MARB_DATA"/>
511bf215546Sopenharmony_ci	<value value="10" name="RB_SP_RB_QUAD"/>
512bf215546Sopenharmony_ci	<value value="11" name="RB_RAS_RB_Z_QUADS"/>
513bf215546Sopenharmony_ci	<value value="12" name="RB_GMEM_CH0_READ"/>
514bf215546Sopenharmony_ci	<value value="13" name="RB_GMEM_CH1_READ"/>
515bf215546Sopenharmony_ci	<value value="14" name="RB_GMEM_CH0_WRITE"/>
516bf215546Sopenharmony_ci	<value value="15" name="RB_GMEM_CH1_WRITE"/>
517bf215546Sopenharmony_ci	<value value="16" name="RB_CP_CONTEXT_DONE"/>
518bf215546Sopenharmony_ci	<value value="17" name="RB_CP_CACHE_FLUSH"/>
519bf215546Sopenharmony_ci	<value value="18" name="RB_CP_ZPASS_DONE"/>
520bf215546Sopenharmony_ci	<value value="19" name="RB_STALL_FIFO0_FULL"/>
521bf215546Sopenharmony_ci	<value value="20" name="RB_STALL_FIFO1_FULL"/>
522bf215546Sopenharmony_ci	<value value="21" name="RB_STALL_FIFO2_FULL"/>
523bf215546Sopenharmony_ci	<value value="22" name="RB_STALL_FIFO3_FULL"/>
524bf215546Sopenharmony_ci	<value value="23" name="RB_RB_HLSQ_TRANSACTIONS"/>
525bf215546Sopenharmony_ci	<value value="24" name="RB_Z_READ"/>
526bf215546Sopenharmony_ci	<value value="25" name="RB_Z_WRITE"/>
527bf215546Sopenharmony_ci	<value value="26" name="RB_C_READ"/>
528bf215546Sopenharmony_ci	<value value="27" name="RB_C_WRITE"/>
529bf215546Sopenharmony_ci	<value value="28" name="RB_C_READ_LATENCY"/>
530bf215546Sopenharmony_ci	<value value="29" name="RB_Z_READ_LATENCY"/>
531bf215546Sopenharmony_ci	<value value="30" name="RB_STALL_BY_UCHE"/>
532bf215546Sopenharmony_ci	<value value="31" name="RB_MARB_UCHE_TRANSACTIONS"/>
533bf215546Sopenharmony_ci	<value value="32" name="RB_CACHE_STALL_MISS"/>
534bf215546Sopenharmony_ci	<value value="33" name="RB_CACHE_STALL_FIFO_FULL"/>
535bf215546Sopenharmony_ci	<value value="34" name="RB_8BIT_BLENDER_UNITS_ACTIVE"/>
536bf215546Sopenharmony_ci	<value value="35" name="RB_16BIT_BLENDER_UNITS_ACTIVE"/>
537bf215546Sopenharmony_ci	<value value="36" name="RB_SAMPLER_UNITS_ACTIVE"/>
538bf215546Sopenharmony_ci	<value value="38" name="RB_TOTAL_PASS"/>
539bf215546Sopenharmony_ci	<value value="39" name="RB_Z_PASS"/>
540bf215546Sopenharmony_ci	<value value="40" name="RB_Z_FAIL"/>
541bf215546Sopenharmony_ci	<value value="41" name="RB_S_FAIL"/>
542bf215546Sopenharmony_ci	<value value="42" name="RB_POWER0"/>
543bf215546Sopenharmony_ci	<value value="43" name="RB_POWER1"/>
544bf215546Sopenharmony_ci	<value value="44" name="RB_POWER2"/>
545bf215546Sopenharmony_ci	<value value="45" name="RB_POWER3"/>
546bf215546Sopenharmony_ci	<value value="46" name="RB_POWER4"/>
547bf215546Sopenharmony_ci	<value value="47" name="RB_POWER5"/>
548bf215546Sopenharmony_ci	<value value="48" name="RB_POWER6"/>
549bf215546Sopenharmony_ci	<value value="49" name="RB_POWER7"/>
550bf215546Sopenharmony_ci</enum>
551bf215546Sopenharmony_ci
552bf215546Sopenharmony_ci<enum name="a4xx_rbbm_perfcounter_select">
553bf215546Sopenharmony_ci	<value value="0" name="RBBM_ALWAYS_ON"/>
554bf215546Sopenharmony_ci	<value value="1" name="RBBM_VBIF_BUSY"/>
555bf215546Sopenharmony_ci	<value value="2" name="RBBM_TSE_BUSY"/>
556bf215546Sopenharmony_ci	<value value="3" name="RBBM_RAS_BUSY"/>
557bf215546Sopenharmony_ci	<value value="4" name="RBBM_PC_DCALL_BUSY"/>
558bf215546Sopenharmony_ci	<value value="5" name="RBBM_PC_VSD_BUSY"/>
559bf215546Sopenharmony_ci	<value value="6" name="RBBM_VFD_BUSY"/>
560bf215546Sopenharmony_ci	<value value="7" name="RBBM_VPC_BUSY"/>
561bf215546Sopenharmony_ci	<value value="8" name="RBBM_UCHE_BUSY"/>
562bf215546Sopenharmony_ci	<value value="9" name="RBBM_VSC_BUSY"/>
563bf215546Sopenharmony_ci	<value value="10" name="RBBM_HLSQ_BUSY"/>
564bf215546Sopenharmony_ci	<value value="11" name="RBBM_ANY_RB_BUSY"/>
565bf215546Sopenharmony_ci	<value value="12" name="RBBM_ANY_TPL1_BUSY"/>
566bf215546Sopenharmony_ci	<value value="13" name="RBBM_ANY_SP_BUSY"/>
567bf215546Sopenharmony_ci	<value value="14" name="RBBM_ANY_MARB_BUSY"/>
568bf215546Sopenharmony_ci	<value value="15" name="RBBM_ANY_ARB_BUSY"/>
569bf215546Sopenharmony_ci	<value value="16" name="RBBM_AHB_STATUS_BUSY"/>
570bf215546Sopenharmony_ci	<value value="17" name="RBBM_AHB_STATUS_STALLED"/>
571bf215546Sopenharmony_ci	<value value="18" name="RBBM_AHB_STATUS_TXFR"/>
572bf215546Sopenharmony_ci	<value value="19" name="RBBM_AHB_STATUS_TXFR_SPLIT"/>
573bf215546Sopenharmony_ci	<value value="20" name="RBBM_AHB_STATUS_TXFR_ERROR"/>
574bf215546Sopenharmony_ci	<value value="21" name="RBBM_AHB_STATUS_LONG_STALL"/>
575bf215546Sopenharmony_ci	<value value="22" name="RBBM_STATUS_MASKED"/>
576bf215546Sopenharmony_ci	<value value="23" name="RBBM_CP_BUSY_GFX_CORE_IDLE"/>
577bf215546Sopenharmony_ci	<value value="24" name="RBBM_TESS_BUSY"/>
578bf215546Sopenharmony_ci	<value value="25" name="RBBM_COM_BUSY"/>
579bf215546Sopenharmony_ci	<value value="32" name="RBBM_DCOM_BUSY"/>
580bf215546Sopenharmony_ci	<value value="33" name="RBBM_ANY_CCU_BUSY"/>
581bf215546Sopenharmony_ci	<value value="34" name="RBBM_DPM_BUSY"/>
582bf215546Sopenharmony_ci</enum>
583bf215546Sopenharmony_ci
584bf215546Sopenharmony_ci<enum name="a4xx_sp_perfcounter_select">
585bf215546Sopenharmony_ci	<value value="0" name="SP_LM_LOAD_INSTRUCTIONS"/>
586bf215546Sopenharmony_ci	<value value="1" name="SP_LM_STORE_INSTRUCTIONS"/>
587bf215546Sopenharmony_ci	<value value="2" name="SP_LM_ATOMICS"/>
588bf215546Sopenharmony_ci	<value value="3" name="SP_GM_LOAD_INSTRUCTIONS"/>
589bf215546Sopenharmony_ci	<value value="4" name="SP_GM_STORE_INSTRUCTIONS"/>
590bf215546Sopenharmony_ci	<value value="5" name="SP_GM_ATOMICS"/>
591bf215546Sopenharmony_ci	<value value="6" name="SP_VS_STAGE_TEX_INSTRUCTIONS"/>
592bf215546Sopenharmony_ci	<value value="7" name="SP_VS_STAGE_CFLOW_INSTRUCTIONS"/>
593bf215546Sopenharmony_ci	<value value="8" name="SP_VS_STAGE_EFU_INSTRUCTIONS"/>
594bf215546Sopenharmony_ci	<value value="9" name="SP_VS_STAGE_FULL_ALU_INSTRUCTIONS"/>
595bf215546Sopenharmony_ci	<value value="10" name="SP_VS_STAGE_HALF_ALU_INSTRUCTIONS"/>
596bf215546Sopenharmony_ci	<value value="11" name="SP_FS_STAGE_TEX_INSTRUCTIONS"/>
597bf215546Sopenharmony_ci	<value value="12" name="SP_FS_STAGE_CFLOW_INSTRUCTIONS"/>
598bf215546Sopenharmony_ci	<value value="13" name="SP_FS_STAGE_EFU_INSTRUCTIONS"/>
599bf215546Sopenharmony_ci	<value value="14" name="SP_FS_STAGE_FULL_ALU_INSTRUCTIONS"/>
600bf215546Sopenharmony_ci	<value value="15" name="SP_FS_STAGE_HALF_ALU_INSTRUCTIONS"/>
601bf215546Sopenharmony_ci	<value value="17" name="SP_VS_INSTRUCTIONS"/>
602bf215546Sopenharmony_ci	<value value="18" name="SP_FS_INSTRUCTIONS"/>
603bf215546Sopenharmony_ci	<value value="19" name="SP_ADDR_LOCK_COUNT"/>
604bf215546Sopenharmony_ci	<value value="20" name="SP_UCHE_READ_TRANS"/>
605bf215546Sopenharmony_ci	<value value="21" name="SP_UCHE_WRITE_TRANS"/>
606bf215546Sopenharmony_ci	<value value="22" name="SP_EXPORT_VPC_TRANS"/>
607bf215546Sopenharmony_ci	<value value="23" name="SP_EXPORT_RB_TRANS"/>
608bf215546Sopenharmony_ci	<value value="24" name="SP_PIXELS_KILLED"/>
609bf215546Sopenharmony_ci	<value value="25" name="SP_ICL1_REQUESTS"/>
610bf215546Sopenharmony_ci	<value value="26" name="SP_ICL1_MISSES"/>
611bf215546Sopenharmony_ci	<value value="27" name="SP_ICL0_REQUESTS"/>
612bf215546Sopenharmony_ci	<value value="28" name="SP_ICL0_MISSES"/>
613bf215546Sopenharmony_ci	<value value="29" name="SP_ALU_WORKING_CYCLES"/>
614bf215546Sopenharmony_ci	<value value="30" name="SP_EFU_WORKING_CYCLES"/>
615bf215546Sopenharmony_ci	<value value="31" name="SP_STALL_CYCLES_BY_VPC"/>
616bf215546Sopenharmony_ci	<value value="32" name="SP_STALL_CYCLES_BY_TP"/>
617bf215546Sopenharmony_ci	<value value="33" name="SP_STALL_CYCLES_BY_UCHE"/>
618bf215546Sopenharmony_ci	<value value="34" name="SP_STALL_CYCLES_BY_RB"/>
619bf215546Sopenharmony_ci	<value value="35" name="SP_BUSY_CYCLES"/>
620bf215546Sopenharmony_ci	<value value="36" name="SP_HS_INSTRUCTIONS"/>
621bf215546Sopenharmony_ci	<value value="37" name="SP_DS_INSTRUCTIONS"/>
622bf215546Sopenharmony_ci	<value value="38" name="SP_GS_INSTRUCTIONS"/>
623bf215546Sopenharmony_ci	<value value="39" name="SP_CS_INSTRUCTIONS"/>
624bf215546Sopenharmony_ci	<value value="40" name="SP_SCHEDULER_NON_WORKING"/>
625bf215546Sopenharmony_ci	<value value="41" name="SP_WAVE_CONTEXTS"/>
626bf215546Sopenharmony_ci	<value value="42" name="SP_WAVE_CONTEXT_CYCLES"/>
627bf215546Sopenharmony_ci	<value value="43" name="SP_POWER0"/>
628bf215546Sopenharmony_ci	<value value="44" name="SP_POWER1"/>
629bf215546Sopenharmony_ci	<value value="45" name="SP_POWER2"/>
630bf215546Sopenharmony_ci	<value value="46" name="SP_POWER3"/>
631bf215546Sopenharmony_ci	<value value="47" name="SP_POWER4"/>
632bf215546Sopenharmony_ci	<value value="48" name="SP_POWER5"/>
633bf215546Sopenharmony_ci	<value value="49" name="SP_POWER6"/>
634bf215546Sopenharmony_ci	<value value="50" name="SP_POWER7"/>
635bf215546Sopenharmony_ci	<value value="51" name="SP_POWER8"/>
636bf215546Sopenharmony_ci	<value value="52" name="SP_POWER9"/>
637bf215546Sopenharmony_ci	<value value="53" name="SP_POWER10"/>
638bf215546Sopenharmony_ci	<value value="54" name="SP_POWER11"/>
639bf215546Sopenharmony_ci	<value value="55" name="SP_POWER12"/>
640bf215546Sopenharmony_ci	<value value="56" name="SP_POWER13"/>
641bf215546Sopenharmony_ci	<value value="57" name="SP_POWER14"/>
642bf215546Sopenharmony_ci	<value value="58" name="SP_POWER15"/>
643bf215546Sopenharmony_ci</enum>
644bf215546Sopenharmony_ci
645bf215546Sopenharmony_ci<enum name="a4xx_tp_perfcounter_select">
646bf215546Sopenharmony_ci	<value value="0" name="TP_L1_REQUESTS"/>
647bf215546Sopenharmony_ci	<value value="1" name="TP_L1_MISSES"/>
648bf215546Sopenharmony_ci	<value value="8" name="TP_QUADS_OFFSET"/>
649bf215546Sopenharmony_ci	<value value="9" name="TP_QUAD_SHADOW"/>
650bf215546Sopenharmony_ci	<value value="10" name="TP_QUADS_ARRAY"/>
651bf215546Sopenharmony_ci	<value value="11" name="TP_QUADS_GRADIENT"/>
652bf215546Sopenharmony_ci	<value value="12" name="TP_QUADS_1D2D"/>
653bf215546Sopenharmony_ci	<value value="13" name="TP_QUADS_3DCUBE"/>
654bf215546Sopenharmony_ci	<value value="16" name="TP_BUSY_CYCLES"/>
655bf215546Sopenharmony_ci	<value value="17" name="TP_STALL_CYCLES_BY_ARB"/>
656bf215546Sopenharmony_ci	<value value="20" name="TP_STATE_CACHE_REQUESTS"/>
657bf215546Sopenharmony_ci	<value value="21" name="TP_STATE_CACHE_MISSES"/>
658bf215546Sopenharmony_ci	<value value="22" name="TP_POWER0"/>
659bf215546Sopenharmony_ci	<value value="23" name="TP_POWER1"/>
660bf215546Sopenharmony_ci	<value value="24" name="TP_POWER2"/>
661bf215546Sopenharmony_ci	<value value="25" name="TP_POWER3"/>
662bf215546Sopenharmony_ci	<value value="26" name="TP_POWER4"/>
663bf215546Sopenharmony_ci	<value value="27" name="TP_POWER5"/>
664bf215546Sopenharmony_ci	<value value="28" name="TP_POWER6"/>
665bf215546Sopenharmony_ci	<value value="29" name="TP_POWER7"/>
666bf215546Sopenharmony_ci</enum>
667bf215546Sopenharmony_ci
668bf215546Sopenharmony_ci<enum name="a4xx_uche_perfcounter_select">
669bf215546Sopenharmony_ci	<value value="0" name="UCHE_VBIF_READ_BEATS_TP"/>
670bf215546Sopenharmony_ci	<value value="1" name="UCHE_VBIF_READ_BEATS_VFD"/>
671bf215546Sopenharmony_ci	<value value="2" name="UCHE_VBIF_READ_BEATS_HLSQ"/>
672bf215546Sopenharmony_ci	<value value="3" name="UCHE_VBIF_READ_BEATS_MARB"/>
673bf215546Sopenharmony_ci	<value value="4" name="UCHE_VBIF_READ_BEATS_SP"/>
674bf215546Sopenharmony_ci	<value value="5" name="UCHE_READ_REQUESTS_TP"/>
675bf215546Sopenharmony_ci	<value value="6" name="UCHE_READ_REQUESTS_VFD"/>
676bf215546Sopenharmony_ci	<value value="7" name="UCHE_READ_REQUESTS_HLSQ"/>
677bf215546Sopenharmony_ci	<value value="8" name="UCHE_READ_REQUESTS_MARB"/>
678bf215546Sopenharmony_ci	<value value="9" name="UCHE_READ_REQUESTS_SP"/>
679bf215546Sopenharmony_ci	<value value="10" name="UCHE_WRITE_REQUESTS_MARB"/>
680bf215546Sopenharmony_ci	<value value="11" name="UCHE_WRITE_REQUESTS_SP"/>
681bf215546Sopenharmony_ci	<value value="12" name="UCHE_TAG_CHECK_FAILS"/>
682bf215546Sopenharmony_ci	<value value="13" name="UCHE_EVICTS"/>
683bf215546Sopenharmony_ci	<value value="14" name="UCHE_FLUSHES"/>
684bf215546Sopenharmony_ci	<value value="15" name="UCHE_VBIF_LATENCY_CYCLES"/>
685bf215546Sopenharmony_ci	<value value="16" name="UCHE_VBIF_LATENCY_SAMPLES"/>
686bf215546Sopenharmony_ci	<value value="17" name="UCHE_BUSY_CYCLES"/>
687bf215546Sopenharmony_ci	<value value="18" name="UCHE_VBIF_READ_BEATS_PC"/>
688bf215546Sopenharmony_ci	<value value="19" name="UCHE_READ_REQUESTS_PC"/>
689bf215546Sopenharmony_ci	<value value="20" name="UCHE_WRITE_REQUESTS_VPC"/>
690bf215546Sopenharmony_ci	<value value="21" name="UCHE_STALL_BY_VBIF"/>
691bf215546Sopenharmony_ci	<value value="22" name="UCHE_WRITE_REQUESTS_VSC"/>
692bf215546Sopenharmony_ci	<value value="23" name="UCHE_POWER0"/>
693bf215546Sopenharmony_ci	<value value="24" name="UCHE_POWER1"/>
694bf215546Sopenharmony_ci	<value value="25" name="UCHE_POWER2"/>
695bf215546Sopenharmony_ci	<value value="26" name="UCHE_POWER3"/>
696bf215546Sopenharmony_ci	<value value="27" name="UCHE_POWER4"/>
697bf215546Sopenharmony_ci	<value value="28" name="UCHE_POWER5"/>
698bf215546Sopenharmony_ci	<value value="29" name="UCHE_POWER6"/>
699bf215546Sopenharmony_ci	<value value="30" name="UCHE_POWER7"/>
700bf215546Sopenharmony_ci</enum>
701bf215546Sopenharmony_ci
702bf215546Sopenharmony_ci<enum name="a4xx_vbif_perfcounter_select">
703bf215546Sopenharmony_ci	<value value="0" name="AXI_READ_REQUESTS_ID_0"/>
704bf215546Sopenharmony_ci	<value value="1" name="AXI_READ_REQUESTS_ID_1"/>
705bf215546Sopenharmony_ci	<value value="2" name="AXI_READ_REQUESTS_ID_2"/>
706bf215546Sopenharmony_ci	<value value="3" name="AXI_READ_REQUESTS_ID_3"/>
707bf215546Sopenharmony_ci	<value value="4" name="AXI_READ_REQUESTS_ID_4"/>
708bf215546Sopenharmony_ci	<value value="5" name="AXI_READ_REQUESTS_ID_5"/>
709bf215546Sopenharmony_ci	<value value="6" name="AXI_READ_REQUESTS_ID_6"/>
710bf215546Sopenharmony_ci	<value value="7" name="AXI_READ_REQUESTS_ID_7"/>
711bf215546Sopenharmony_ci	<value value="8" name="AXI_READ_REQUESTS_ID_8"/>
712bf215546Sopenharmony_ci	<value value="9" name="AXI_READ_REQUESTS_ID_9"/>
713bf215546Sopenharmony_ci	<value value="10" name="AXI_READ_REQUESTS_ID_10"/>
714bf215546Sopenharmony_ci	<value value="11" name="AXI_READ_REQUESTS_ID_11"/>
715bf215546Sopenharmony_ci	<value value="12" name="AXI_READ_REQUESTS_ID_12"/>
716bf215546Sopenharmony_ci	<value value="13" name="AXI_READ_REQUESTS_ID_13"/>
717bf215546Sopenharmony_ci	<value value="14" name="AXI_READ_REQUESTS_ID_14"/>
718bf215546Sopenharmony_ci	<value value="15" name="AXI_READ_REQUESTS_ID_15"/>
719bf215546Sopenharmony_ci	<value value="16" name="AXI0_READ_REQUESTS_TOTAL"/>
720bf215546Sopenharmony_ci	<value value="17" name="AXI1_READ_REQUESTS_TOTAL"/>
721bf215546Sopenharmony_ci	<value value="18" name="AXI2_READ_REQUESTS_TOTAL"/>
722bf215546Sopenharmony_ci	<value value="19" name="AXI3_READ_REQUESTS_TOTAL"/>
723bf215546Sopenharmony_ci	<value value="20" name="AXI_READ_REQUESTS_TOTAL"/>
724bf215546Sopenharmony_ci	<value value="21" name="AXI_WRITE_REQUESTS_ID_0"/>
725bf215546Sopenharmony_ci	<value value="22" name="AXI_WRITE_REQUESTS_ID_1"/>
726bf215546Sopenharmony_ci	<value value="23" name="AXI_WRITE_REQUESTS_ID_2"/>
727bf215546Sopenharmony_ci	<value value="24" name="AXI_WRITE_REQUESTS_ID_3"/>
728bf215546Sopenharmony_ci	<value value="25" name="AXI_WRITE_REQUESTS_ID_4"/>
729bf215546Sopenharmony_ci	<value value="26" name="AXI_WRITE_REQUESTS_ID_5"/>
730bf215546Sopenharmony_ci	<value value="27" name="AXI_WRITE_REQUESTS_ID_6"/>
731bf215546Sopenharmony_ci	<value value="28" name="AXI_WRITE_REQUESTS_ID_7"/>
732bf215546Sopenharmony_ci	<value value="29" name="AXI_WRITE_REQUESTS_ID_8"/>
733bf215546Sopenharmony_ci	<value value="30" name="AXI_WRITE_REQUESTS_ID_9"/>
734bf215546Sopenharmony_ci	<value value="31" name="AXI_WRITE_REQUESTS_ID_10"/>
735bf215546Sopenharmony_ci	<value value="32" name="AXI_WRITE_REQUESTS_ID_11"/>
736bf215546Sopenharmony_ci	<value value="33" name="AXI_WRITE_REQUESTS_ID_12"/>
737bf215546Sopenharmony_ci	<value value="34" name="AXI_WRITE_REQUESTS_ID_13"/>
738bf215546Sopenharmony_ci	<value value="35" name="AXI_WRITE_REQUESTS_ID_14"/>
739bf215546Sopenharmony_ci	<value value="36" name="AXI_WRITE_REQUESTS_ID_15"/>
740bf215546Sopenharmony_ci	<value value="37" name="AXI0_WRITE_REQUESTS_TOTAL"/>
741bf215546Sopenharmony_ci	<value value="38" name="AXI1_WRITE_REQUESTS_TOTAL"/>
742bf215546Sopenharmony_ci	<value value="39" name="AXI2_WRITE_REQUESTS_TOTAL"/>
743bf215546Sopenharmony_ci	<value value="40" name="AXI3_WRITE_REQUESTS_TOTAL"/>
744bf215546Sopenharmony_ci	<value value="41" name="AXI_WRITE_REQUESTS_TOTAL"/>
745bf215546Sopenharmony_ci	<value value="42" name="AXI_TOTAL_REQUESTS"/>
746bf215546Sopenharmony_ci	<value value="43" name="AXI_READ_DATA_BEATS_ID_0"/>
747bf215546Sopenharmony_ci	<value value="44" name="AXI_READ_DATA_BEATS_ID_1"/>
748bf215546Sopenharmony_ci	<value value="45" name="AXI_READ_DATA_BEATS_ID_2"/>
749bf215546Sopenharmony_ci	<value value="46" name="AXI_READ_DATA_BEATS_ID_3"/>
750bf215546Sopenharmony_ci	<value value="47" name="AXI_READ_DATA_BEATS_ID_4"/>
751bf215546Sopenharmony_ci	<value value="48" name="AXI_READ_DATA_BEATS_ID_5"/>
752bf215546Sopenharmony_ci	<value value="49" name="AXI_READ_DATA_BEATS_ID_6"/>
753bf215546Sopenharmony_ci	<value value="50" name="AXI_READ_DATA_BEATS_ID_7"/>
754bf215546Sopenharmony_ci	<value value="51" name="AXI_READ_DATA_BEATS_ID_8"/>
755bf215546Sopenharmony_ci	<value value="52" name="AXI_READ_DATA_BEATS_ID_9"/>
756bf215546Sopenharmony_ci	<value value="53" name="AXI_READ_DATA_BEATS_ID_10"/>
757bf215546Sopenharmony_ci	<value value="54" name="AXI_READ_DATA_BEATS_ID_11"/>
758bf215546Sopenharmony_ci	<value value="55" name="AXI_READ_DATA_BEATS_ID_12"/>
759bf215546Sopenharmony_ci	<value value="56" name="AXI_READ_DATA_BEATS_ID_13"/>
760bf215546Sopenharmony_ci	<value value="57" name="AXI_READ_DATA_BEATS_ID_14"/>
761bf215546Sopenharmony_ci	<value value="58" name="AXI_READ_DATA_BEATS_ID_15"/>
762bf215546Sopenharmony_ci	<value value="59" name="AXI0_READ_DATA_BEATS_TOTAL"/>
763bf215546Sopenharmony_ci	<value value="60" name="AXI1_READ_DATA_BEATS_TOTAL"/>
764bf215546Sopenharmony_ci	<value value="61" name="AXI2_READ_DATA_BEATS_TOTAL"/>
765bf215546Sopenharmony_ci	<value value="62" name="AXI3_READ_DATA_BEATS_TOTAL"/>
766bf215546Sopenharmony_ci	<value value="63" name="AXI_READ_DATA_BEATS_TOTAL"/>
767bf215546Sopenharmony_ci	<value value="64" name="AXI_WRITE_DATA_BEATS_ID_0"/>
768bf215546Sopenharmony_ci	<value value="65" name="AXI_WRITE_DATA_BEATS_ID_1"/>
769bf215546Sopenharmony_ci	<value value="66" name="AXI_WRITE_DATA_BEATS_ID_2"/>
770bf215546Sopenharmony_ci	<value value="67" name="AXI_WRITE_DATA_BEATS_ID_3"/>
771bf215546Sopenharmony_ci	<value value="68" name="AXI_WRITE_DATA_BEATS_ID_4"/>
772bf215546Sopenharmony_ci	<value value="69" name="AXI_WRITE_DATA_BEATS_ID_5"/>
773bf215546Sopenharmony_ci	<value value="70" name="AXI_WRITE_DATA_BEATS_ID_6"/>
774bf215546Sopenharmony_ci	<value value="71" name="AXI_WRITE_DATA_BEATS_ID_7"/>
775bf215546Sopenharmony_ci	<value value="72" name="AXI_WRITE_DATA_BEATS_ID_8"/>
776bf215546Sopenharmony_ci	<value value="73" name="AXI_WRITE_DATA_BEATS_ID_9"/>
777bf215546Sopenharmony_ci	<value value="74" name="AXI_WRITE_DATA_BEATS_ID_10"/>
778bf215546Sopenharmony_ci	<value value="75" name="AXI_WRITE_DATA_BEATS_ID_11"/>
779bf215546Sopenharmony_ci	<value value="76" name="AXI_WRITE_DATA_BEATS_ID_12"/>
780bf215546Sopenharmony_ci	<value value="77" name="AXI_WRITE_DATA_BEATS_ID_13"/>
781bf215546Sopenharmony_ci	<value value="78" name="AXI_WRITE_DATA_BEATS_ID_14"/>
782bf215546Sopenharmony_ci	<value value="79" name="AXI_WRITE_DATA_BEATS_ID_15"/>
783bf215546Sopenharmony_ci	<value value="80" name="AXI0_WRITE_DATA_BEATS_TOTAL"/>
784bf215546Sopenharmony_ci	<value value="81" name="AXI1_WRITE_DATA_BEATS_TOTAL"/>
785bf215546Sopenharmony_ci	<value value="82" name="AXI2_WRITE_DATA_BEATS_TOTAL"/>
786bf215546Sopenharmony_ci	<value value="83" name="AXI3_WRITE_DATA_BEATS_TOTAL"/>
787bf215546Sopenharmony_ci	<value value="84" name="AXI_WRITE_DATA_BEATS_TOTAL"/>
788bf215546Sopenharmony_ci	<value value="85" name="AXI_DATA_BEATS_TOTAL"/>
789bf215546Sopenharmony_ci	<value value="86" name="CYCLES_HELD_OFF_ID_0"/>
790bf215546Sopenharmony_ci	<value value="87" name="CYCLES_HELD_OFF_ID_1"/>
791bf215546Sopenharmony_ci	<value value="88" name="CYCLES_HELD_OFF_ID_2"/>
792bf215546Sopenharmony_ci	<value value="89" name="CYCLES_HELD_OFF_ID_3"/>
793bf215546Sopenharmony_ci	<value value="90" name="CYCLES_HELD_OFF_ID_4"/>
794bf215546Sopenharmony_ci	<value value="91" name="CYCLES_HELD_OFF_ID_5"/>
795bf215546Sopenharmony_ci	<value value="92" name="CYCLES_HELD_OFF_ID_6"/>
796bf215546Sopenharmony_ci	<value value="93" name="CYCLES_HELD_OFF_ID_7"/>
797bf215546Sopenharmony_ci	<value value="94" name="CYCLES_HELD_OFF_ID_8"/>
798bf215546Sopenharmony_ci	<value value="95" name="CYCLES_HELD_OFF_ID_9"/>
799bf215546Sopenharmony_ci	<value value="96" name="CYCLES_HELD_OFF_ID_10"/>
800bf215546Sopenharmony_ci	<value value="97" name="CYCLES_HELD_OFF_ID_11"/>
801bf215546Sopenharmony_ci	<value value="98" name="CYCLES_HELD_OFF_ID_12"/>
802bf215546Sopenharmony_ci	<value value="99" name="CYCLES_HELD_OFF_ID_13"/>
803bf215546Sopenharmony_ci	<value value="100" name="CYCLES_HELD_OFF_ID_14"/>
804bf215546Sopenharmony_ci	<value value="101" name="CYCLES_HELD_OFF_ID_15"/>
805bf215546Sopenharmony_ci	<value value="102" name="AXI_READ_REQUEST_HELD_OFF"/>
806bf215546Sopenharmony_ci	<value value="103" name="AXI_WRITE_REQUEST_HELD_OFF"/>
807bf215546Sopenharmony_ci	<value value="104" name="AXI_REQUEST_HELD_OFF"/>
808bf215546Sopenharmony_ci	<value value="105" name="AXI_WRITE_DATA_HELD_OFF"/>
809bf215546Sopenharmony_ci	<value value="106" name="OCMEM_AXI_READ_REQUEST_HELD_OFF"/>
810bf215546Sopenharmony_ci	<value value="107" name="OCMEM_AXI_WRITE_REQUEST_HELD_OFF"/>
811bf215546Sopenharmony_ci	<value value="108" name="OCMEM_AXI_REQUEST_HELD_OFF"/>
812bf215546Sopenharmony_ci	<value value="109" name="OCMEM_AXI_WRITE_DATA_HELD_OFF"/>
813bf215546Sopenharmony_ci	<value value="110" name="ELAPSED_CYCLES_DDR"/>
814bf215546Sopenharmony_ci	<value value="111" name="ELAPSED_CYCLES_OCMEM"/>
815bf215546Sopenharmony_ci</enum>
816bf215546Sopenharmony_ci
817bf215546Sopenharmony_ci<enum name="a4xx_vfd_perfcounter_select">
818bf215546Sopenharmony_ci	<value value="0" name="VFD_UCHE_BYTE_FETCHED"/>
819bf215546Sopenharmony_ci	<value value="1" name="VFD_UCHE_TRANS"/>
820bf215546Sopenharmony_ci	<value value="3" name="VFD_FETCH_INSTRUCTIONS"/>
821bf215546Sopenharmony_ci	<value value="5" name="VFD_BUSY_CYCLES"/>
822bf215546Sopenharmony_ci	<value value="6" name="VFD_STALL_CYCLES_UCHE"/>
823bf215546Sopenharmony_ci	<value value="7" name="VFD_STALL_CYCLES_HLSQ"/>
824bf215546Sopenharmony_ci	<value value="8" name="VFD_STALL_CYCLES_VPC_BYPASS"/>
825bf215546Sopenharmony_ci	<value value="9" name="VFD_STALL_CYCLES_VPC_ALLOC"/>
826bf215546Sopenharmony_ci	<value value="13" name="VFD_MODE_0_FIBERS"/>
827bf215546Sopenharmony_ci	<value value="14" name="VFD_MODE_1_FIBERS"/>
828bf215546Sopenharmony_ci	<value value="15" name="VFD_MODE_2_FIBERS"/>
829bf215546Sopenharmony_ci	<value value="16" name="VFD_MODE_3_FIBERS"/>
830bf215546Sopenharmony_ci	<value value="17" name="VFD_MODE_4_FIBERS"/>
831bf215546Sopenharmony_ci	<value value="18" name="VFD_BFIFO_STALL"/>
832bf215546Sopenharmony_ci	<value value="19" name="VFD_NUM_VERTICES_TOTAL"/>
833bf215546Sopenharmony_ci	<value value="20" name="VFD_PACKER_FULL"/>
834bf215546Sopenharmony_ci	<value value="21" name="VFD_UCHE_REQUEST_FIFO_FULL"/>
835bf215546Sopenharmony_ci	<value value="22" name="VFD_STARVE_CYCLES_PC"/>
836bf215546Sopenharmony_ci	<value value="23" name="VFD_STARVE_CYCLES_UCHE"/>
837bf215546Sopenharmony_ci</enum>
838bf215546Sopenharmony_ci
839bf215546Sopenharmony_ci<enum name="a4xx_vpc_perfcounter_select">
840bf215546Sopenharmony_ci	<value value="2" name="VPC_SP_LM_COMPONENTS"/>
841bf215546Sopenharmony_ci	<value value="3" name="VPC_SP0_LM_BYTES"/>
842bf215546Sopenharmony_ci	<value value="4" name="VPC_SP1_LM_BYTES"/>
843bf215546Sopenharmony_ci	<value value="5" name="VPC_SP2_LM_BYTES"/>
844bf215546Sopenharmony_ci	<value value="6" name="VPC_SP3_LM_BYTES"/>
845bf215546Sopenharmony_ci	<value value="7" name="VPC_WORKING_CYCLES"/>
846bf215546Sopenharmony_ci	<value value="8" name="VPC_STALL_CYCLES_LM"/>
847bf215546Sopenharmony_ci	<value value="9" name="VPC_STARVE_CYCLES_RAS"/>
848bf215546Sopenharmony_ci	<value value="10" name="VPC_STREAMOUT_CYCLES"/>
849bf215546Sopenharmony_ci	<value value="12" name="VPC_UCHE_TRANSACTIONS"/>
850bf215546Sopenharmony_ci	<value value="13" name="VPC_STALL_CYCLES_UCHE"/>
851bf215546Sopenharmony_ci	<value value="14" name="VPC_BUSY_CYCLES"/>
852bf215546Sopenharmony_ci	<value value="15" name="VPC_STARVE_CYCLES_SP"/>
853bf215546Sopenharmony_ci</enum>
854bf215546Sopenharmony_ci
855bf215546Sopenharmony_ci<enum name="a4xx_vsc_perfcounter_select">
856bf215546Sopenharmony_ci	<value value="0" name="VSC_BUSY_CYCLES"/>
857bf215546Sopenharmony_ci	<value value="1" name="VSC_WORKING_CYCLES"/>
858bf215546Sopenharmony_ci	<value value="2" name="VSC_STALL_CYCLES_UCHE"/>
859bf215546Sopenharmony_ci	<value value="3" name="VSC_STARVE_CYCLES_RAS"/>
860bf215546Sopenharmony_ci	<value value="4" name="VSC_EOT_NUM"/>
861bf215546Sopenharmony_ci</enum>
862bf215546Sopenharmony_ci
863bf215546Sopenharmony_ci<domain name="A4XX" width="32">
864bf215546Sopenharmony_ci	<!-- RB registers -->
865bf215546Sopenharmony_ci	<reg32 offset="0x0cc0" name="RB_GMEM_BASE_ADDR"/>
866bf215546Sopenharmony_ci	<reg32 offset="0x0cc7" name="RB_PERFCTR_RB_SEL_0" type="a4xx_rb_perfcounter_select"/>
867bf215546Sopenharmony_ci	<reg32 offset="0x0cc8" name="RB_PERFCTR_RB_SEL_1" type="a4xx_rb_perfcounter_select"/>
868bf215546Sopenharmony_ci	<reg32 offset="0x0cc9" name="RB_PERFCTR_RB_SEL_2" type="a4xx_rb_perfcounter_select"/>
869bf215546Sopenharmony_ci	<reg32 offset="0x0cca" name="RB_PERFCTR_RB_SEL_3" type="a4xx_rb_perfcounter_select"/>
870bf215546Sopenharmony_ci	<reg32 offset="0x0ccb" name="RB_PERFCTR_RB_SEL_4" type="a4xx_rb_perfcounter_select"/>
871bf215546Sopenharmony_ci	<reg32 offset="0x0ccc" name="RB_PERFCTR_RB_SEL_5" type="a4xx_rb_perfcounter_select"/>
872bf215546Sopenharmony_ci	<reg32 offset="0x0ccd" name="RB_PERFCTR_RB_SEL_6" type="a4xx_rb_perfcounter_select"/>
873bf215546Sopenharmony_ci	<reg32 offset="0x0cce" name="RB_PERFCTR_RB_SEL_7" type="a4xx_rb_perfcounter_select"/>
874bf215546Sopenharmony_ci	<reg32 offset="0x0ccf" name="RB_PERFCTR_CCU_SEL_0" type="a4xx_ccu_perfcounter_select"/>
875bf215546Sopenharmony_ci	<reg32 offset="0x0cd0" name="RB_PERFCTR_CCU_SEL_1" type="a4xx_ccu_perfcounter_select"/>
876bf215546Sopenharmony_ci	<reg32 offset="0x0cd1" name="RB_PERFCTR_CCU_SEL_2" type="a4xx_ccu_perfcounter_select"/>
877bf215546Sopenharmony_ci	<reg32 offset="0x0cd2" name="RB_PERFCTR_CCU_SEL_3" type="a4xx_ccu_perfcounter_select"/>
878bf215546Sopenharmony_ci	<reg32 offset="0x0ce0" name="RB_FRAME_BUFFER_DIMENSION">
879bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="13" type="uint"/>
880bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="16" high="29" type="uint"/>
881bf215546Sopenharmony_ci	</reg32>
882bf215546Sopenharmony_ci	<reg32 offset="0x20cc" name="RB_CLEAR_COLOR_DW0"/>
883bf215546Sopenharmony_ci	<reg32 offset="0x20cd" name="RB_CLEAR_COLOR_DW1"/>
884bf215546Sopenharmony_ci	<reg32 offset="0x20ce" name="RB_CLEAR_COLOR_DW2"/>
885bf215546Sopenharmony_ci	<reg32 offset="0x20cf" name="RB_CLEAR_COLOR_DW3"/>
886bf215546Sopenharmony_ci	<reg32 offset="0x20a0" name="RB_MODE_CONTROL">
887bf215546Sopenharmony_ci		<!--
888bf215546Sopenharmony_ci		for non-bypass mode, these are bin width/height..  although
889bf215546Sopenharmony_ci		possibly bigger bitfields to hold entire width/height for
890bf215546Sopenharmony_ci		gmem-bypass??  Either way, it appears to need to be multiple
891bf215546Sopenharmony_ci		of 32..
892bf215546Sopenharmony_ci		-->
893bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="5" shr="5" type="uint"/>
894bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="8" high="13" shr="5" type="uint"/>
895bf215546Sopenharmony_ci		<bitfield name="ENABLE_GMEM" pos="16" type="boolean"/>
896bf215546Sopenharmony_ci	</reg32>
897bf215546Sopenharmony_ci	<reg32 offset="0x20a1" name="RB_RENDER_CONTROL">
898bf215546Sopenharmony_ci		<bitfield name="BINNING_PASS" pos="0" type="boolean"/>
899bf215546Sopenharmony_ci		<!-- nearly everything has bit3 set.. -->
900bf215546Sopenharmony_ci		<!-- bit5 set on resolve and tiling pass -->
901bf215546Sopenharmony_ci		<bitfield name="DISABLE_COLOR_PIPE" pos="5" type="boolean"/>
902bf215546Sopenharmony_ci	</reg32>
903bf215546Sopenharmony_ci	<reg32 offset="0x20a2" name="RB_MSAA_CONTROL">
904bf215546Sopenharmony_ci		<bitfield name="DISABLE" pos="12" type="boolean"/>
905bf215546Sopenharmony_ci		<bitfield name="SAMPLES" low="13" high="15" type="uint"/>
906bf215546Sopenharmony_ci	</reg32>
907bf215546Sopenharmony_ci	<reg32 offset="0x20a3" name="RB_RENDER_CONTROL2">
908bf215546Sopenharmony_ci		<bitfield name="COORD_MASK" low="0" high="3" type="hex"/>
909bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK" pos="4" type="boolean"/>
910bf215546Sopenharmony_ci		<bitfield name="FACENESS" pos="5" type="boolean"/>
911bf215546Sopenharmony_ci		<bitfield name="SAMPLEID" pos="6" type="boolean"/>
912bf215546Sopenharmony_ci		<bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/>
913bf215546Sopenharmony_ci		<bitfield name="SAMPLEID_HR" pos="11" type="boolean"/>
914bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_PIXEL" pos="12" type="boolean"/>
915bf215546Sopenharmony_ci		<!-- the 2 below are just educated guesses -->
916bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_CENTROID" pos="13" type="boolean"/>
917bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_SAMPLE" pos="14" type="boolean"/>
918bf215546Sopenharmony_ci		<!-- needs to be enabled to get nopersp values,
919bf215546Sopenharmony_ci		     perhaps other cases too? -->
920bf215546Sopenharmony_ci		<bitfield name="SIZE" pos="15" type="boolean"/>
921bf215546Sopenharmony_ci	</reg32>
922bf215546Sopenharmony_ci	<array offset="0x20a4" name="RB_MRT" stride="5" length="8">
923bf215546Sopenharmony_ci		<reg32 offset="0x0" name="CONTROL">
924bf215546Sopenharmony_ci			<bitfield name="READ_DEST_ENABLE" pos="3" type="boolean"/>
925bf215546Sopenharmony_ci			<!-- both these bits seem to get set when enabling GL_BLEND.. -->
926bf215546Sopenharmony_ci			<bitfield name="BLEND" pos="4" type="boolean"/>
927bf215546Sopenharmony_ci			<bitfield name="BLEND2" pos="5" type="boolean"/>
928bf215546Sopenharmony_ci			<bitfield name="ROP_ENABLE" pos="6" type="boolean"/>
929bf215546Sopenharmony_ci			<bitfield name="ROP_CODE" low="8" high="11" type="a3xx_rop_code"/>
930bf215546Sopenharmony_ci			<bitfield name="COMPONENT_ENABLE" low="24" high="27" type="hex"/>
931bf215546Sopenharmony_ci		</reg32>
932bf215546Sopenharmony_ci		<reg32 offset="0x1" name="BUF_INFO">
933bf215546Sopenharmony_ci			<bitfield name="COLOR_FORMAT" low="0" high="5" type="a4xx_color_fmt"/>
934bf215546Sopenharmony_ci			<!--
935bf215546Sopenharmony_ci			    guestimate position of COLOR_TILE_MODE..  this works out if
936bf215546Sopenharmony_ci			    common value is 2, like on a3xx..
937bf215546Sopenharmony_ci			 -->
938bf215546Sopenharmony_ci			<bitfield name="COLOR_TILE_MODE" low="6" high="7" type="a4xx_tile_mode"/>
939bf215546Sopenharmony_ci			<bitfield name="DITHER_MODE" low="9" high="10" type="adreno_rb_dither_mode"/>
940bf215546Sopenharmony_ci			<bitfield name="COLOR_SWAP" low="11" high="12" type="a3xx_color_swap"/>
941bf215546Sopenharmony_ci			<bitfield name="COLOR_SRGB" pos="13" type="boolean"/>
942bf215546Sopenharmony_ci			<!-- note: possibly some # of lsb's aren't there: -->
943bf215546Sopenharmony_ci			<doc>
944bf215546Sopenharmony_ci				Pitch (actually, appears to be pitch in bytes, so really is a stride)
945bf215546Sopenharmony_ci				in GMEM, so pitch of the current tile.
946bf215546Sopenharmony_ci			</doc>
947bf215546Sopenharmony_ci			<bitfield name="COLOR_BUF_PITCH" low="14" high="31" shr="4" type="uint"/>
948bf215546Sopenharmony_ci		</reg32>
949bf215546Sopenharmony_ci		<reg32 offset="0x2" name="BASE"/>
950bf215546Sopenharmony_ci		<reg32 offset="0x3" name="CONTROL3">
951bf215546Sopenharmony_ci			<!-- probably missing some lsb's.. and guessing upper size -->
952bf215546Sopenharmony_ci			<!-- pitch * cpp * msaa: -->
953bf215546Sopenharmony_ci			<bitfield name="STRIDE" low="3" high="25" type="uint"/>
954bf215546Sopenharmony_ci		</reg32>
955bf215546Sopenharmony_ci		<reg32 offset="0x4" name="BLEND_CONTROL">
956bf215546Sopenharmony_ci			<bitfield name="RGB_SRC_FACTOR" low="0" high="4" type="adreno_rb_blend_factor"/>
957bf215546Sopenharmony_ci			<bitfield name="RGB_BLEND_OPCODE" low="5" high="7" type="a3xx_rb_blend_opcode"/>
958bf215546Sopenharmony_ci			<bitfield name="RGB_DEST_FACTOR" low="8" high="12" type="adreno_rb_blend_factor"/>
959bf215546Sopenharmony_ci			<bitfield name="ALPHA_SRC_FACTOR" low="16" high="20" type="adreno_rb_blend_factor"/>
960bf215546Sopenharmony_ci			<bitfield name="ALPHA_BLEND_OPCODE" low="21" high="23" type="a3xx_rb_blend_opcode"/>
961bf215546Sopenharmony_ci			<bitfield name="ALPHA_DEST_FACTOR" low="24" high="28" type="adreno_rb_blend_factor"/>
962bf215546Sopenharmony_ci		</reg32>
963bf215546Sopenharmony_ci	</array>
964bf215546Sopenharmony_ci
965bf215546Sopenharmony_ci	<reg32 offset="0x20f0" name="RB_BLEND_RED">
966bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
967bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
968bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
969bf215546Sopenharmony_ci	</reg32>
970bf215546Sopenharmony_ci	<reg32 offset="0x20f1" name="RB_BLEND_RED_F32" type="float"/>
971bf215546Sopenharmony_ci
972bf215546Sopenharmony_ci	<reg32 offset="0x20f2" name="RB_BLEND_GREEN">
973bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
974bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
975bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
976bf215546Sopenharmony_ci	</reg32>
977bf215546Sopenharmony_ci	<reg32 offset="0x20f3" name="RB_BLEND_GREEN_F32" type="float"/>
978bf215546Sopenharmony_ci
979bf215546Sopenharmony_ci	<reg32 offset="0x20f4" name="RB_BLEND_BLUE">
980bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
981bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
982bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
983bf215546Sopenharmony_ci	</reg32>
984bf215546Sopenharmony_ci	<reg32 offset="0x20f5" name="RB_BLEND_BLUE_F32" type="float"/>
985bf215546Sopenharmony_ci
986bf215546Sopenharmony_ci	<reg32 offset="0x20f6" name="RB_BLEND_ALPHA">
987bf215546Sopenharmony_ci		<bitfield name="UINT" low="0" high="7" type="hex"/>
988bf215546Sopenharmony_ci		<bitfield name="SINT" low="8" high="15" type="hex"/>
989bf215546Sopenharmony_ci		<bitfield name="FLOAT" low="16" high="31" type="float"/>
990bf215546Sopenharmony_ci	</reg32>
991bf215546Sopenharmony_ci	<reg32 offset="0x20f7" name="RB_BLEND_ALPHA_F32" type="float"/>
992bf215546Sopenharmony_ci
993bf215546Sopenharmony_ci	<reg32 offset="0x20f8" name="RB_ALPHA_CONTROL">
994bf215546Sopenharmony_ci		<bitfield name="ALPHA_REF" low="0" high="7" type="hex"/>
995bf215546Sopenharmony_ci		<bitfield name="ALPHA_TEST" pos="8" type="boolean"/>
996bf215546Sopenharmony_ci		<bitfield name="ALPHA_TEST_FUNC" low="9" high="11" type="adreno_compare_func"/>
997bf215546Sopenharmony_ci	</reg32>
998bf215546Sopenharmony_ci	<reg32 offset="0x20f9" name="RB_FS_OUTPUT">
999bf215546Sopenharmony_ci		<!-- per-mrt enable bit -->
1000bf215546Sopenharmony_ci		<bitfield name="ENABLE_BLEND" low="0" high="7"/>
1001bf215546Sopenharmony_ci		<bitfield name="INDEPENDENT_BLEND" pos="8" type="boolean"/>
1002bf215546Sopenharmony_ci		<!-- a guess? -->
1003bf215546Sopenharmony_ci		<bitfield name="SAMPLE_MASK" low="16" high="31"/>
1004bf215546Sopenharmony_ci	</reg32>
1005bf215546Sopenharmony_ci	<reg32 offset="0x20fa" name="RB_SAMPLE_COUNT_CONTROL">
1006bf215546Sopenharmony_ci		<bitfield name="COPY" pos="1" type="boolean"/>
1007bf215546Sopenharmony_ci		<bitfield name="ADDR" low="2" high="31" shr="2"/>
1008bf215546Sopenharmony_ci	</reg32>
1009bf215546Sopenharmony_ci	<!-- always 00000000 for binning pass, else 0000000f: -->
1010bf215546Sopenharmony_ci	<reg32 offset="0x20fb" name="RB_RENDER_COMPONENTS">
1011bf215546Sopenharmony_ci		<bitfield name="RT0" low="0" high="3"/>
1012bf215546Sopenharmony_ci		<bitfield name="RT1" low="4" high="7"/>
1013bf215546Sopenharmony_ci		<bitfield name="RT2" low="8" high="11"/>
1014bf215546Sopenharmony_ci		<bitfield name="RT3" low="12" high="15"/>
1015bf215546Sopenharmony_ci		<bitfield name="RT4" low="16" high="19"/>
1016bf215546Sopenharmony_ci		<bitfield name="RT5" low="20" high="23"/>
1017bf215546Sopenharmony_ci		<bitfield name="RT6" low="24" high="27"/>
1018bf215546Sopenharmony_ci		<bitfield name="RT7" low="28" high="31"/>
1019bf215546Sopenharmony_ci	</reg32>
1020bf215546Sopenharmony_ci
1021bf215546Sopenharmony_ci	<reg32 offset="0x20fc" name="RB_COPY_CONTROL">
1022bf215546Sopenharmony_ci		<!-- not sure # of bits -->
1023bf215546Sopenharmony_ci		<bitfield name="MSAA_RESOLVE" low="0" high="1" type="a3xx_msaa_samples"/>
1024bf215546Sopenharmony_ci		<bitfield name="MODE" low="4" high="6" type="adreno_rb_copy_control_mode"/>
1025bf215546Sopenharmony_ci		<bitfield name="FASTCLEAR" low="8" high="11" type="hex"/>
1026bf215546Sopenharmony_ci		<bitfield name="GMEM_BASE" low="14" high="31" shr="14" type="hex"/>
1027bf215546Sopenharmony_ci	</reg32>
1028bf215546Sopenharmony_ci	<reg32 offset="0x20fd" name="RB_COPY_DEST_BASE">
1029bf215546Sopenharmony_ci		<bitfield name="BASE" low="5" high="31" shr="5" type="hex"/>
1030bf215546Sopenharmony_ci	</reg32>
1031bf215546Sopenharmony_ci	<reg32 offset="0x20fe" name="RB_COPY_DEST_PITCH">
1032bf215546Sopenharmony_ci		<doc>actually, appears to be pitch in bytes, so really is a stride</doc>
1033bf215546Sopenharmony_ci		<!-- not actually sure about max pitch... -->
1034bf215546Sopenharmony_ci		<bitfield name="PITCH" low="0" high="31" shr="5" type="uint"/>
1035bf215546Sopenharmony_ci	</reg32>
1036bf215546Sopenharmony_ci	<reg32 offset="0x20ff" name="RB_COPY_DEST_INFO">
1037bf215546Sopenharmony_ci		<bitfield name="FORMAT" low="2" high="7" type="a4xx_color_fmt"/>
1038bf215546Sopenharmony_ci		<bitfield name="SWAP" low="8" high="9" type="a3xx_color_swap"/>
1039bf215546Sopenharmony_ci		<bitfield name="DITHER_MODE" low="10" high="11" type="adreno_rb_dither_mode"/>
1040bf215546Sopenharmony_ci		<bitfield name="COMPONENT_ENABLE" low="14" high="17" type="hex"/>
1041bf215546Sopenharmony_ci		<bitfield name="ENDIAN" low="18" high="20" type="adreno_rb_surface_endian"/>
1042bf215546Sopenharmony_ci		<bitfield name="TILE" low="24" high="25" type="a4xx_tile_mode"/>
1043bf215546Sopenharmony_ci	</reg32>
1044bf215546Sopenharmony_ci	<reg32 offset="0x2100" name="RB_FS_OUTPUT_REG">
1045bf215546Sopenharmony_ci		<!-- bit0 set except for binning pass.. -->
1046bf215546Sopenharmony_ci		<bitfield name="MRT" low="0" high="3" type="uint"/>
1047bf215546Sopenharmony_ci		<bitfield name="FRAG_WRITES_Z" pos="5" type="boolean"/>
1048bf215546Sopenharmony_ci	</reg32>
1049bf215546Sopenharmony_ci	<reg32 offset="0x2101" name="RB_DEPTH_CONTROL">
1050bf215546Sopenharmony_ci		<!--
1051bf215546Sopenharmony_ci			guessing that this matches a2xx with the stencil fields
1052bf215546Sopenharmony_ci			moved out into RB_STENCIL_CONTROL?
1053bf215546Sopenharmony_ci		 -->
1054bf215546Sopenharmony_ci		<bitfield name="FRAG_WRITES_Z" pos="0" type="boolean"/>
1055bf215546Sopenharmony_ci		<bitfield name="Z_TEST_ENABLE" pos="1" type="boolean"/>
1056bf215546Sopenharmony_ci		<bitfield name="Z_WRITE_ENABLE" pos="2" type="boolean"/>
1057bf215546Sopenharmony_ci		<bitfield name="ZFUNC" low="4" high="6" type="adreno_compare_func"/>
1058bf215546Sopenharmony_ci		<bitfield name="Z_CLAMP_ENABLE" pos="7" type="boolean"/>
1059bf215546Sopenharmony_ci		<bitfield name="EARLY_Z_DISABLE" pos="16" type="boolean"/>
1060bf215546Sopenharmony_ci		<bitfield name="FORCE_FRAGZ_TO_FS" pos="17" type="boolean"/>
1061bf215546Sopenharmony_ci		<doc>Z_READ_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER</doc>
1062bf215546Sopenharmony_ci		<bitfield name="Z_READ_ENABLE" pos="31" type="boolean"/>
1063bf215546Sopenharmony_ci	</reg32>
1064bf215546Sopenharmony_ci	<reg32 offset="0x2102" name="RB_DEPTH_CLEAR"/>
1065bf215546Sopenharmony_ci	<reg32 offset="0x2103" name="RB_DEPTH_INFO">
1066bf215546Sopenharmony_ci		<bitfield name="DEPTH_FORMAT" low="0" high="1" type="a4xx_depth_format"/>
1067bf215546Sopenharmony_ci		<doc>
1068bf215546Sopenharmony_ci			DEPTH_BASE is offset in GMEM to depth/stencil buffer, ie
1069bf215546Sopenharmony_ci			bin_w * bin_h / 1024 (possible rounded up to multiple of
1070bf215546Sopenharmony_ci			something??  ie. 39 becomes 40, 78 becomes 80.. 75 becomes
1071bf215546Sopenharmony_ci			80.. so maybe it needs to be multiple of 8??
1072bf215546Sopenharmony_ci		</doc>
1073bf215546Sopenharmony_ci		<bitfield name="DEPTH_BASE" low="12" high="31" shr="12" type="hex"/>
1074bf215546Sopenharmony_ci	</reg32>
1075bf215546Sopenharmony_ci	<reg32 offset="0x2104" name="RB_DEPTH_PITCH" shr="5" type="uint">
1076bf215546Sopenharmony_ci		<doc>stride of depth/stencil buffer</doc>
1077bf215546Sopenharmony_ci	</reg32>
1078bf215546Sopenharmony_ci	<reg32 offset="0x2105" name="RB_DEPTH_PITCH2" shr="5" type="uint">
1079bf215546Sopenharmony_ci		<doc>???</doc>
1080bf215546Sopenharmony_ci	</reg32>
1081bf215546Sopenharmony_ci	<reg32 offset="0x2106" name="RB_STENCIL_CONTROL">
1082bf215546Sopenharmony_ci		<bitfield name="STENCIL_ENABLE" pos="0" type="boolean"/>
1083bf215546Sopenharmony_ci		<bitfield name="STENCIL_ENABLE_BF" pos="1" type="boolean"/>
1084bf215546Sopenharmony_ci		<!--
1085bf215546Sopenharmony_ci			set for stencil operations that require read from stencil
1086bf215546Sopenharmony_ci			buffer, but not for example for stencil clear (which does
1087bf215546Sopenharmony_ci			not require read).. so guessing this is analogous to
1088bf215546Sopenharmony_ci			READ_DEST_ENABLE for color buffer..
1089bf215546Sopenharmony_ci		 -->
1090bf215546Sopenharmony_ci		<bitfield name="STENCIL_READ" pos="2" type="boolean"/>
1091bf215546Sopenharmony_ci		<bitfield name="FUNC" low="8" high="10" type="adreno_compare_func"/>
1092bf215546Sopenharmony_ci		<bitfield name="FAIL" low="11" high="13" type="adreno_stencil_op"/>
1093bf215546Sopenharmony_ci		<bitfield name="ZPASS" low="14" high="16" type="adreno_stencil_op"/>
1094bf215546Sopenharmony_ci		<bitfield name="ZFAIL" low="17" high="19" type="adreno_stencil_op"/>
1095bf215546Sopenharmony_ci		<bitfield name="FUNC_BF" low="20" high="22" type="adreno_compare_func"/>
1096bf215546Sopenharmony_ci		<bitfield name="FAIL_BF" low="23" high="25" type="adreno_stencil_op"/>
1097bf215546Sopenharmony_ci		<bitfield name="ZPASS_BF" low="26" high="28" type="adreno_stencil_op"/>
1098bf215546Sopenharmony_ci		<bitfield name="ZFAIL_BF" low="29" high="31" type="adreno_stencil_op"/>
1099bf215546Sopenharmony_ci	</reg32>
1100bf215546Sopenharmony_ci	<reg32 offset="0x2107" name="RB_STENCIL_CONTROL2">
1101bf215546Sopenharmony_ci		<!--
1102bf215546Sopenharmony_ci		This seems to be set by blob if there is a stencil buffer
1103bf215546Sopenharmony_ci		at all in GMEM, regardless of whether it is enabled for
1104bf215546Sopenharmony_ci		a particular draw (ie. RB_STENCIL_CONTROL).  Not really
1105bf215546Sopenharmony_ci		sure if that is required or just a quirk of the blob
1106bf215546Sopenharmony_ci		-->
1107bf215546Sopenharmony_ci		<bitfield name="STENCIL_BUFFER" pos="0" type="boolean"/>
1108bf215546Sopenharmony_ci	</reg32>
1109bf215546Sopenharmony_ci	<reg32 offset="0x2108" name="RB_STENCIL_INFO">
1110bf215546Sopenharmony_ci		<bitfield name="SEPARATE_STENCIL" pos="0" type="boolean"/>
1111bf215546Sopenharmony_ci		<doc>Base address for stencil when not using interleaved depth/stencil</doc>
1112bf215546Sopenharmony_ci		<bitfield name="STENCIL_BASE" low="12" high="31" shr="12" type="hex"/>
1113bf215546Sopenharmony_ci	</reg32>
1114bf215546Sopenharmony_ci	<reg32 offset="0x2109" name="RB_STENCIL_PITCH" shr="5" type="uint">
1115bf215546Sopenharmony_ci		<doc>pitch of stencil buffer when not using interleaved depth/stencil</doc>
1116bf215546Sopenharmony_ci	</reg32>
1117bf215546Sopenharmony_ci
1118bf215546Sopenharmony_ci	<reg32 offset="0x210b" name="RB_STENCILREFMASK" type="adreno_rb_stencilrefmask"/>
1119bf215546Sopenharmony_ci	<reg32 offset="0x210c" name="RB_STENCILREFMASK_BF" type="adreno_rb_stencilrefmask"/>
1120bf215546Sopenharmony_ci	<reg32 offset="0x210d" name="RB_BIN_OFFSET" type="adreno_reg_xy"/>
1121bf215546Sopenharmony_ci	<array offset="0x2120" name="RB_VPORT_Z_CLAMP" stride="2" length="16">
1122bf215546Sopenharmony_ci		<reg32 offset="0x0" name="MIN"/>
1123bf215546Sopenharmony_ci		<reg32 offset="0x1" name="MAX"/>
1124bf215546Sopenharmony_ci	</array>
1125bf215546Sopenharmony_ci
1126bf215546Sopenharmony_ci	<!-- RBBM registers -->
1127bf215546Sopenharmony_ci	<reg32 offset="0x0000" name="RBBM_HW_VERSION"/>
1128bf215546Sopenharmony_ci	<reg32 offset="0x0002" name="RBBM_HW_CONFIGURATION"/>
1129bf215546Sopenharmony_ci	<array offset="0x4" name="RBBM_CLOCK_CTL_TP" stride="1" length="4">
1130bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1131bf215546Sopenharmony_ci	</array>
1132bf215546Sopenharmony_ci	<array offset="0x8" name="RBBM_CLOCK_CTL2_TP" stride="1" length="4">
1133bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1134bf215546Sopenharmony_ci	</array>
1135bf215546Sopenharmony_ci	<array offset="0xc" name="RBBM_CLOCK_HYST_TP" stride="1" length="4">
1136bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1137bf215546Sopenharmony_ci	</array>
1138bf215546Sopenharmony_ci	<array offset="0x10" name="RBBM_CLOCK_DELAY_TP" stride="1" length="4">
1139bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1140bf215546Sopenharmony_ci	</array>
1141bf215546Sopenharmony_ci	<reg32 offset="0x0014" name="RBBM_CLOCK_CTL_UCHE "/>
1142bf215546Sopenharmony_ci	<reg32 offset="0x0015" name="RBBM_CLOCK_CTL2_UCHE"/>
1143bf215546Sopenharmony_ci	<reg32 offset="0x0016" name="RBBM_CLOCK_CTL3_UCHE"/>
1144bf215546Sopenharmony_ci	<reg32 offset="0x0017" name="RBBM_CLOCK_CTL4_UCHE"/>
1145bf215546Sopenharmony_ci	<reg32 offset="0x0018" name="RBBM_CLOCK_HYST_UCHE"/>
1146bf215546Sopenharmony_ci	<reg32 offset="0x0019" name="RBBM_CLOCK_DELAY_UCHE"/>
1147bf215546Sopenharmony_ci	<reg32 offset="0x001a" name="RBBM_CLOCK_MODE_GPC"/>
1148bf215546Sopenharmony_ci	<reg32 offset="0x001b" name="RBBM_CLOCK_DELAY_GPC"/>
1149bf215546Sopenharmony_ci	<reg32 offset="0x001c" name="RBBM_CLOCK_HYST_GPC"/>
1150bf215546Sopenharmony_ci	<reg32 offset="0x001d" name="RBBM_CLOCK_CTL_TSE_RAS_RBBM"/>
1151bf215546Sopenharmony_ci	<reg32 offset="0x001e" name="RBBM_CLOCK_HYST_TSE_RAS_RBBM"/>
1152bf215546Sopenharmony_ci	<reg32 offset="0x001f" name="RBBM_CLOCK_DELAY_TSE_RAS_RBBM"/>
1153bf215546Sopenharmony_ci	<reg32 offset="0x0020" name="RBBM_CLOCK_CTL"/>
1154bf215546Sopenharmony_ci	<reg32 offset="0x0021" name="RBBM_SP_HYST_CNT"/>
1155bf215546Sopenharmony_ci	<reg32 offset="0x0022" name="RBBM_SW_RESET_CMD"/>
1156bf215546Sopenharmony_ci	<reg32 offset="0x0023" name="RBBM_AHB_CTL0"/>
1157bf215546Sopenharmony_ci	<reg32 offset="0x0024" name="RBBM_AHB_CTL1"/>
1158bf215546Sopenharmony_ci	<reg32 offset="0x0025" name="RBBM_AHB_CMD"/>
1159bf215546Sopenharmony_ci	<reg32 offset="0x0026" name="RBBM_RB_SUB_BLOCK_SEL_CTL"/>
1160bf215546Sopenharmony_ci	<reg32 offset="0x0028" name="RBBM_RAM_ACC_63_32"/>
1161bf215546Sopenharmony_ci	<reg32 offset="0x002b" name="RBBM_WAIT_IDLE_CLOCKS_CTL"/>
1162bf215546Sopenharmony_ci	<reg32 offset="0x002f" name="RBBM_INTERFACE_HANG_INT_CTL"/>
1163bf215546Sopenharmony_ci	<reg32 offset="0x0034" name="RBBM_INTERFACE_HANG_MASK_CTL4"/>
1164bf215546Sopenharmony_ci	<reg32 offset="0x0036" name="RBBM_INT_CLEAR_CMD"/>
1165bf215546Sopenharmony_ci	<reg32 offset="0x0037" name="RBBM_INT_0_MASK"/>
1166bf215546Sopenharmony_ci	<reg32 offset="0x003e" name="RBBM_RBBM_CTL"/>
1167bf215546Sopenharmony_ci	<reg32 offset="0x003f" name="RBBM_AHB_DEBUG_CTL"/>
1168bf215546Sopenharmony_ci	<reg32 offset="0x0041" name="RBBM_VBIF_DEBUG_CTL"/>
1169bf215546Sopenharmony_ci	<reg32 offset="0x0042" name="RBBM_CLOCK_CTL2"/>
1170bf215546Sopenharmony_ci	<reg32 offset="0x0045" name="RBBM_BLOCK_SW_RESET_CMD"/>
1171bf215546Sopenharmony_ci	<reg32 offset="0x0047" name="RBBM_RESET_CYCLES"/>
1172bf215546Sopenharmony_ci	<reg32 offset="0x0049" name="RBBM_EXT_TRACE_BUS_CTL"/>
1173bf215546Sopenharmony_ci	<reg32 offset="0x004a" name="RBBM_CFG_DEBBUS_SEL_A"/>
1174bf215546Sopenharmony_ci	<reg32 offset="0x004b" name="RBBM_CFG_DEBBUS_SEL_B"/>
1175bf215546Sopenharmony_ci	<reg32 offset="0x004c" name="RBBM_CFG_DEBBUS_SEL_C"/>
1176bf215546Sopenharmony_ci	<reg32 offset="0x004d" name="RBBM_CFG_DEBBUS_SEL_D"/>
1177bf215546Sopenharmony_ci	<reg32 offset="0x0098" name="RBBM_POWER_CNTL_IP">
1178bf215546Sopenharmony_ci		<bitfield name="SW_COLLAPSE" pos="0" type="boolean"/>
1179bf215546Sopenharmony_ci		<bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/>
1180bf215546Sopenharmony_ci	</reg32>
1181bf215546Sopenharmony_ci	<reg32 offset="0x009c" name="RBBM_PERFCTR_CP_0_LO"/>
1182bf215546Sopenharmony_ci	<reg32 offset="0x009d" name="RBBM_PERFCTR_CP_0_HI"/>
1183bf215546Sopenharmony_ci	<reg32 offset="0x009e" name="RBBM_PERFCTR_CP_1_LO"/>
1184bf215546Sopenharmony_ci	<reg32 offset="0x009f" name="RBBM_PERFCTR_CP_1_HI"/>
1185bf215546Sopenharmony_ci	<reg32 offset="0x00a0" name="RBBM_PERFCTR_CP_2_LO"/>
1186bf215546Sopenharmony_ci	<reg32 offset="0x00a1" name="RBBM_PERFCTR_CP_2_HI"/>
1187bf215546Sopenharmony_ci	<reg32 offset="0x00a2" name="RBBM_PERFCTR_CP_3_LO"/>
1188bf215546Sopenharmony_ci	<reg32 offset="0x00a3" name="RBBM_PERFCTR_CP_3_HI"/>
1189bf215546Sopenharmony_ci	<reg32 offset="0x00a4" name="RBBM_PERFCTR_CP_4_LO"/>
1190bf215546Sopenharmony_ci	<reg32 offset="0x00a5" name="RBBM_PERFCTR_CP_4_HI"/>
1191bf215546Sopenharmony_ci	<reg32 offset="0x00a6" name="RBBM_PERFCTR_CP_5_LO"/>
1192bf215546Sopenharmony_ci	<reg32 offset="0x00a7" name="RBBM_PERFCTR_CP_5_HI"/>
1193bf215546Sopenharmony_ci	<reg32 offset="0x00a8" name="RBBM_PERFCTR_CP_6_LO"/>
1194bf215546Sopenharmony_ci	<reg32 offset="0x00a9" name="RBBM_PERFCTR_CP_6_HI"/>
1195bf215546Sopenharmony_ci	<reg32 offset="0x00aa" name="RBBM_PERFCTR_CP_7_LO"/>
1196bf215546Sopenharmony_ci	<reg32 offset="0x00ab" name="RBBM_PERFCTR_CP_7_HI"/>
1197bf215546Sopenharmony_ci	<reg32 offset="0x00ac" name="RBBM_PERFCTR_RBBM_0_LO"/>
1198bf215546Sopenharmony_ci	<reg32 offset="0x00ad" name="RBBM_PERFCTR_RBBM_0_HI"/>
1199bf215546Sopenharmony_ci	<reg32 offset="0x00ae" name="RBBM_PERFCTR_RBBM_1_LO"/>
1200bf215546Sopenharmony_ci	<reg32 offset="0x00af" name="RBBM_PERFCTR_RBBM_1_HI"/>
1201bf215546Sopenharmony_ci	<reg32 offset="0x00b0" name="RBBM_PERFCTR_RBBM_2_LO"/>
1202bf215546Sopenharmony_ci	<reg32 offset="0x00b1" name="RBBM_PERFCTR_RBBM_2_HI"/>
1203bf215546Sopenharmony_ci	<reg32 offset="0x00b2" name="RBBM_PERFCTR_RBBM_3_LO"/>
1204bf215546Sopenharmony_ci	<reg32 offset="0x00b3" name="RBBM_PERFCTR_RBBM_3_HI"/>
1205bf215546Sopenharmony_ci	<reg32 offset="0x00b4" name="RBBM_PERFCTR_PC_0_LO"/>
1206bf215546Sopenharmony_ci	<reg32 offset="0x00b5" name="RBBM_PERFCTR_PC_0_HI"/>
1207bf215546Sopenharmony_ci	<reg32 offset="0x00b6" name="RBBM_PERFCTR_PC_1_LO"/>
1208bf215546Sopenharmony_ci	<reg32 offset="0x00b7" name="RBBM_PERFCTR_PC_1_HI"/>
1209bf215546Sopenharmony_ci	<reg32 offset="0x00b8" name="RBBM_PERFCTR_PC_2_LO"/>
1210bf215546Sopenharmony_ci	<reg32 offset="0x00b9" name="RBBM_PERFCTR_PC_2_HI"/>
1211bf215546Sopenharmony_ci	<reg32 offset="0x00ba" name="RBBM_PERFCTR_PC_3_LO"/>
1212bf215546Sopenharmony_ci	<reg32 offset="0x00bb" name="RBBM_PERFCTR_PC_3_HI"/>
1213bf215546Sopenharmony_ci	<reg32 offset="0x00bc" name="RBBM_PERFCTR_PC_4_LO"/>
1214bf215546Sopenharmony_ci	<reg32 offset="0x00bd" name="RBBM_PERFCTR_PC_4_HI"/>
1215bf215546Sopenharmony_ci	<reg32 offset="0x00be" name="RBBM_PERFCTR_PC_5_LO"/>
1216bf215546Sopenharmony_ci	<reg32 offset="0x00bf" name="RBBM_PERFCTR_PC_5_HI"/>
1217bf215546Sopenharmony_ci	<reg32 offset="0x00c0" name="RBBM_PERFCTR_PC_6_LO"/>
1218bf215546Sopenharmony_ci	<reg32 offset="0x00c1" name="RBBM_PERFCTR_PC_6_HI"/>
1219bf215546Sopenharmony_ci	<reg32 offset="0x00c2" name="RBBM_PERFCTR_PC_7_LO"/>
1220bf215546Sopenharmony_ci	<reg32 offset="0x00c3" name="RBBM_PERFCTR_PC_7_HI"/>
1221bf215546Sopenharmony_ci	<reg32 offset="0x00c4" name="RBBM_PERFCTR_VFD_0_LO"/>
1222bf215546Sopenharmony_ci	<reg32 offset="0x00c5" name="RBBM_PERFCTR_VFD_0_HI"/>
1223bf215546Sopenharmony_ci	<reg32 offset="0x00c6" name="RBBM_PERFCTR_VFD_1_LO"/>
1224bf215546Sopenharmony_ci	<reg32 offset="0x00c7" name="RBBM_PERFCTR_VFD_1_HI"/>
1225bf215546Sopenharmony_ci	<reg32 offset="0x00c8" name="RBBM_PERFCTR_VFD_2_LO"/>
1226bf215546Sopenharmony_ci	<reg32 offset="0x00c9" name="RBBM_PERFCTR_VFD_2_HI"/>
1227bf215546Sopenharmony_ci	<reg32 offset="0x00ca" name="RBBM_PERFCTR_VFD_3_LO"/>
1228bf215546Sopenharmony_ci	<reg32 offset="0x00cb" name="RBBM_PERFCTR_VFD_3_HI"/>
1229bf215546Sopenharmony_ci	<reg32 offset="0x00cc" name="RBBM_PERFCTR_VFD_4_LO"/>
1230bf215546Sopenharmony_ci	<reg32 offset="0x00cd" name="RBBM_PERFCTR_VFD_4_HI"/>
1231bf215546Sopenharmony_ci	<reg32 offset="0x00ce" name="RBBM_PERFCTR_VFD_5_LO"/>
1232bf215546Sopenharmony_ci	<reg32 offset="0x00cf" name="RBBM_PERFCTR_VFD_5_HI"/>
1233bf215546Sopenharmony_ci	<reg32 offset="0x00d0" name="RBBM_PERFCTR_VFD_6_LO"/>
1234bf215546Sopenharmony_ci	<reg32 offset="0x00d1" name="RBBM_PERFCTR_VFD_6_HI"/>
1235bf215546Sopenharmony_ci	<reg32 offset="0x00d2" name="RBBM_PERFCTR_VFD_7_LO"/>
1236bf215546Sopenharmony_ci	<reg32 offset="0x00d3" name="RBBM_PERFCTR_VFD_7_HI"/>
1237bf215546Sopenharmony_ci	<reg32 offset="0x00d4" name="RBBM_PERFCTR_HLSQ_0_LO"/>
1238bf215546Sopenharmony_ci	<reg32 offset="0x00d5" name="RBBM_PERFCTR_HLSQ_0_HI"/>
1239bf215546Sopenharmony_ci	<reg32 offset="0x00d6" name="RBBM_PERFCTR_HLSQ_1_LO"/>
1240bf215546Sopenharmony_ci	<reg32 offset="0x00d7" name="RBBM_PERFCTR_HLSQ_1_HI"/>
1241bf215546Sopenharmony_ci	<reg32 offset="0x00d8" name="RBBM_PERFCTR_HLSQ_2_LO"/>
1242bf215546Sopenharmony_ci	<reg32 offset="0x00d9" name="RBBM_PERFCTR_HLSQ_2_HI"/>
1243bf215546Sopenharmony_ci	<reg32 offset="0x00da" name="RBBM_PERFCTR_HLSQ_3_LO"/>
1244bf215546Sopenharmony_ci	<reg32 offset="0x00db" name="RBBM_PERFCTR_HLSQ_3_HI"/>
1245bf215546Sopenharmony_ci	<reg32 offset="0x00dc" name="RBBM_PERFCTR_HLSQ_4_LO"/>
1246bf215546Sopenharmony_ci	<reg32 offset="0x00dd" name="RBBM_PERFCTR_HLSQ_4_HI"/>
1247bf215546Sopenharmony_ci	<reg32 offset="0x00de" name="RBBM_PERFCTR_HLSQ_5_LO"/>
1248bf215546Sopenharmony_ci	<reg32 offset="0x00df" name="RBBM_PERFCTR_HLSQ_5_HI"/>
1249bf215546Sopenharmony_ci	<reg32 offset="0x00e0" name="RBBM_PERFCTR_HLSQ_6_LO"/>
1250bf215546Sopenharmony_ci	<reg32 offset="0x00e1" name="RBBM_PERFCTR_HLSQ_6_HI"/>
1251bf215546Sopenharmony_ci	<reg32 offset="0x00e2" name="RBBM_PERFCTR_HLSQ_7_LO"/>
1252bf215546Sopenharmony_ci	<reg32 offset="0x00e3" name="RBBM_PERFCTR_HLSQ_7_HI"/>
1253bf215546Sopenharmony_ci	<reg32 offset="0x00e4" name="RBBM_PERFCTR_VPC_0_LO"/>
1254bf215546Sopenharmony_ci	<reg32 offset="0x00e5" name="RBBM_PERFCTR_VPC_0_HI"/>
1255bf215546Sopenharmony_ci	<reg32 offset="0x00e6" name="RBBM_PERFCTR_VPC_1_LO"/>
1256bf215546Sopenharmony_ci	<reg32 offset="0x00e7" name="RBBM_PERFCTR_VPC_1_HI"/>
1257bf215546Sopenharmony_ci	<reg32 offset="0x00e8" name="RBBM_PERFCTR_VPC_2_LO"/>
1258bf215546Sopenharmony_ci	<reg32 offset="0x00e9" name="RBBM_PERFCTR_VPC_2_HI"/>
1259bf215546Sopenharmony_ci	<reg32 offset="0x00ea" name="RBBM_PERFCTR_VPC_3_LO"/>
1260bf215546Sopenharmony_ci	<reg32 offset="0x00eb" name="RBBM_PERFCTR_VPC_3_HI"/>
1261bf215546Sopenharmony_ci	<reg32 offset="0x00ec" name="RBBM_PERFCTR_CCU_0_LO"/>
1262bf215546Sopenharmony_ci	<reg32 offset="0x00ed" name="RBBM_PERFCTR_CCU_0_HI"/>
1263bf215546Sopenharmony_ci	<reg32 offset="0x00ee" name="RBBM_PERFCTR_CCU_1_LO"/>
1264bf215546Sopenharmony_ci	<reg32 offset="0x00ef" name="RBBM_PERFCTR_CCU_1_HI"/>
1265bf215546Sopenharmony_ci	<reg32 offset="0x00f0" name="RBBM_PERFCTR_CCU_2_LO"/>
1266bf215546Sopenharmony_ci	<reg32 offset="0x00f1" name="RBBM_PERFCTR_CCU_2_HI"/>
1267bf215546Sopenharmony_ci	<reg32 offset="0x00f2" name="RBBM_PERFCTR_CCU_3_LO"/>
1268bf215546Sopenharmony_ci	<reg32 offset="0x00f3" name="RBBM_PERFCTR_CCU_3_HI"/>
1269bf215546Sopenharmony_ci	<reg32 offset="0x00f4" name="RBBM_PERFCTR_TSE_0_LO"/>
1270bf215546Sopenharmony_ci	<reg32 offset="0x00f5" name="RBBM_PERFCTR_TSE_0_HI"/>
1271bf215546Sopenharmony_ci	<reg32 offset="0x00f6" name="RBBM_PERFCTR_TSE_1_LO"/>
1272bf215546Sopenharmony_ci	<reg32 offset="0x00f7" name="RBBM_PERFCTR_TSE_1_HI"/>
1273bf215546Sopenharmony_ci	<reg32 offset="0x00f8" name="RBBM_PERFCTR_TSE_2_LO"/>
1274bf215546Sopenharmony_ci	<reg32 offset="0x00f9" name="RBBM_PERFCTR_TSE_2_HI"/>
1275bf215546Sopenharmony_ci	<reg32 offset="0x00fa" name="RBBM_PERFCTR_TSE_3_LO"/>
1276bf215546Sopenharmony_ci	<reg32 offset="0x00fb" name="RBBM_PERFCTR_TSE_3_HI"/>
1277bf215546Sopenharmony_ci	<reg32 offset="0x00fc" name="RBBM_PERFCTR_RAS_0_LO"/>
1278bf215546Sopenharmony_ci	<reg32 offset="0x00fd" name="RBBM_PERFCTR_RAS_0_HI"/>
1279bf215546Sopenharmony_ci	<reg32 offset="0x00fe" name="RBBM_PERFCTR_RAS_1_LO"/>
1280bf215546Sopenharmony_ci	<reg32 offset="0x00ff" name="RBBM_PERFCTR_RAS_1_HI"/>
1281bf215546Sopenharmony_ci	<reg32 offset="0x0100" name="RBBM_PERFCTR_RAS_2_LO"/>
1282bf215546Sopenharmony_ci	<reg32 offset="0x0101" name="RBBM_PERFCTR_RAS_2_HI"/>
1283bf215546Sopenharmony_ci	<reg32 offset="0x0102" name="RBBM_PERFCTR_RAS_3_LO"/>
1284bf215546Sopenharmony_ci	<reg32 offset="0x0103" name="RBBM_PERFCTR_RAS_3_HI"/>
1285bf215546Sopenharmony_ci	<reg32 offset="0x0104" name="RBBM_PERFCTR_UCHE_0_LO"/>
1286bf215546Sopenharmony_ci	<reg32 offset="0x0105" name="RBBM_PERFCTR_UCHE_0_HI"/>
1287bf215546Sopenharmony_ci	<reg32 offset="0x0106" name="RBBM_PERFCTR_UCHE_1_LO"/>
1288bf215546Sopenharmony_ci	<reg32 offset="0x0107" name="RBBM_PERFCTR_UCHE_1_HI"/>
1289bf215546Sopenharmony_ci	<reg32 offset="0x0108" name="RBBM_PERFCTR_UCHE_2_LO"/>
1290bf215546Sopenharmony_ci	<reg32 offset="0x0109" name="RBBM_PERFCTR_UCHE_2_HI"/>
1291bf215546Sopenharmony_ci	<reg32 offset="0x010a" name="RBBM_PERFCTR_UCHE_3_LO"/>
1292bf215546Sopenharmony_ci	<reg32 offset="0x010b" name="RBBM_PERFCTR_UCHE_3_HI"/>
1293bf215546Sopenharmony_ci	<reg32 offset="0x010c" name="RBBM_PERFCTR_UCHE_4_LO"/>
1294bf215546Sopenharmony_ci	<reg32 offset="0x010d" name="RBBM_PERFCTR_UCHE_4_HI"/>
1295bf215546Sopenharmony_ci	<reg32 offset="0x010e" name="RBBM_PERFCTR_UCHE_5_LO"/>
1296bf215546Sopenharmony_ci	<reg32 offset="0x010f" name="RBBM_PERFCTR_UCHE_5_HI"/>
1297bf215546Sopenharmony_ci	<reg32 offset="0x0110" name="RBBM_PERFCTR_UCHE_6_LO"/>
1298bf215546Sopenharmony_ci	<reg32 offset="0x0111" name="RBBM_PERFCTR_UCHE_6_HI"/>
1299bf215546Sopenharmony_ci	<reg32 offset="0x0112" name="RBBM_PERFCTR_UCHE_7_LO"/>
1300bf215546Sopenharmony_ci	<reg32 offset="0x0113" name="RBBM_PERFCTR_UCHE_7_HI"/>
1301bf215546Sopenharmony_ci	<reg32 offset="0x0114" name="RBBM_PERFCTR_TP_0_LO"/>
1302bf215546Sopenharmony_ci	<reg32 offset="0x0115" name="RBBM_PERFCTR_TP_0_HI"/>
1303bf215546Sopenharmony_ci	<reg32 offset="0x0116" name="RBBM_PERFCTR_TP_1_LO"/>
1304bf215546Sopenharmony_ci	<reg32 offset="0x0117" name="RBBM_PERFCTR_TP_1_HI"/>
1305bf215546Sopenharmony_ci	<reg32 offset="0x0118" name="RBBM_PERFCTR_TP_2_LO"/>
1306bf215546Sopenharmony_ci	<reg32 offset="0x0119" name="RBBM_PERFCTR_TP_2_HI"/>
1307bf215546Sopenharmony_ci	<reg32 offset="0x011a" name="RBBM_PERFCTR_TP_3_LO"/>
1308bf215546Sopenharmony_ci	<reg32 offset="0x011b" name="RBBM_PERFCTR_TP_3_HI"/>
1309bf215546Sopenharmony_ci	<reg32 offset="0x011c" name="RBBM_PERFCTR_TP_4_LO"/>
1310bf215546Sopenharmony_ci	<reg32 offset="0x011d" name="RBBM_PERFCTR_TP_4_HI"/>
1311bf215546Sopenharmony_ci	<reg32 offset="0x011e" name="RBBM_PERFCTR_TP_5_LO"/>
1312bf215546Sopenharmony_ci	<reg32 offset="0x011f" name="RBBM_PERFCTR_TP_5_HI"/>
1313bf215546Sopenharmony_ci	<reg32 offset="0x0120" name="RBBM_PERFCTR_TP_6_LO"/>
1314bf215546Sopenharmony_ci	<reg32 offset="0x0121" name="RBBM_PERFCTR_TP_6_HI"/>
1315bf215546Sopenharmony_ci	<reg32 offset="0x0122" name="RBBM_PERFCTR_TP_7_LO"/>
1316bf215546Sopenharmony_ci	<reg32 offset="0x0123" name="RBBM_PERFCTR_TP_7_HI"/>
1317bf215546Sopenharmony_ci	<reg32 offset="0x0124" name="RBBM_PERFCTR_SP_0_LO"/>
1318bf215546Sopenharmony_ci	<reg32 offset="0x0125" name="RBBM_PERFCTR_SP_0_HI"/>
1319bf215546Sopenharmony_ci	<reg32 offset="0x0126" name="RBBM_PERFCTR_SP_1_LO"/>
1320bf215546Sopenharmony_ci	<reg32 offset="0x0127" name="RBBM_PERFCTR_SP_1_HI"/>
1321bf215546Sopenharmony_ci	<reg32 offset="0x0128" name="RBBM_PERFCTR_SP_2_LO"/>
1322bf215546Sopenharmony_ci	<reg32 offset="0x0129" name="RBBM_PERFCTR_SP_2_HI"/>
1323bf215546Sopenharmony_ci	<reg32 offset="0x012a" name="RBBM_PERFCTR_SP_3_LO"/>
1324bf215546Sopenharmony_ci	<reg32 offset="0x012b" name="RBBM_PERFCTR_SP_3_HI"/>
1325bf215546Sopenharmony_ci	<reg32 offset="0x012c" name="RBBM_PERFCTR_SP_4_LO"/>
1326bf215546Sopenharmony_ci	<reg32 offset="0x012d" name="RBBM_PERFCTR_SP_4_HI"/>
1327bf215546Sopenharmony_ci	<reg32 offset="0x012e" name="RBBM_PERFCTR_SP_5_LO"/>
1328bf215546Sopenharmony_ci	<reg32 offset="0x012f" name="RBBM_PERFCTR_SP_5_HI"/>
1329bf215546Sopenharmony_ci	<reg32 offset="0x0130" name="RBBM_PERFCTR_SP_6_LO"/>
1330bf215546Sopenharmony_ci	<reg32 offset="0x0131" name="RBBM_PERFCTR_SP_6_HI"/>
1331bf215546Sopenharmony_ci	<reg32 offset="0x0132" name="RBBM_PERFCTR_SP_7_LO"/>
1332bf215546Sopenharmony_ci	<reg32 offset="0x0133" name="RBBM_PERFCTR_SP_7_HI"/>
1333bf215546Sopenharmony_ci	<reg32 offset="0x0134" name="RBBM_PERFCTR_SP_8_LO"/>
1334bf215546Sopenharmony_ci	<reg32 offset="0x0135" name="RBBM_PERFCTR_SP_8_HI"/>
1335bf215546Sopenharmony_ci	<reg32 offset="0x0136" name="RBBM_PERFCTR_SP_9_LO"/>
1336bf215546Sopenharmony_ci	<reg32 offset="0x0137" name="RBBM_PERFCTR_SP_9_HI"/>
1337bf215546Sopenharmony_ci	<reg32 offset="0x0138" name="RBBM_PERFCTR_SP_10_LO"/>
1338bf215546Sopenharmony_ci	<reg32 offset="0x0139" name="RBBM_PERFCTR_SP_10_HI"/>
1339bf215546Sopenharmony_ci	<reg32 offset="0x013a" name="RBBM_PERFCTR_SP_11_LO"/>
1340bf215546Sopenharmony_ci	<reg32 offset="0x013b" name="RBBM_PERFCTR_SP_11_HI"/>
1341bf215546Sopenharmony_ci	<reg32 offset="0x013c" name="RBBM_PERFCTR_RB_0_LO"/>
1342bf215546Sopenharmony_ci	<reg32 offset="0x013d" name="RBBM_PERFCTR_RB_0_HI"/>
1343bf215546Sopenharmony_ci	<reg32 offset="0x013e" name="RBBM_PERFCTR_RB_1_LO"/>
1344bf215546Sopenharmony_ci	<reg32 offset="0x013f" name="RBBM_PERFCTR_RB_1_HI"/>
1345bf215546Sopenharmony_ci	<reg32 offset="0x0140" name="RBBM_PERFCTR_RB_2_LO"/>
1346bf215546Sopenharmony_ci	<reg32 offset="0x0141" name="RBBM_PERFCTR_RB_2_HI"/>
1347bf215546Sopenharmony_ci	<reg32 offset="0x0142" name="RBBM_PERFCTR_RB_3_LO"/>
1348bf215546Sopenharmony_ci	<reg32 offset="0x0143" name="RBBM_PERFCTR_RB_3_HI"/>
1349bf215546Sopenharmony_ci	<reg32 offset="0x0144" name="RBBM_PERFCTR_RB_4_LO"/>
1350bf215546Sopenharmony_ci	<reg32 offset="0x0145" name="RBBM_PERFCTR_RB_4_HI"/>
1351bf215546Sopenharmony_ci	<reg32 offset="0x0146" name="RBBM_PERFCTR_RB_5_LO"/>
1352bf215546Sopenharmony_ci	<reg32 offset="0x0147" name="RBBM_PERFCTR_RB_5_HI"/>
1353bf215546Sopenharmony_ci	<reg32 offset="0x0148" name="RBBM_PERFCTR_RB_6_LO"/>
1354bf215546Sopenharmony_ci	<reg32 offset="0x0149" name="RBBM_PERFCTR_RB_6_HI"/>
1355bf215546Sopenharmony_ci	<reg32 offset="0x014a" name="RBBM_PERFCTR_RB_7_LO"/>
1356bf215546Sopenharmony_ci	<reg32 offset="0x014b" name="RBBM_PERFCTR_RB_7_HI"/>
1357bf215546Sopenharmony_ci	<reg32 offset="0x014c" name="RBBM_PERFCTR_VSC_0_LO"/>
1358bf215546Sopenharmony_ci	<reg32 offset="0x014d" name="RBBM_PERFCTR_VSC_0_HI"/>
1359bf215546Sopenharmony_ci	<reg32 offset="0x014e" name="RBBM_PERFCTR_VSC_1_LO"/>
1360bf215546Sopenharmony_ci	<reg32 offset="0x014f" name="RBBM_PERFCTR_VSC_1_HI"/>
1361bf215546Sopenharmony_ci	<reg32 offset="0x0166" name="RBBM_PERFCTR_PWR_0_LO"/>
1362bf215546Sopenharmony_ci	<reg32 offset="0x0167" name="RBBM_PERFCTR_PWR_0_HI"/>
1363bf215546Sopenharmony_ci	<reg32 offset="0x0168" name="RBBM_PERFCTR_PWR_1_LO"/>
1364bf215546Sopenharmony_ci	<reg32 offset="0x0169" name="RBBM_PERFCTR_PWR_1_HI"/>
1365bf215546Sopenharmony_ci	<reg32 offset="0x016e" name="RBBM_ALWAYSON_COUNTER_LO"/>
1366bf215546Sopenharmony_ci	<reg32 offset="0x016f" name="RBBM_ALWAYSON_COUNTER_HI"/>
1367bf215546Sopenharmony_ci	<array offset="0x0068" name="RBBM_CLOCK_CTL_SP" stride="1" length="4">
1368bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1369bf215546Sopenharmony_ci	</array>
1370bf215546Sopenharmony_ci	<array offset="0x006c" name="RBBM_CLOCK_CTL2_SP" stride="1" length="4">
1371bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1372bf215546Sopenharmony_ci	</array>
1373bf215546Sopenharmony_ci	<array offset="0x0070" name="RBBM_CLOCK_HYST_SP" stride="1" length="4">
1374bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1375bf215546Sopenharmony_ci	</array>
1376bf215546Sopenharmony_ci	<array offset="0x0074" name="RBBM_CLOCK_DELAY_SP" stride="1" length="4">
1377bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1378bf215546Sopenharmony_ci	</array>
1379bf215546Sopenharmony_ci	<array offset="0x0078" name="RBBM_CLOCK_CTL_RB" stride="1" length="4">
1380bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1381bf215546Sopenharmony_ci	</array>
1382bf215546Sopenharmony_ci	<array offset="0x007c" name="RBBM_CLOCK_CTL2_RB" stride="1" length="4">
1383bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1384bf215546Sopenharmony_ci	</array>
1385bf215546Sopenharmony_ci	<array offset="0x0082" name="RBBM_CLOCK_CTL_MARB_CCU" stride="1" length="4">
1386bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1387bf215546Sopenharmony_ci	</array>
1388bf215546Sopenharmony_ci	<array offset="0x0086" name="RBBM_CLOCK_HYST_RB_MARB_CCU" stride="1" length="4">
1389bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1390bf215546Sopenharmony_ci	</array>
1391bf215546Sopenharmony_ci	<reg32 offset="0x0080" name="RBBM_CLOCK_HYST_COM_DCOM"/>
1392bf215546Sopenharmony_ci	<reg32 offset="0x0081" name="RBBM_CLOCK_CTL_COM_DCOM"/>
1393bf215546Sopenharmony_ci	<reg32 offset="0x008a" name="RBBM_CLOCK_CTL_HLSQ"/>
1394bf215546Sopenharmony_ci	<reg32 offset="0x008b" name="RBBM_CLOCK_HYST_HLSQ"/>
1395bf215546Sopenharmony_ci	<reg32 offset="0x008c" name="RBBM_CLOCK_DELAY_HLSQ"/>
1396bf215546Sopenharmony_ci	<bitset name="A4XX_CGC_HLSQ">
1397bf215546Sopenharmony_ci		<bitfield name="EARLY_CYC" low="20" high="22" type="uint"/>
1398bf215546Sopenharmony_ci	</bitset>
1399bf215546Sopenharmony_ci	<reg32 offset="0x008d" name="RBBM_CLOCK_DELAY_COM_DCOM"/>
1400bf215546Sopenharmony_ci	<array offset="0x008e" name="RBBM_CLOCK_DELAY_RB_MARB_CCU_L1" stride="1" length="4">
1401bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1402bf215546Sopenharmony_ci	</array>
1403bf215546Sopenharmony_ci	<bitset name="A4XX_INT0">
1404bf215546Sopenharmony_ci		<bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/>
1405bf215546Sopenharmony_ci		<bitfield name="RBBM_AHB_ERROR" pos="1" type="boolean"/>
1406bf215546Sopenharmony_ci		<bitfield name="RBBM_REG_TIMEOUT" pos="2" type="boolean"/>
1407bf215546Sopenharmony_ci		<bitfield name="RBBM_ME_MS_TIMEOUT" pos="3" type="boolean"/>
1408bf215546Sopenharmony_ci		<bitfield name="RBBM_PFP_MS_TIMEOUT" pos="4" type="boolean"/>
1409bf215546Sopenharmony_ci		<bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="5" type="boolean"/>
1410bf215546Sopenharmony_ci		<bitfield name="VFD_ERROR" pos="6" type="boolean"/>
1411bf215546Sopenharmony_ci		<bitfield name="CP_SW_INT" pos="7" type="boolean"/>
1412bf215546Sopenharmony_ci		<bitfield name="CP_T0_PACKET_IN_IB" pos="8" type="boolean"/>
1413bf215546Sopenharmony_ci		<bitfield name="CP_OPCODE_ERROR" pos="9" type="boolean"/>
1414bf215546Sopenharmony_ci		<bitfield name="CP_RESERVED_BIT_ERROR" pos="10" type="boolean"/>
1415bf215546Sopenharmony_ci		<bitfield name="CP_HW_FAULT" pos="11" type="boolean"/>
1416bf215546Sopenharmony_ci		<bitfield name="CP_DMA" pos="12" type="boolean"/>
1417bf215546Sopenharmony_ci		<bitfield name="CP_IB2_INT" pos="13" type="boolean"/>
1418bf215546Sopenharmony_ci		<bitfield name="CP_IB1_INT" pos="14" type="boolean"/>
1419bf215546Sopenharmony_ci		<bitfield name="CP_RB_INT" pos="15" type="boolean"/>
1420bf215546Sopenharmony_ci		<bitfield name="CP_REG_PROTECT_FAULT" pos="16" type="boolean"/>
1421bf215546Sopenharmony_ci		<bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/>
1422bf215546Sopenharmony_ci		<bitfield name="CP_VS_DONE_TS" pos="18" type="boolean"/>
1423bf215546Sopenharmony_ci		<bitfield name="CP_PS_DONE_TS" pos="19" type="boolean"/>
1424bf215546Sopenharmony_ci		<bitfield name="CACHE_FLUSH_TS" pos="20" type="boolean"/>
1425bf215546Sopenharmony_ci		<bitfield name="CP_AHB_ERROR_HALT" pos="21" type="boolean"/>
1426bf215546Sopenharmony_ci		<bitfield name="MISC_HANG_DETECT" pos="24" type="boolean"/>
1427bf215546Sopenharmony_ci		<bitfield name="UCHE_OOB_ACCESS" pos="25" type="boolean"/>
1428bf215546Sopenharmony_ci	</bitset>
1429bf215546Sopenharmony_ci
1430bf215546Sopenharmony_ci	<reg32 offset="0x0099" name="RBBM_SP_REGFILE_SLEEP_CNTL_0"/>
1431bf215546Sopenharmony_ci	<reg32 offset="0x009a" name="RBBM_SP_REGFILE_SLEEP_CNTL_1"/>
1432bf215546Sopenharmony_ci	<reg32 offset="0x0170" name="RBBM_PERFCTR_CTL"/>
1433bf215546Sopenharmony_ci	<reg32 offset="0x0171" name="RBBM_PERFCTR_LOAD_CMD0"/>
1434bf215546Sopenharmony_ci	<reg32 offset="0x0172" name="RBBM_PERFCTR_LOAD_CMD1"/>
1435bf215546Sopenharmony_ci	<reg32 offset="0x0173" name="RBBM_PERFCTR_LOAD_CMD2"/>
1436bf215546Sopenharmony_ci	<reg32 offset="0x0174" name="RBBM_PERFCTR_LOAD_VALUE_LO"/>
1437bf215546Sopenharmony_ci	<reg32 offset="0x0175" name="RBBM_PERFCTR_LOAD_VALUE_HI"/>
1438bf215546Sopenharmony_ci	<reg32 offset="0x0176" name="RBBM_PERFCTR_RBBM_SEL_0" type="a4xx_rbbm_perfcounter_select"/>
1439bf215546Sopenharmony_ci	<reg32 offset="0x0177" name="RBBM_PERFCTR_RBBM_SEL_1" type="a4xx_rbbm_perfcounter_select"/>
1440bf215546Sopenharmony_ci	<reg32 offset="0x0178" name="RBBM_PERFCTR_RBBM_SEL_2" type="a4xx_rbbm_perfcounter_select"/>
1441bf215546Sopenharmony_ci	<reg32 offset="0x0179" name="RBBM_PERFCTR_RBBM_SEL_3" type="a4xx_rbbm_perfcounter_select"/>
1442bf215546Sopenharmony_ci	<reg32 offset="0x017a" name="RBBM_GPU_BUSY_MASKED"/>
1443bf215546Sopenharmony_ci	<reg32 offset="0x017d" name="RBBM_INT_0_STATUS"/>
1444bf215546Sopenharmony_ci	<reg32 offset="0x0182" name="RBBM_CLOCK_STATUS"/>
1445bf215546Sopenharmony_ci	<reg32 offset="0x0189" name="RBBM_AHB_STATUS"/>
1446bf215546Sopenharmony_ci	<reg32 offset="0x018c" name="RBBM_AHB_ME_SPLIT_STATUS"/>
1447bf215546Sopenharmony_ci	<reg32 offset="0x018d" name="RBBM_AHB_PFP_SPLIT_STATUS"/>
1448bf215546Sopenharmony_ci	<reg32 offset="0x018f" name="RBBM_AHB_ERROR_STATUS"/>
1449bf215546Sopenharmony_ci	<reg32 offset="0x0191" name="RBBM_STATUS">
1450bf215546Sopenharmony_ci		<bitfield name="HI_BUSY" pos="0" type="boolean"/>
1451bf215546Sopenharmony_ci		<bitfield name="CP_ME_BUSY" pos="1" type="boolean"/>
1452bf215546Sopenharmony_ci		<bitfield name="CP_PFP_BUSY" pos="2" type="boolean"/>
1453bf215546Sopenharmony_ci		<bitfield name="CP_NRT_BUSY" pos="14" type="boolean"/>
1454bf215546Sopenharmony_ci		<bitfield name="VBIF_BUSY" pos="15" type="boolean"/>
1455bf215546Sopenharmony_ci		<bitfield name="TSE_BUSY" pos="16" type="boolean"/>
1456bf215546Sopenharmony_ci		<bitfield name="RAS_BUSY" pos="17" type="boolean"/>
1457bf215546Sopenharmony_ci		<bitfield name="RB_BUSY" pos="18" type="boolean"/>
1458bf215546Sopenharmony_ci		<bitfield name="PC_DCALL_BUSY" pos="19" type="boolean"/>
1459bf215546Sopenharmony_ci		<bitfield name="PC_VSD_BUSY" pos="20" type="boolean"/>
1460bf215546Sopenharmony_ci		<bitfield name="VFD_BUSY" pos="21" type="boolean"/>
1461bf215546Sopenharmony_ci		<bitfield name="VPC_BUSY" pos="22" type="boolean"/>
1462bf215546Sopenharmony_ci		<bitfield name="UCHE_BUSY" pos="23" type="boolean"/>
1463bf215546Sopenharmony_ci		<bitfield name="SP_BUSY" pos="24" type="boolean"/>
1464bf215546Sopenharmony_ci		<bitfield name="TPL1_BUSY" pos="25" type="boolean"/>
1465bf215546Sopenharmony_ci		<bitfield name="MARB_BUSY" pos="26" type="boolean"/>
1466bf215546Sopenharmony_ci		<bitfield name="VSC_BUSY" pos="27" type="boolean"/>
1467bf215546Sopenharmony_ci		<bitfield name="ARB_BUSY" pos="28" type="boolean"/>
1468bf215546Sopenharmony_ci		<bitfield name="HLSQ_BUSY" pos="29" type="boolean"/>
1469bf215546Sopenharmony_ci		<bitfield name="GPU_BUSY_NOHC" pos="30" type="boolean"/>
1470bf215546Sopenharmony_ci		<bitfield name="GPU_BUSY" pos="31" type="boolean"/>
1471bf215546Sopenharmony_ci	</reg32>
1472bf215546Sopenharmony_ci	<reg32 offset="0x019f" name="RBBM_INTERFACE_RRDY_STATUS5"/>
1473bf215546Sopenharmony_ci	<reg32 offset="0x01b0" name="RBBM_POWER_STATUS">
1474bf215546Sopenharmony_ci		<bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/>
1475bf215546Sopenharmony_ci	</reg32>
1476bf215546Sopenharmony_ci	<reg32 offset="0x01b8" name="RBBM_WAIT_IDLE_CLOCKS_CTL2"/>
1477bf215546Sopenharmony_ci
1478bf215546Sopenharmony_ci	<!-- CP registers -->
1479bf215546Sopenharmony_ci	<reg32 offset="0x0228" name="CP_SCRATCH_UMASK"/>
1480bf215546Sopenharmony_ci	<reg32 offset="0x0229" name="CP_SCRATCH_ADDR"/>
1481bf215546Sopenharmony_ci	<reg32 offset="0x0200" name="CP_RB_BASE"/>
1482bf215546Sopenharmony_ci	<reg32 offset="0x0201" name="CP_RB_CNTL"/>
1483bf215546Sopenharmony_ci	<reg32 offset="0x0205" name="CP_RB_WPTR"/>
1484bf215546Sopenharmony_ci	<reg32 offset="0x0203" name="CP_RB_RPTR_ADDR"/>
1485bf215546Sopenharmony_ci	<reg32 offset="0x0204" name="CP_RB_RPTR"/>
1486bf215546Sopenharmony_ci	<reg32 offset="0x0206" name="CP_IB1_BASE"/>
1487bf215546Sopenharmony_ci	<reg32 offset="0x0207" name="CP_IB1_BUFSZ"/>
1488bf215546Sopenharmony_ci	<reg32 offset="0x0208" name="CP_IB2_BASE"/>
1489bf215546Sopenharmony_ci	<reg32 offset="0x0209" name="CP_IB2_BUFSZ"/>
1490bf215546Sopenharmony_ci	<reg32 offset="0x020c" name="CP_ME_NRT_ADDR"/>
1491bf215546Sopenharmony_ci	<reg32 offset="0x020d" name="CP_ME_NRT_DATA"/>
1492bf215546Sopenharmony_ci	<reg32 offset="0x0217" name="CP_ME_RB_DONE_DATA"/>
1493bf215546Sopenharmony_ci	<reg32 offset="0x0219" name="CP_QUEUE_THRESH2"/>
1494bf215546Sopenharmony_ci	<reg32 offset="0x021b" name="CP_MERCIU_SIZE"/>
1495bf215546Sopenharmony_ci	<reg32 offset="0x021c" name="CP_ROQ_ADDR"/>
1496bf215546Sopenharmony_ci	<reg32 offset="0x021d" name="CP_ROQ_DATA"/>
1497bf215546Sopenharmony_ci	<reg32 offset="0x021e" name="CP_MEQ_ADDR"/>
1498bf215546Sopenharmony_ci	<reg32 offset="0x021f" name="CP_MEQ_DATA"/>
1499bf215546Sopenharmony_ci	<reg32 offset="0x0220" name="CP_MERCIU_ADDR"/>
1500bf215546Sopenharmony_ci	<reg32 offset="0x0221" name="CP_MERCIU_DATA"/>
1501bf215546Sopenharmony_ci	<reg32 offset="0x0222" name="CP_MERCIU_DATA2"/>
1502bf215546Sopenharmony_ci	<reg32 offset="0x0223" name="CP_PFP_UCODE_ADDR"/>
1503bf215546Sopenharmony_ci	<reg32 offset="0x0224" name="CP_PFP_UCODE_DATA"/>
1504bf215546Sopenharmony_ci	<reg32 offset="0x0225" name="CP_ME_RAM_WADDR"/>
1505bf215546Sopenharmony_ci	<reg32 offset="0x0226" name="CP_ME_RAM_RADDR"/>
1506bf215546Sopenharmony_ci	<reg32 offset="0x0227" name="CP_ME_RAM_DATA"/>
1507bf215546Sopenharmony_ci	<reg32 offset="0x022a" name="CP_PREEMPT"/>
1508bf215546Sopenharmony_ci	<reg32 offset="0x022c" name="CP_CNTL"/>
1509bf215546Sopenharmony_ci	<reg32 offset="0x022d" name="CP_ME_CNTL"/>
1510bf215546Sopenharmony_ci	<reg32 offset="0x022e" name="CP_DEBUG"/>
1511bf215546Sopenharmony_ci	<reg32 offset="0x0231" name="CP_DEBUG_ECO_CONTROL"/>
1512bf215546Sopenharmony_ci	<reg32 offset="0x0232" name="CP_DRAW_STATE_ADDR"/>
1513bf215546Sopenharmony_ci	<array offset="0x0240" name="CP_PROTECT" stride="1" length="16">
1514bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG" type="adreno_cp_protect"/>
1515bf215546Sopenharmony_ci	</array>
1516bf215546Sopenharmony_ci	<reg32 offset="0x0250" name="CP_PROTECT_CTRL"/>
1517bf215546Sopenharmony_ci	<reg32 offset="0x04c0" name="CP_ST_BASE"/>
1518bf215546Sopenharmony_ci	<reg32 offset="0x04ce" name="CP_STQ_AVAIL"/>
1519bf215546Sopenharmony_ci	<reg32 offset="0x04d0" name="CP_MERCIU_STAT"/>
1520bf215546Sopenharmony_ci	<reg32 offset="0x04d2" name="CP_WFI_PEND_CTR"/>
1521bf215546Sopenharmony_ci	<reg32 offset="0x04d8" name="CP_HW_FAULT"/>
1522bf215546Sopenharmony_ci	<reg32 offset="0x04da" name="CP_PROTECT_STATUS"/>
1523bf215546Sopenharmony_ci	<reg32 offset="0x04dd" name="CP_EVENTS_IN_FLIGHT"/>
1524bf215546Sopenharmony_ci	<reg32 offset="0x0500" name="CP_PERFCTR_CP_SEL_0" type="a4xx_cp_perfcounter_select"/>
1525bf215546Sopenharmony_ci	<reg32 offset="0x0501" name="CP_PERFCTR_CP_SEL_1" type="a4xx_cp_perfcounter_select"/>
1526bf215546Sopenharmony_ci	<reg32 offset="0x0502" name="CP_PERFCTR_CP_SEL_2" type="a4xx_cp_perfcounter_select"/>
1527bf215546Sopenharmony_ci	<reg32 offset="0x0503" name="CP_PERFCTR_CP_SEL_3" type="a4xx_cp_perfcounter_select"/>
1528bf215546Sopenharmony_ci	<reg32 offset="0x0504" name="CP_PERFCTR_CP_SEL_4" type="a4xx_cp_perfcounter_select"/>
1529bf215546Sopenharmony_ci	<reg32 offset="0x0505" name="CP_PERFCTR_CP_SEL_5" type="a4xx_cp_perfcounter_select"/>
1530bf215546Sopenharmony_ci	<reg32 offset="0x0506" name="CP_PERFCTR_CP_SEL_6" type="a4xx_cp_perfcounter_select"/>
1531bf215546Sopenharmony_ci	<reg32 offset="0x0507" name="CP_PERFCTR_CP_SEL_7" type="a4xx_cp_perfcounter_select"/>
1532bf215546Sopenharmony_ci	<reg32 offset="0x050b" name="CP_PERFCOMBINER_SELECT"/>
1533bf215546Sopenharmony_ci	<array offset="0x0578" name="CP_SCRATCH" stride="1" length="23">
1534bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1535bf215546Sopenharmony_ci	</array>
1536bf215546Sopenharmony_ci
1537bf215546Sopenharmony_ci
1538bf215546Sopenharmony_ci	<!-- SP registers -->
1539bf215546Sopenharmony_ci	<reg32 offset="0x0ec0" name="SP_VS_STATUS"/>
1540bf215546Sopenharmony_ci	<reg32 offset="0x0ec3" name="SP_MODE_CONTROL"/>
1541bf215546Sopenharmony_ci
1542bf215546Sopenharmony_ci	<reg32 offset="0x0ec4" name="SP_PERFCTR_SP_SEL_0" type="a4xx_sp_perfcounter_select"/>
1543bf215546Sopenharmony_ci	<reg32 offset="0x0ec5" name="SP_PERFCTR_SP_SEL_1" type="a4xx_sp_perfcounter_select"/>
1544bf215546Sopenharmony_ci	<reg32 offset="0x0ec6" name="SP_PERFCTR_SP_SEL_2" type="a4xx_sp_perfcounter_select"/>
1545bf215546Sopenharmony_ci	<reg32 offset="0x0ec7" name="SP_PERFCTR_SP_SEL_3" type="a4xx_sp_perfcounter_select"/>
1546bf215546Sopenharmony_ci	<reg32 offset="0x0ec8" name="SP_PERFCTR_SP_SEL_4" type="a4xx_sp_perfcounter_select"/>
1547bf215546Sopenharmony_ci	<reg32 offset="0x0ec9" name="SP_PERFCTR_SP_SEL_5" type="a4xx_sp_perfcounter_select"/>
1548bf215546Sopenharmony_ci	<reg32 offset="0x0eca" name="SP_PERFCTR_SP_SEL_6" type="a4xx_sp_perfcounter_select"/>
1549bf215546Sopenharmony_ci	<reg32 offset="0x0ecb" name="SP_PERFCTR_SP_SEL_7" type="a4xx_sp_perfcounter_select"/>
1550bf215546Sopenharmony_ci	<reg32 offset="0x0ecc" name="SP_PERFCTR_SP_SEL_8" type="a4xx_sp_perfcounter_select"/>
1551bf215546Sopenharmony_ci	<reg32 offset="0x0ecd" name="SP_PERFCTR_SP_SEL_9" type="a4xx_sp_perfcounter_select"/>
1552bf215546Sopenharmony_ci	<reg32 offset="0x0ece" name="SP_PERFCTR_SP_SEL_10" type="a4xx_sp_perfcounter_select"/>
1553bf215546Sopenharmony_ci	<reg32 offset="0x0ecf" name="SP_PERFCTR_SP_SEL_11" type="a4xx_sp_perfcounter_select"/>
1554bf215546Sopenharmony_ci
1555bf215546Sopenharmony_ci	<reg32 offset="0x22c0" name="SP_SP_CTRL_REG">
1556bf215546Sopenharmony_ci		<bitfield name="BINNING_PASS" pos="19" type="boolean"/>
1557bf215546Sopenharmony_ci	</reg32>
1558bf215546Sopenharmony_ci	<reg32 offset="0x22c1" name="SP_INSTR_CACHE_CTRL">
1559bf215546Sopenharmony_ci		<!-- set when VS in buffer mode: -->
1560bf215546Sopenharmony_ci		<bitfield name="VS_BUFFER" pos="7" type="boolean"/>
1561bf215546Sopenharmony_ci		<!-- set when FS in buffer mode: -->
1562bf215546Sopenharmony_ci		<bitfield name="FS_BUFFER" pos="8" type="boolean"/>
1563bf215546Sopenharmony_ci		<!-- set when both VS or FS in buffer mode: -->
1564bf215546Sopenharmony_ci		<bitfield name="INSTR_BUFFER" pos="10" type="boolean"/>
1565bf215546Sopenharmony_ci		<!-- TODO other bits probably matter when other stages active? -->
1566bf215546Sopenharmony_ci	</reg32>
1567bf215546Sopenharmony_ci
1568bf215546Sopenharmony_ci	<bitset name="a4xx_sp_vs_fs_ctrl_reg0" inline="yes">
1569bf215546Sopenharmony_ci		<!--
1570bf215546Sopenharmony_ci			NOTE that SP_{VS,FS}_CTRL_REG1 are different, but so far REG0
1571bf215546Sopenharmony_ci			appears to be the same..
1572bf215546Sopenharmony_ci		-->
1573bf215546Sopenharmony_ci		<bitfield name="THREADMODE" pos="0" type="a3xx_threadmode"/>
1574bf215546Sopenharmony_ci		<!-- VARYING bit only for FS.. think it controls emitting (ei) flag? -->
1575bf215546Sopenharmony_ci		<bitfield name="VARYING" pos="1" type="boolean"/>
1576bf215546Sopenharmony_ci		<!-- maybe CACHEINVALID is two bits?? -->
1577bf215546Sopenharmony_ci		<bitfield name="CACHEINVALID" pos="2" type="boolean"/>
1578bf215546Sopenharmony_ci		<doc>
1579bf215546Sopenharmony_ci			The full/half register footprint is in units of four components,
1580bf215546Sopenharmony_ci			so if r0.x is used, that counts as all of r0.[xyzw] as used.
1581bf215546Sopenharmony_ci			There are separate full/half register footprint values as the
1582bf215546Sopenharmony_ci			full and half registers are independent (not overlapping).
1583bf215546Sopenharmony_ci			Presumably the thread scheduler hardware allocates the full/half
1584bf215546Sopenharmony_ci			register names from the actual physical register file and
1585bf215546Sopenharmony_ci			handles the register renaming.
1586bf215546Sopenharmony_ci		</doc>
1587bf215546Sopenharmony_ci		<bitfield name="HALFREGFOOTPRINT" low="4" high="9" type="uint"/>
1588bf215546Sopenharmony_ci		<bitfield name="FULLREGFOOTPRINT" low="10" high="15" type="uint"/>
1589bf215546Sopenharmony_ci		<!-- maybe INOUTREGOVERLAP is a bitflag? -->
1590bf215546Sopenharmony_ci		<bitfield name="INOUTREGOVERLAP" low="18" high="19" type="uint"/>
1591bf215546Sopenharmony_ci		<bitfield name="THREADSIZE" pos="20" type="a3xx_threadsize"/>
1592bf215546Sopenharmony_ci		<bitfield name="SUPERTHREADMODE" pos="21" type="boolean"/>
1593bf215546Sopenharmony_ci		<bitfield name="PIXLODENABLE" pos="22" type="boolean"/>
1594bf215546Sopenharmony_ci	</bitset>
1595bf215546Sopenharmony_ci
1596bf215546Sopenharmony_ci	<reg32 offset="0x22c4" name="SP_VS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/>
1597bf215546Sopenharmony_ci	<reg32 offset="0x22c5" name="SP_VS_CTRL_REG1">
1598bf215546Sopenharmony_ci		<bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/>
1599bf215546Sopenharmony_ci		<bitfield name="INITIALOUTSTANDING" low="24" high="30" type="uint"/>
1600bf215546Sopenharmony_ci	</reg32>
1601bf215546Sopenharmony_ci	<reg32 offset="0x22c6" name="SP_VS_PARAM_REG">
1602bf215546Sopenharmony_ci		<bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/>
1603bf215546Sopenharmony_ci		<bitfield name="PSIZEREGID" low="8" high="15" type="a3xx_regid"/>
1604bf215546Sopenharmony_ci		<bitfield name="TOTALVSOUTVAR" low="20" high="31" type="uint"/>
1605bf215546Sopenharmony_ci	</reg32>
1606bf215546Sopenharmony_ci	<array offset="0x22c7" name="SP_VS_OUT" stride="1" length="16">
1607bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1608bf215546Sopenharmony_ci			<bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/>
1609bf215546Sopenharmony_ci			<bitfield name="A_COMPMASK" low="9" high="12" type="hex"/>
1610bf215546Sopenharmony_ci			<bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/>
1611bf215546Sopenharmony_ci			<bitfield name="B_COMPMASK" low="25" high="28" type="hex"/>
1612bf215546Sopenharmony_ci		</reg32>
1613bf215546Sopenharmony_ci	</array>
1614bf215546Sopenharmony_ci	<array offset="0x22d8" name="SP_VS_VPC_DST" stride="1" length="8">
1615bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1616bf215546Sopenharmony_ci			<doc>
1617bf215546Sopenharmony_ci				These seem to be offsets for storage of the varyings.
1618bf215546Sopenharmony_ci				Always seems to start from 8, possibly loc 0 and 4
1619bf215546Sopenharmony_ci				are for gl_Position and gl_PointSize?
1620bf215546Sopenharmony_ci			</doc>
1621bf215546Sopenharmony_ci			<bitfield name="OUTLOC0" low="0" high="7" type="uint"/>
1622bf215546Sopenharmony_ci			<bitfield name="OUTLOC1" low="8" high="15" type="uint"/>
1623bf215546Sopenharmony_ci			<bitfield name="OUTLOC2" low="16" high="23" type="uint"/>
1624bf215546Sopenharmony_ci			<bitfield name="OUTLOC3" low="24" high="31" type="uint"/>
1625bf215546Sopenharmony_ci		</reg32>
1626bf215546Sopenharmony_ci	</array>
1627bf215546Sopenharmony_ci
1628bf215546Sopenharmony_ci	<reg32 offset="0x22e0" name="SP_VS_OBJ_OFFSET_REG">
1629bf215546Sopenharmony_ci		<!-- always 00000000: -->
1630bf215546Sopenharmony_ci		<doc>
1631bf215546Sopenharmony_ci			From register spec:
1632bf215546Sopenharmony_ci			SP_FS_OBJ_OFFSET_REG.CONSTOBJECTSTARTOFFSET [16:24]: Constant object
1633bf215546Sopenharmony_ci			start offset in on chip RAM,
1634bf215546Sopenharmony_ci			128bit aligned
1635bf215546Sopenharmony_ci		</doc>
1636bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/>
1637bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/>
1638bf215546Sopenharmony_ci	</reg32>
1639bf215546Sopenharmony_ci	<reg32 offset="0x22e1" name="SP_VS_OBJ_START"/>
1640bf215546Sopenharmony_ci	<reg32 offset="0x22e2" name="SP_VS_PVT_MEM_PARAM"/>
1641bf215546Sopenharmony_ci	<reg32 offset="0x22e3" name="SP_VS_PVT_MEM_ADDR"/>
1642bf215546Sopenharmony_ci	<reg32 offset="0x22e5" name="SP_VS_LENGTH_REG" type="uint"/>
1643bf215546Sopenharmony_ci	<reg32 offset="0x22e8" name="SP_FS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/>
1644bf215546Sopenharmony_ci	<reg32 offset="0x22e9" name="SP_FS_CTRL_REG1">
1645bf215546Sopenharmony_ci		<bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/>
1646bf215546Sopenharmony_ci		<bitfield name="FACENESS" pos="19" type="boolean"/>
1647bf215546Sopenharmony_ci		<bitfield name="VARYING" pos="20" type="boolean"/>
1648bf215546Sopenharmony_ci		<bitfield name="FRAGCOORD" pos="21" type="boolean"/>
1649bf215546Sopenharmony_ci	</reg32>
1650bf215546Sopenharmony_ci	<reg32 offset="0x22ea" name="SP_FS_OBJ_OFFSET_REG">
1651bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/>
1652bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/>
1653bf215546Sopenharmony_ci	</reg32>
1654bf215546Sopenharmony_ci	<reg32 offset="0x22eb" name="SP_FS_OBJ_START"/>
1655bf215546Sopenharmony_ci	<reg32 offset="0x22ec" name="SP_FS_PVT_MEM_PARAM"/>
1656bf215546Sopenharmony_ci	<reg32 offset="0x22ed" name="SP_FS_PVT_MEM_ADDR"/>
1657bf215546Sopenharmony_ci	<reg32 offset="0x22ef" name="SP_FS_LENGTH_REG" type="uint"/>
1658bf215546Sopenharmony_ci	<reg32 offset="0x22f0" name="SP_FS_OUTPUT_REG">
1659bf215546Sopenharmony_ci		<bitfield name="MRT" low="0" high="3" type="uint"/>
1660bf215546Sopenharmony_ci		<bitfield name="DEPTH_ENABLE" pos="7" type="boolean"/>
1661bf215546Sopenharmony_ci		<!-- TODO double check.. for now assume same as a3xx -->
1662bf215546Sopenharmony_ci		<bitfield name="DEPTH_REGID" low="8" high="15" type="a3xx_regid"/>
1663bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK_REGID" low="24" high="31" type="a3xx_regid"/>
1664bf215546Sopenharmony_ci	</reg32>
1665bf215546Sopenharmony_ci	<array offset="0x22f1" name="SP_FS_MRT" stride="1" length="8">
1666bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1667bf215546Sopenharmony_ci			<bitfield name="REGID" low="0" high="7" type="a3xx_regid"/>
1668bf215546Sopenharmony_ci			<bitfield name="HALF_PRECISION" pos="8" type="boolean"/>
1669bf215546Sopenharmony_ci			<bitfield name="COLOR_SINT" pos="10" type="boolean"/>
1670bf215546Sopenharmony_ci			<bitfield name="COLOR_UINT" pos="11" type="boolean"/>
1671bf215546Sopenharmony_ci			<bitfield name="MRTFORMAT" low="12" high="17" type="a4xx_color_fmt"/>
1672bf215546Sopenharmony_ci			<bitfield name="COLOR_SRGB" pos="18" type="boolean"/>
1673bf215546Sopenharmony_ci		</reg32>
1674bf215546Sopenharmony_ci	</array>
1675bf215546Sopenharmony_ci	<reg32 offset="0x2300" name="SP_CS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/>
1676bf215546Sopenharmony_ci	<reg32 offset="0x2301" name="SP_CS_OBJ_OFFSET_REG"/>
1677bf215546Sopenharmony_ci	<reg32 offset="0x2302" name="SP_CS_OBJ_START"/>
1678bf215546Sopenharmony_ci	<reg32 offset="0x2303" name="SP_CS_PVT_MEM_PARAM"/>
1679bf215546Sopenharmony_ci	<reg32 offset="0x2304" name="SP_CS_PVT_MEM_ADDR"/>
1680bf215546Sopenharmony_ci	<reg32 offset="0x2305" name="SP_CS_PVT_MEM_SIZE"/>
1681bf215546Sopenharmony_ci	<reg32 offset="0x2306" name="SP_CS_LENGTH_REG" type="uint"/>
1682bf215546Sopenharmony_ci	<reg32 offset="0x230d" name="SP_HS_OBJ_OFFSET_REG">
1683bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/>
1684bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/>
1685bf215546Sopenharmony_ci	</reg32>
1686bf215546Sopenharmony_ci	<reg32 offset="0x230e" name="SP_HS_OBJ_START"/>
1687bf215546Sopenharmony_ci	<reg32 offset="0x230f" name="SP_HS_PVT_MEM_PARAM"/>
1688bf215546Sopenharmony_ci	<reg32 offset="0x2310" name="SP_HS_PVT_MEM_ADDR"/>
1689bf215546Sopenharmony_ci	<reg32 offset="0x2312" name="SP_HS_LENGTH_REG" type="uint"/>
1690bf215546Sopenharmony_ci
1691bf215546Sopenharmony_ci	<reg32 offset="0x231a" name="SP_DS_PARAM_REG">
1692bf215546Sopenharmony_ci		<bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/>
1693bf215546Sopenharmony_ci		<bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/>
1694bf215546Sopenharmony_ci	</reg32>
1695bf215546Sopenharmony_ci	<array offset="0x231b" name="SP_DS_OUT" stride="1" length="16">
1696bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1697bf215546Sopenharmony_ci			<bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/>
1698bf215546Sopenharmony_ci			<bitfield name="A_COMPMASK" low="9" high="12" type="hex"/>
1699bf215546Sopenharmony_ci			<bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/>
1700bf215546Sopenharmony_ci			<bitfield name="B_COMPMASK" low="25" high="28" type="hex"/>
1701bf215546Sopenharmony_ci		</reg32>
1702bf215546Sopenharmony_ci	</array>
1703bf215546Sopenharmony_ci	<array offset="0x232c" name="SP_DS_VPC_DST" stride="1" length="8">
1704bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1705bf215546Sopenharmony_ci			<doc>
1706bf215546Sopenharmony_ci				These seem to be offsets for storage of the varyings.
1707bf215546Sopenharmony_ci				Always seems to start from 8, possibly loc 0 and 4
1708bf215546Sopenharmony_ci				are for gl_Position and gl_PointSize?
1709bf215546Sopenharmony_ci			</doc>
1710bf215546Sopenharmony_ci			<bitfield name="OUTLOC0" low="0" high="7" type="uint"/>
1711bf215546Sopenharmony_ci			<bitfield name="OUTLOC1" low="8" high="15" type="uint"/>
1712bf215546Sopenharmony_ci			<bitfield name="OUTLOC2" low="16" high="23" type="uint"/>
1713bf215546Sopenharmony_ci			<bitfield name="OUTLOC3" low="24" high="31" type="uint"/>
1714bf215546Sopenharmony_ci		</reg32>
1715bf215546Sopenharmony_ci	</array>
1716bf215546Sopenharmony_ci	<reg32 offset="0x2334" name="SP_DS_OBJ_OFFSET_REG">
1717bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/>
1718bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/>
1719bf215546Sopenharmony_ci	</reg32>
1720bf215546Sopenharmony_ci	<reg32 offset="0x2335" name="SP_DS_OBJ_START"/>
1721bf215546Sopenharmony_ci	<reg32 offset="0x2336" name="SP_DS_PVT_MEM_PARAM"/>
1722bf215546Sopenharmony_ci	<reg32 offset="0x2337" name="SP_DS_PVT_MEM_ADDR"/>
1723bf215546Sopenharmony_ci	<reg32 offset="0x2339" name="SP_DS_LENGTH_REG" type="uint"/>
1724bf215546Sopenharmony_ci
1725bf215546Sopenharmony_ci	<reg32 offset="0x2341" name="SP_GS_PARAM_REG">
1726bf215546Sopenharmony_ci		<bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/>
1727bf215546Sopenharmony_ci		<bitfield name="PRIMREGID" low="8" high="15" type="a3xx_regid"/>
1728bf215546Sopenharmony_ci		<bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/>
1729bf215546Sopenharmony_ci	</reg32>
1730bf215546Sopenharmony_ci	<array offset="0x2342" name="SP_GS_OUT" stride="1" length="16">
1731bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1732bf215546Sopenharmony_ci			<bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/>
1733bf215546Sopenharmony_ci			<bitfield name="A_COMPMASK" low="9" high="12" type="hex"/>
1734bf215546Sopenharmony_ci			<bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/>
1735bf215546Sopenharmony_ci			<bitfield name="B_COMPMASK" low="25" high="28" type="hex"/>
1736bf215546Sopenharmony_ci		</reg32>
1737bf215546Sopenharmony_ci	</array>
1738bf215546Sopenharmony_ci	<array offset="0x2353" name="SP_GS_VPC_DST" stride="1" length="8">
1739bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1740bf215546Sopenharmony_ci			<doc>
1741bf215546Sopenharmony_ci				These seem to be offsets for storage of the varyings.
1742bf215546Sopenharmony_ci				Always seems to start from 8, possibly loc 0 and 4
1743bf215546Sopenharmony_ci				are for gl_Position and gl_PointSize?
1744bf215546Sopenharmony_ci			</doc>
1745bf215546Sopenharmony_ci			<bitfield name="OUTLOC0" low="0" high="7" type="uint"/>
1746bf215546Sopenharmony_ci			<bitfield name="OUTLOC1" low="8" high="15" type="uint"/>
1747bf215546Sopenharmony_ci			<bitfield name="OUTLOC2" low="16" high="23" type="uint"/>
1748bf215546Sopenharmony_ci			<bitfield name="OUTLOC3" low="24" high="31" type="uint"/>
1749bf215546Sopenharmony_ci		</reg32>
1750bf215546Sopenharmony_ci	</array>
1751bf215546Sopenharmony_ci	<reg32 offset="0x235b" name="SP_GS_OBJ_OFFSET_REG">
1752bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/>
1753bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/>
1754bf215546Sopenharmony_ci	</reg32>
1755bf215546Sopenharmony_ci	<reg32 offset="0x235c" name="SP_GS_OBJ_START"/>
1756bf215546Sopenharmony_ci	<reg32 offset="0x235d" name="SP_GS_PVT_MEM_PARAM"/>
1757bf215546Sopenharmony_ci	<reg32 offset="0x235e" name="SP_GS_PVT_MEM_ADDR"/>
1758bf215546Sopenharmony_ci	<reg32 offset="0x2360" name="SP_GS_LENGTH_REG" type="uint"/>
1759bf215546Sopenharmony_ci
1760bf215546Sopenharmony_ci	<!-- VPC registers -->
1761bf215546Sopenharmony_ci	<reg32 offset="0x0e60" name="VPC_DEBUG_RAM_SEL"/>
1762bf215546Sopenharmony_ci	<reg32 offset="0x0e61" name="VPC_DEBUG_RAM_READ"/>
1763bf215546Sopenharmony_ci	<reg32 offset="0x0e64" name="VPC_DEBUG_ECO_CONTROL"/>
1764bf215546Sopenharmony_ci	<reg32 offset="0x0e65" name="VPC_PERFCTR_VPC_SEL_0" type="a4xx_vpc_perfcounter_select"/>
1765bf215546Sopenharmony_ci	<reg32 offset="0x0e66" name="VPC_PERFCTR_VPC_SEL_1" type="a4xx_vpc_perfcounter_select"/>
1766bf215546Sopenharmony_ci	<reg32 offset="0x0e67" name="VPC_PERFCTR_VPC_SEL_2" type="a4xx_vpc_perfcounter_select"/>
1767bf215546Sopenharmony_ci	<reg32 offset="0x0e68" name="VPC_PERFCTR_VPC_SEL_3" type="a4xx_vpc_perfcounter_select"/>
1768bf215546Sopenharmony_ci	<reg32 offset="0x2140" name="VPC_ATTR">
1769bf215546Sopenharmony_ci		<bitfield name="TOTALATTR" low="0" high="8" type="uint"/>
1770bf215546Sopenharmony_ci		<!-- PSIZE bit set if gl_PointSize written: -->
1771bf215546Sopenharmony_ci		<bitfield name="PSIZE" pos="9" type="boolean"/>
1772bf215546Sopenharmony_ci		<bitfield name="THRDASSIGN" low="12" high="13" type="uint"/>
1773bf215546Sopenharmony_ci		<bitfield name="ENABLE" pos="25" type="boolean"/>
1774bf215546Sopenharmony_ci	</reg32>
1775bf215546Sopenharmony_ci	<reg32 offset="0x2141" name="VPC_PACK">
1776bf215546Sopenharmony_ci		<bitfield name="NUMBYPASSVAR" low="0" high="7" type="uint"/>
1777bf215546Sopenharmony_ci		<bitfield name="NUMFPNONPOSVAR" low="8" high="15" type="uint"/>
1778bf215546Sopenharmony_ci		<bitfield name="NUMNONPOSVSVAR" low="16" high="23" type="uint"/>
1779bf215546Sopenharmony_ci	</reg32>
1780bf215546Sopenharmony_ci	<array offset="0x2142" name="VPC_VARYING_INTERP" stride="1" length="8">
1781bf215546Sopenharmony_ci		<reg32 offset="0x0" name="MODE"/>
1782bf215546Sopenharmony_ci	</array>
1783bf215546Sopenharmony_ci	<array offset="0x214a" name="VPC_VARYING_PS_REPL" stride="1" length="8">
1784bf215546Sopenharmony_ci		<reg32 offset="0x0" name="MODE"/>
1785bf215546Sopenharmony_ci	</array>
1786bf215546Sopenharmony_ci
1787bf215546Sopenharmony_ci	<reg32 offset="0x216e" name="VPC_SO_FLUSH_WADDR_3"/>
1788bf215546Sopenharmony_ci
1789bf215546Sopenharmony_ci	<!-- VSC registers -->
1790bf215546Sopenharmony_ci	<reg32 offset="0x0c00" name="VSC_BIN_SIZE">
1791bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="0" high="4" shr="5" type="uint"/>
1792bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="5" high="9" shr="5" type="uint"/>
1793bf215546Sopenharmony_ci	</reg32>
1794bf215546Sopenharmony_ci	<reg32 offset="0x0c01" name="VSC_SIZE_ADDRESS"/>
1795bf215546Sopenharmony_ci	<reg32 offset="0x0c02" name="VSC_SIZE_ADDRESS2"/>
1796bf215546Sopenharmony_ci	<reg32 offset="0x0c03" name="VSC_DEBUG_ECO_CONTROL"/>
1797bf215546Sopenharmony_ci	<array offset="0x0c08" name="VSC_PIPE_CONFIG" stride="1" length="8">
1798bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG">
1799bf215546Sopenharmony_ci			<doc>
1800bf215546Sopenharmony_ci				Configures the mapping between VSC_PIPE buffer and
1801bf215546Sopenharmony_ci				bin, X/Y specify the bin index in the horiz/vert
1802bf215546Sopenharmony_ci				direction (0,0 is upper left, 0,1 is leftmost bin
1803bf215546Sopenharmony_ci				on second row, and so on).  W/H specify the number
1804bf215546Sopenharmony_ci				of bins assigned to this VSC_PIPE in the horiz/vert
1805bf215546Sopenharmony_ci				dimension.
1806bf215546Sopenharmony_ci			</doc>
1807bf215546Sopenharmony_ci			<bitfield name="X" low="0" high="9" type="uint"/>
1808bf215546Sopenharmony_ci			<bitfield name="Y" low="10" high="19" type="uint"/>
1809bf215546Sopenharmony_ci			<bitfield name="W" low="20" high="23" type="uint"/>
1810bf215546Sopenharmony_ci			<bitfield name="H" low="24" high="27" type="uint"/>
1811bf215546Sopenharmony_ci		</reg32>
1812bf215546Sopenharmony_ci	</array>
1813bf215546Sopenharmony_ci	<array offset="0x0c10" name="VSC_PIPE_DATA_ADDRESS" stride="1" length="8">
1814bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1815bf215546Sopenharmony_ci	</array>
1816bf215546Sopenharmony_ci	<array offset="0x0c18" name="VSC_PIPE_DATA_LENGTH" stride="1" length="8">
1817bf215546Sopenharmony_ci		<reg32 offset="0x0" name="REG"/>
1818bf215546Sopenharmony_ci	</array>
1819bf215546Sopenharmony_ci	<reg32 offset="0x0c41" name="VSC_PIPE_PARTIAL_POSN_1"/>
1820bf215546Sopenharmony_ci	<reg32 offset="0x0c50" name="VSC_PERFCTR_VSC_SEL_0" type="a4xx_vsc_perfcounter_select"/>
1821bf215546Sopenharmony_ci	<reg32 offset="0x0c51" name="VSC_PERFCTR_VSC_SEL_1" type="a4xx_vsc_perfcounter_select"/>
1822bf215546Sopenharmony_ci
1823bf215546Sopenharmony_ci	<!-- VFD registers -->
1824bf215546Sopenharmony_ci	<reg32 offset="0x0e40" name="VFD_DEBUG_CONTROL"/>
1825bf215546Sopenharmony_ci	<reg32 offset="0x0e43" name="VFD_PERFCTR_VFD_SEL_0" type="a4xx_vfd_perfcounter_select"/>
1826bf215546Sopenharmony_ci	<reg32 offset="0x0e44" name="VFD_PERFCTR_VFD_SEL_1" type="a4xx_vfd_perfcounter_select"/>
1827bf215546Sopenharmony_ci	<reg32 offset="0x0e45" name="VFD_PERFCTR_VFD_SEL_2" type="a4xx_vfd_perfcounter_select"/>
1828bf215546Sopenharmony_ci	<reg32 offset="0x0e46" name="VFD_PERFCTR_VFD_SEL_3" type="a4xx_vfd_perfcounter_select"/>
1829bf215546Sopenharmony_ci	<reg32 offset="0x0e47" name="VFD_PERFCTR_VFD_SEL_4" type="a4xx_vfd_perfcounter_select"/>
1830bf215546Sopenharmony_ci	<reg32 offset="0x0e48" name="VFD_PERFCTR_VFD_SEL_5" type="a4xx_vfd_perfcounter_select"/>
1831bf215546Sopenharmony_ci	<reg32 offset="0x0e49" name="VFD_PERFCTR_VFD_SEL_6" type="a4xx_vfd_perfcounter_select"/>
1832bf215546Sopenharmony_ci	<reg32 offset="0x0e4a" name="VFD_PERFCTR_VFD_SEL_7" type="a4xx_vfd_perfcounter_select"/>
1833bf215546Sopenharmony_ci	<reg32 offset="0x21d0" name="VGT_CL_INITIATOR"/>
1834bf215546Sopenharmony_ci	<reg32 offset="0x21d9" name="VGT_EVENT_INITIATOR"/>
1835bf215546Sopenharmony_ci	<reg32 offset="0x2200" name="VFD_CONTROL_0">
1836bf215546Sopenharmony_ci		<doc>
1837bf215546Sopenharmony_ci			TOTALATTRTOVS is # of attributes to vertex shader, in register
1838bf215546Sopenharmony_ci			slots (ie. vec4+vec3 -> 7)
1839bf215546Sopenharmony_ci		</doc>
1840bf215546Sopenharmony_ci		<bitfield name="TOTALATTRTOVS" low="0" high="7" type="uint"/>
1841bf215546Sopenharmony_ci		<doc>
1842bf215546Sopenharmony_ci		BYPASSATTROVS seems to count varyings that are just directly
1843bf215546Sopenharmony_ci		assigned from attributes (ie, "vFoo = aFoo;")
1844bf215546Sopenharmony_ci		</doc>
1845bf215546Sopenharmony_ci		<bitfield name="BYPASSATTROVS" low="9" high="16" type="uint"/>
1846bf215546Sopenharmony_ci		<doc>STRMDECINSTRCNT is # of VFD_DECODE_INSTR registers valid</doc>
1847bf215546Sopenharmony_ci		<bitfield name="STRMDECINSTRCNT" low="20" high="25" type="uint"/>
1848bf215546Sopenharmony_ci		<doc>STRMFETCHINSTRCNT is # of VFD_FETCH_INSTR registers valid</doc>
1849bf215546Sopenharmony_ci		<bitfield name="STRMFETCHINSTRCNT" low="26" high="31" type="uint"/>
1850bf215546Sopenharmony_ci	</reg32>
1851bf215546Sopenharmony_ci	<reg32 offset="0x2201" name="VFD_CONTROL_1">
1852bf215546Sopenharmony_ci		<doc>MAXSTORAGE could be # of attributes/vbo's</doc>
1853bf215546Sopenharmony_ci		<bitfield name="MAXSTORAGE" low="0" high="15" type="uint"/>
1854bf215546Sopenharmony_ci		<bitfield name="REGID4VTX" low="16" high="23" type="a3xx_regid"/>
1855bf215546Sopenharmony_ci		<bitfield name="REGID4INST" low="24" high="31" type="a3xx_regid"/>
1856bf215546Sopenharmony_ci	</reg32>
1857bf215546Sopenharmony_ci	<reg32 offset="0x2202" name="VFD_CONTROL_2"/>
1858bf215546Sopenharmony_ci	<reg32 offset="0x2203" name="VFD_CONTROL_3">
1859bf215546Sopenharmony_ci		<bitfield name="REGID_VTXCNT" low="8" high="15" type="a3xx_regid"/>
1860bf215546Sopenharmony_ci		<bitfield name="REGID_TESSX" low="16" high="23" type="a3xx_regid"/>
1861bf215546Sopenharmony_ci		<bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/>
1862bf215546Sopenharmony_ci	</reg32>
1863bf215546Sopenharmony_ci	<reg32 offset="0x2204" name="VFD_CONTROL_4"/>
1864bf215546Sopenharmony_ci	<reg32 offset="0x2208" name="VFD_INDEX_OFFSET"/>
1865bf215546Sopenharmony_ci	<array offset="0x220a" name="VFD_FETCH" stride="4" length="32">
1866bf215546Sopenharmony_ci		<reg32 offset="0x0" name="INSTR_0">
1867bf215546Sopenharmony_ci			<bitfield name="FETCHSIZE" low="0" high="6" type="uint"/>
1868bf215546Sopenharmony_ci			<bitfield name="BUFSTRIDE" low="7" high="16" type="uint"/>
1869bf215546Sopenharmony_ci			<bitfield name="SWITCHNEXT" pos="19" type="boolean"/>
1870bf215546Sopenharmony_ci			<bitfield name="INSTANCED" pos="20" type="boolean"/>
1871bf215546Sopenharmony_ci		</reg32>
1872bf215546Sopenharmony_ci		<reg32 offset="0x1" name="INSTR_1"/>
1873bf215546Sopenharmony_ci		<reg32 offset="0x2" name="INSTR_2">
1874bf215546Sopenharmony_ci			<bitfield name="SIZE" low="0" high="31"/>
1875bf215546Sopenharmony_ci		</reg32>
1876bf215546Sopenharmony_ci		<reg32 offset="0x3" name="INSTR_3">
1877bf215546Sopenharmony_ci			<!-- might well be bigger.. -->
1878bf215546Sopenharmony_ci			<bitfield name="STEPRATE" low="0" high="8" type="uint"/>
1879bf215546Sopenharmony_ci		</reg32>
1880bf215546Sopenharmony_ci	</array>
1881bf215546Sopenharmony_ci	<array offset="0x228a" name="VFD_DECODE" stride="1" length="32">
1882bf215546Sopenharmony_ci		<reg32 offset="0x0" name="INSTR">
1883bf215546Sopenharmony_ci			<bitfield name="WRITEMASK" low="0" high="3" type="hex"/>
1884bf215546Sopenharmony_ci			<!-- not sure if this is a bit flag and another flag above it, or?? -->
1885bf215546Sopenharmony_ci			<bitfield name="CONSTFILL" pos="4" type="boolean"/>
1886bf215546Sopenharmony_ci			<bitfield name="FORMAT" low="6" high="11" type="a4xx_vtx_fmt"/>
1887bf215546Sopenharmony_ci			<bitfield name="REGID" low="12" high="19" type="a3xx_regid"/>
1888bf215546Sopenharmony_ci			<bitfield name="INT" pos="20" type="boolean"/>
1889bf215546Sopenharmony_ci			<doc>SHIFTCNT appears to be size, ie. FLOAT_32_32_32 is 12, and BYTE_8 is 1</doc>
1890bf215546Sopenharmony_ci			<bitfield name="SWAP" low="22" high="23" type="a3xx_color_swap"/>
1891bf215546Sopenharmony_ci			<bitfield name="SHIFTCNT" low="24" high="28" type="uint"/>
1892bf215546Sopenharmony_ci			<bitfield name="LASTCOMPVALID" pos="29" type="boolean"/>
1893bf215546Sopenharmony_ci			<bitfield name="SWITCHNEXT" pos="30" type="boolean"/>
1894bf215546Sopenharmony_ci		</reg32>
1895bf215546Sopenharmony_ci	</array>
1896bf215546Sopenharmony_ci
1897bf215546Sopenharmony_ci	<!-- TPL1 registers -->
1898bf215546Sopenharmony_ci	<reg32 offset="0x0f00" name="TPL1_DEBUG_ECO_CONTROL"/>
1899bf215546Sopenharmony_ci	<!-- always 0000003a: -->
1900bf215546Sopenharmony_ci	<reg32 offset="0x0f03" name="TPL1_TP_MODE_CONTROL"/>
1901bf215546Sopenharmony_ci	<reg32 offset="0x0f04" name="TPL1_PERFCTR_TP_SEL_0" type="a4xx_tp_perfcounter_select"/>
1902bf215546Sopenharmony_ci	<reg32 offset="0x0f05" name="TPL1_PERFCTR_TP_SEL_1" type="a4xx_tp_perfcounter_select"/>
1903bf215546Sopenharmony_ci	<reg32 offset="0x0f06" name="TPL1_PERFCTR_TP_SEL_2" type="a4xx_tp_perfcounter_select"/>
1904bf215546Sopenharmony_ci	<reg32 offset="0x0f07" name="TPL1_PERFCTR_TP_SEL_3" type="a4xx_tp_perfcounter_select"/>
1905bf215546Sopenharmony_ci	<reg32 offset="0x0f08" name="TPL1_PERFCTR_TP_SEL_4" type="a4xx_tp_perfcounter_select"/>
1906bf215546Sopenharmony_ci	<reg32 offset="0x0f09" name="TPL1_PERFCTR_TP_SEL_5" type="a4xx_tp_perfcounter_select"/>
1907bf215546Sopenharmony_ci	<reg32 offset="0x0f0a" name="TPL1_PERFCTR_TP_SEL_6" type="a4xx_tp_perfcounter_select"/>
1908bf215546Sopenharmony_ci	<reg32 offset="0x0f0b" name="TPL1_PERFCTR_TP_SEL_7" type="a4xx_tp_perfcounter_select"/>
1909bf215546Sopenharmony_ci	<reg32 offset="0x2380" name="TPL1_TP_TEX_OFFSET"/>
1910bf215546Sopenharmony_ci	<reg32 offset="0x2381" name="TPL1_TP_TEX_COUNT">
1911bf215546Sopenharmony_ci		<bitfield name="VS" low="0" high="7" type="uint"/>
1912bf215546Sopenharmony_ci		<bitfield name="HS" low="8" high="15" type="uint"/>
1913bf215546Sopenharmony_ci		<bitfield name="DS" low="16" high="23" type="uint"/>
1914bf215546Sopenharmony_ci		<bitfield name="GS" low="24" high="31" type="uint"/>
1915bf215546Sopenharmony_ci	</reg32>
1916bf215546Sopenharmony_ci	<reg32 offset="0x2384" name="TPL1_TP_VS_BORDER_COLOR_BASE_ADDR"/>
1917bf215546Sopenharmony_ci	<reg32 offset="0x2387" name="TPL1_TP_HS_BORDER_COLOR_BASE_ADDR"/>
1918bf215546Sopenharmony_ci	<reg32 offset="0x238a" name="TPL1_TP_DS_BORDER_COLOR_BASE_ADDR"/>
1919bf215546Sopenharmony_ci	<reg32 offset="0x238d" name="TPL1_TP_GS_BORDER_COLOR_BASE_ADDR"/>
1920bf215546Sopenharmony_ci	<reg32 offset="0x23a0" name="TPL1_TP_FS_TEX_COUNT">
1921bf215546Sopenharmony_ci		<bitfield name="FS" low="0" high="7" type="uint"/>
1922bf215546Sopenharmony_ci		<bitfield name="CS" low="8" high="15" type="uint"/>
1923bf215546Sopenharmony_ci	</reg32>
1924bf215546Sopenharmony_ci	<reg32 offset="0x23a1" name="TPL1_TP_FS_BORDER_COLOR_BASE_ADDR"/>
1925bf215546Sopenharmony_ci	<reg32 offset="0x23a4" name="TPL1_TP_CS_BORDER_COLOR_BASE_ADDR"/>
1926bf215546Sopenharmony_ci	<reg32 offset="0x23a5" name="TPL1_TP_CS_SAMPLER_BASE_ADDR"/>
1927bf215546Sopenharmony_ci	<reg32 offset="0x23a6" name="TPL1_TP_CS_TEXMEMOBJ_BASE_ADDR"/>
1928bf215546Sopenharmony_ci
1929bf215546Sopenharmony_ci	<!-- GRAS registers -->
1930bf215546Sopenharmony_ci	<reg32 offset="0x0c80" name="GRAS_TSE_STATUS"/>
1931bf215546Sopenharmony_ci	<reg32 offset="0x0c81" name="GRAS_DEBUG_ECO_CONTROL"/>
1932bf215546Sopenharmony_ci	<reg32 offset="0x0c88" name="GRAS_PERFCTR_TSE_SEL_0" type="a4xx_gras_tse_perfcounter_select"/>
1933bf215546Sopenharmony_ci	<reg32 offset="0x0c89" name="GRAS_PERFCTR_TSE_SEL_1" type="a4xx_gras_tse_perfcounter_select"/>
1934bf215546Sopenharmony_ci	<reg32 offset="0x0c8a" name="GRAS_PERFCTR_TSE_SEL_2" type="a4xx_gras_tse_perfcounter_select"/>
1935bf215546Sopenharmony_ci	<reg32 offset="0x0c8b" name="GRAS_PERFCTR_TSE_SEL_3" type="a4xx_gras_tse_perfcounter_select"/>
1936bf215546Sopenharmony_ci	<reg32 offset="0x0c8c" name="GRAS_PERFCTR_RAS_SEL_0" type="a4xx_gras_ras_perfcounter_select"/>
1937bf215546Sopenharmony_ci	<reg32 offset="0x0c8d" name="GRAS_PERFCTR_RAS_SEL_1" type="a4xx_gras_ras_perfcounter_select"/>
1938bf215546Sopenharmony_ci	<reg32 offset="0x0c8e" name="GRAS_PERFCTR_RAS_SEL_2" type="a4xx_gras_ras_perfcounter_select"/>
1939bf215546Sopenharmony_ci	<reg32 offset="0x0c8f" name="GRAS_PERFCTR_RAS_SEL_3" type="a4xx_gras_ras_perfcounter_select"/>
1940bf215546Sopenharmony_ci	<reg32 offset="0x2000" name="GRAS_CL_CLIP_CNTL">
1941bf215546Sopenharmony_ci		<bitfield name="CLIP_DISABLE" pos="15" type="boolean"/>
1942bf215546Sopenharmony_ci		<bitfield name="ZNEAR_CLIP_DISABLE" pos="16" type="boolean"/>
1943bf215546Sopenharmony_ci		<bitfield name="ZFAR_CLIP_DISABLE" pos="17" type="boolean"/>
1944bf215546Sopenharmony_ci		<bitfield name="ZERO_GB_SCALE_Z" pos="22" type="boolean"/>
1945bf215546Sopenharmony_ci	</reg32>
1946bf215546Sopenharmony_ci	<reg32 offset="0x2003" name="GRAS_CNTL">
1947bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP" pos="0" type="boolean"/>
1948bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR" pos="1" type="boolean"/>
1949bf215546Sopenharmony_ci	</reg32>
1950bf215546Sopenharmony_ci	<reg32 offset="0x2004" name="GRAS_CL_GB_CLIP_ADJ">
1951bf215546Sopenharmony_ci		<bitfield name="HORZ" low="0" high="9" type="uint"/>
1952bf215546Sopenharmony_ci		<bitfield name="VERT" low="10" high="19" type="uint"/>
1953bf215546Sopenharmony_ci	</reg32>
1954bf215546Sopenharmony_ci	<reg32 offset="0x2008" name="GRAS_CL_VPORT_XOFFSET_0" type="float"/>
1955bf215546Sopenharmony_ci	<reg32 offset="0x2009" name="GRAS_CL_VPORT_XSCALE_0" type="float"/>
1956bf215546Sopenharmony_ci	<reg32 offset="0x200a" name="GRAS_CL_VPORT_YOFFSET_0" type="float"/>
1957bf215546Sopenharmony_ci	<reg32 offset="0x200b" name="GRAS_CL_VPORT_YSCALE_0" type="float"/>
1958bf215546Sopenharmony_ci	<reg32 offset="0x200c" name="GRAS_CL_VPORT_ZOFFSET_0" type="float"/>
1959bf215546Sopenharmony_ci	<reg32 offset="0x200d" name="GRAS_CL_VPORT_ZSCALE_0" type="float"/>
1960bf215546Sopenharmony_ci	<reg32 offset="0x2070" name="GRAS_SU_POINT_MINMAX">
1961bf215546Sopenharmony_ci		<bitfield name="MIN" low="0" high="15" type="ufixed" radix="4"/>
1962bf215546Sopenharmony_ci		<bitfield name="MAX" low="16" high="31" type="ufixed" radix="4"/>
1963bf215546Sopenharmony_ci	</reg32>
1964bf215546Sopenharmony_ci	<reg32 offset="0x2071" name="GRAS_SU_POINT_SIZE" type="fixed" radix="4"/>
1965bf215546Sopenharmony_ci	<reg32 offset="0x2073" name="GRAS_ALPHA_CONTROL">
1966bf215546Sopenharmony_ci		<bitfield name="ALPHA_TEST_ENABLE" pos="2" type="boolean"/>
1967bf215546Sopenharmony_ci		<bitfield name="FORCE_FRAGZ_TO_FS" pos="3" type="boolean"/>
1968bf215546Sopenharmony_ci	</reg32>
1969bf215546Sopenharmony_ci	<reg32 offset="0x2074" name="GRAS_SU_POLY_OFFSET_SCALE" type="float"/>
1970bf215546Sopenharmony_ci	<reg32 offset="0x2075" name="GRAS_SU_POLY_OFFSET_OFFSET" type="float"/>
1971bf215546Sopenharmony_ci	<reg32 offset="0x2076" name="GRAS_SU_POLY_OFFSET_CLAMP" type="float"/>
1972bf215546Sopenharmony_ci	<reg32 offset="0x2077" name="GRAS_DEPTH_CONTROL">
1973bf215546Sopenharmony_ci		<!-- guestimating that this is GRAS based on addr -->
1974bf215546Sopenharmony_ci		<bitfield name="FORMAT" low="0" high="1" type="a4xx_depth_format"/>
1975bf215546Sopenharmony_ci	</reg32>
1976bf215546Sopenharmony_ci	<reg32 offset="0x2078" name="GRAS_SU_MODE_CONTROL">
1977bf215546Sopenharmony_ci		<bitfield name="CULL_FRONT" pos="0" type="boolean"/>
1978bf215546Sopenharmony_ci		<bitfield name="CULL_BACK" pos="1" type="boolean"/>
1979bf215546Sopenharmony_ci		<bitfield name="FRONT_CW" pos="2" type="boolean"/>
1980bf215546Sopenharmony_ci		<bitfield name="LINEHALFWIDTH" low="3" high="10" radix="2" type="fixed"/>
1981bf215546Sopenharmony_ci		<bitfield name="POLY_OFFSET" pos="11" type="boolean"/>
1982bf215546Sopenharmony_ci		<bitfield name="MSAA_ENABLE" pos="13" type="boolean"/>
1983bf215546Sopenharmony_ci		<!-- bit20 set whenever RENDER_MODE = RB_RENDERING_PASS -->
1984bf215546Sopenharmony_ci		<bitfield name="RENDERING_PASS" pos="20" type="boolean"/>
1985bf215546Sopenharmony_ci	</reg32>
1986bf215546Sopenharmony_ci	<reg32 offset="0x207b" name="GRAS_SC_CONTROL">
1987bf215546Sopenharmony_ci		<!-- complete wild-ass-guess for sizes of these bitfields.. -->
1988bf215546Sopenharmony_ci		<bitfield name="RENDER_MODE" low="2" high="3" type="a3xx_render_mode"/>
1989bf215546Sopenharmony_ci		<bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/>
1990bf215546Sopenharmony_ci		<bitfield name="MSAA_DISABLE" pos="11" type="boolean"/>
1991bf215546Sopenharmony_ci		<bitfield name="RASTER_MODE" low="12" high="15"/>
1992bf215546Sopenharmony_ci	</reg32>
1993bf215546Sopenharmony_ci	<reg32 offset="0x207c" name="GRAS_SC_SCREEN_SCISSOR_TL" type="adreno_reg_xy"/>
1994bf215546Sopenharmony_ci	<reg32 offset="0x207d" name="GRAS_SC_SCREEN_SCISSOR_BR" type="adreno_reg_xy"/>
1995bf215546Sopenharmony_ci	<reg32 offset="0x209c" name="GRAS_SC_WINDOW_SCISSOR_BR" type="adreno_reg_xy"/>
1996bf215546Sopenharmony_ci	<reg32 offset="0x209d" name="GRAS_SC_WINDOW_SCISSOR_TL" type="adreno_reg_xy"/>
1997bf215546Sopenharmony_ci	<reg32 offset="0x209e" name="GRAS_SC_EXTENT_WINDOW_BR" type="adreno_reg_xy"/>
1998bf215546Sopenharmony_ci	<reg32 offset="0x209f" name="GRAS_SC_EXTENT_WINDOW_TL" type="adreno_reg_xy"/>
1999bf215546Sopenharmony_ci
2000bf215546Sopenharmony_ci	<!-- UCHE registers -->
2001bf215546Sopenharmony_ci	<reg32 offset="0x0e80" name="UCHE_CACHE_MODE_CONTROL"/>
2002bf215546Sopenharmony_ci	<reg32 offset="0x0e83" name="UCHE_TRAP_BASE_LO"/>
2003bf215546Sopenharmony_ci	<reg32 offset="0x0e84" name="UCHE_TRAP_BASE_HI"/>
2004bf215546Sopenharmony_ci	<reg32 offset="0x0e88" name="UCHE_CACHE_STATUS"/>
2005bf215546Sopenharmony_ci	<reg32 offset="0x0e8a" name="UCHE_INVALIDATE0"/>
2006bf215546Sopenharmony_ci	<reg32 offset="0x0e8b" name="UCHE_INVALIDATE1"/>
2007bf215546Sopenharmony_ci	<reg32 offset="0x0e8c" name="UCHE_CACHE_WAYS_VFD"/>
2008bf215546Sopenharmony_ci	<reg32 offset="0x0e8e" name="UCHE_PERFCTR_UCHE_SEL_0" type="a4xx_uche_perfcounter_select"/>
2009bf215546Sopenharmony_ci	<reg32 offset="0x0e8f" name="UCHE_PERFCTR_UCHE_SEL_1" type="a4xx_uche_perfcounter_select"/>
2010bf215546Sopenharmony_ci	<reg32 offset="0x0e90" name="UCHE_PERFCTR_UCHE_SEL_2" type="a4xx_uche_perfcounter_select"/>
2011bf215546Sopenharmony_ci	<reg32 offset="0x0e91" name="UCHE_PERFCTR_UCHE_SEL_3" type="a4xx_uche_perfcounter_select"/>
2012bf215546Sopenharmony_ci	<reg32 offset="0x0e92" name="UCHE_PERFCTR_UCHE_SEL_4" type="a4xx_uche_perfcounter_select"/>
2013bf215546Sopenharmony_ci	<reg32 offset="0x0e93" name="UCHE_PERFCTR_UCHE_SEL_5" type="a4xx_uche_perfcounter_select"/>
2014bf215546Sopenharmony_ci	<reg32 offset="0x0e94" name="UCHE_PERFCTR_UCHE_SEL_6" type="a4xx_uche_perfcounter_select"/>
2015bf215546Sopenharmony_ci	<reg32 offset="0x0e95" name="UCHE_PERFCTR_UCHE_SEL_7" type="a4xx_uche_perfcounter_select"/>
2016bf215546Sopenharmony_ci
2017bf215546Sopenharmony_ci	<!-- HLSQ registers -->
2018bf215546Sopenharmony_ci	<reg32 offset="0x0e00" name="HLSQ_TIMEOUT_THRESHOLD"/>
2019bf215546Sopenharmony_ci	<reg32 offset="0x0e04" name="HLSQ_DEBUG_ECO_CONTROL"/>
2020bf215546Sopenharmony_ci	<!-- always 00000000: -->
2021bf215546Sopenharmony_ci	<reg32 offset="0x0e05" name="HLSQ_MODE_CONTROL"/>
2022bf215546Sopenharmony_ci	<reg32 offset="0x0e0e" name="HLSQ_PERF_PIPE_MASK"/>
2023bf215546Sopenharmony_ci	<reg32 offset="0x0e06" name="HLSQ_PERFCTR_HLSQ_SEL_0" type="a4xx_hlsq_perfcounter_select"/>
2024bf215546Sopenharmony_ci	<reg32 offset="0x0e07" name="HLSQ_PERFCTR_HLSQ_SEL_1" type="a4xx_hlsq_perfcounter_select"/>
2025bf215546Sopenharmony_ci	<reg32 offset="0x0e08" name="HLSQ_PERFCTR_HLSQ_SEL_2" type="a4xx_hlsq_perfcounter_select"/>
2026bf215546Sopenharmony_ci	<reg32 offset="0x0e09" name="HLSQ_PERFCTR_HLSQ_SEL_3" type="a4xx_hlsq_perfcounter_select"/>
2027bf215546Sopenharmony_ci	<reg32 offset="0x0e0a" name="HLSQ_PERFCTR_HLSQ_SEL_4" type="a4xx_hlsq_perfcounter_select"/>
2028bf215546Sopenharmony_ci	<reg32 offset="0x0e0b" name="HLSQ_PERFCTR_HLSQ_SEL_5" type="a4xx_hlsq_perfcounter_select"/>
2029bf215546Sopenharmony_ci	<reg32 offset="0x0e0c" name="HLSQ_PERFCTR_HLSQ_SEL_6" type="a4xx_hlsq_perfcounter_select"/>
2030bf215546Sopenharmony_ci	<reg32 offset="0x0e0d" name="HLSQ_PERFCTR_HLSQ_SEL_7" type="a4xx_hlsq_perfcounter_select"/>
2031bf215546Sopenharmony_ci	<reg32 offset="0x23c0" name="HLSQ_CONTROL_0_REG">
2032bf215546Sopenharmony_ci		<!-- I guess same as a3xx, but so far only seen 08000050 -->
2033bf215546Sopenharmony_ci		<bitfield name="FSTHREADSIZE" pos="4" type="a3xx_threadsize"/>
2034bf215546Sopenharmony_ci		<bitfield name="FSSUPERTHREADENABLE" pos="6" type="boolean"/>
2035bf215546Sopenharmony_ci		<bitfield name="SPSHADERRESTART" pos="9" type="boolean"/>
2036bf215546Sopenharmony_ci		<bitfield name="RESERVED2" pos="10" type="boolean"/>
2037bf215546Sopenharmony_ci		<bitfield name="CHUNKDISABLE" pos="26" type="boolean"/>
2038bf215546Sopenharmony_ci		<bitfield name="CONSTMODE" pos="27" type="uint"/>
2039bf215546Sopenharmony_ci		<bitfield name="LAZYUPDATEDISABLE" pos="28" type="boolean"/>
2040bf215546Sopenharmony_ci		<bitfield name="SPCONSTFULLUPDATE" pos="29" type="boolean"/>
2041bf215546Sopenharmony_ci		<bitfield name="TPFULLUPDATE" pos="30" type="boolean"/>
2042bf215546Sopenharmony_ci		<bitfield name="SINGLECONTEXT" pos="31" type="boolean"/>
2043bf215546Sopenharmony_ci	</reg32>
2044bf215546Sopenharmony_ci	<reg32 offset="0x23c1" name="HLSQ_CONTROL_1_REG">
2045bf215546Sopenharmony_ci		<bitfield name="VSTHREADSIZE" pos="6" type="a3xx_threadsize"/>
2046bf215546Sopenharmony_ci		<bitfield name="VSSUPERTHREADENABLE" pos="8" type="boolean"/>
2047bf215546Sopenharmony_ci		<bitfield name="RESERVED1" pos="9" type="boolean"/>
2048bf215546Sopenharmony_ci		<bitfield name="COORDREGID" low="16" high="23" type="a3xx_regid"/>
2049bf215546Sopenharmony_ci		<!-- set if gl_FragCoord.[zw] used in frag shader: -->
2050bf215546Sopenharmony_ci		<bitfield name="ZWCOORDREGID" low="24" high="31" type="a3xx_regid"/>
2051bf215546Sopenharmony_ci	</reg32>
2052bf215546Sopenharmony_ci	<reg32 offset="0x23c2" name="HLSQ_CONTROL_2_REG">
2053bf215546Sopenharmony_ci		<bitfield name="PRIMALLOCTHRESHOLD" low="26" high="31" type="uint"/>
2054bf215546Sopenharmony_ci		<bitfield name="FACEREGID" low="2" high="9" type="a3xx_regid"/>
2055bf215546Sopenharmony_ci		<bitfield name="SAMPLEID_REGID" low="10" high="17" type="a3xx_regid"/>
2056bf215546Sopenharmony_ci		<bitfield name="SAMPLEMASK_REGID" low="18" high="25" type="a3xx_regid"/>
2057bf215546Sopenharmony_ci	</reg32>
2058bf215546Sopenharmony_ci	<reg32 offset="0x23c3" name="HLSQ_CONTROL_3_REG">
2059bf215546Sopenharmony_ci		<!-- register loaded with position (bary.f) -->
2060bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_PIXEL" low="0" high="7" type="a3xx_regid"/>
2061bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_PIXEL" low="8" high="15" type="a3xx_regid"/>
2062bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_CENTROID" low="16" high="23" type="a3xx_regid"/>
2063bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_CENTROID" low="24" high="31" type="a3xx_regid"/>
2064bf215546Sopenharmony_ci	</reg32>
2065bf215546Sopenharmony_ci	<!-- 0x23c4 3 regids, lowest one goes to 0 when *not* per-sample shading -->
2066bf215546Sopenharmony_ci	<reg32 offset="0x23c4" name="HLSQ_CONTROL_4_REG">
2067bf215546Sopenharmony_ci		<bitfield name="IJ_PERSP_SAMPLE" low="0" high="7" type="a3xx_regid"/>
2068bf215546Sopenharmony_ci		<bitfield name="IJ_LINEAR_SAMPLE" low="8" high="15" type="a3xx_regid"/>
2069bf215546Sopenharmony_ci	</reg32>
2070bf215546Sopenharmony_ci
2071bf215546Sopenharmony_ci	<bitset name="a4xx_xs_control_reg" inline="yes">
2072bf215546Sopenharmony_ci		<bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/>
2073bf215546Sopenharmony_ci		<bitfield name="CONSTOBJECTOFFSET" low="8" high="14" type="uint"/>
2074bf215546Sopenharmony_ci		<bitfield name="SSBO_ENABLE" pos="15" type="boolean"/>
2075bf215546Sopenharmony_ci		<bitfield name="ENABLED" pos="16" type="boolean"/>
2076bf215546Sopenharmony_ci		<bitfield name="SHADEROBJOFFSET" low="17" high="23" type="uint"/>
2077bf215546Sopenharmony_ci		<bitfield name="INSTRLENGTH" low="24" high="31" type="uint"/>
2078bf215546Sopenharmony_ci	</bitset>
2079bf215546Sopenharmony_ci	<reg32 offset="0x23c5" name="HLSQ_VS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2080bf215546Sopenharmony_ci	<reg32 offset="0x23c6" name="HLSQ_FS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2081bf215546Sopenharmony_ci	<reg32 offset="0x23c7" name="HLSQ_HS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2082bf215546Sopenharmony_ci	<reg32 offset="0x23c8" name="HLSQ_DS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2083bf215546Sopenharmony_ci	<reg32 offset="0x23c9" name="HLSQ_GS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2084bf215546Sopenharmony_ci	<reg32 offset="0x23ca" name="HLSQ_CS_CONTROL_REG" type="a4xx_xs_control_reg"/>
2085bf215546Sopenharmony_ci	<reg32 offset="0x23cd" name="HLSQ_CL_NDRANGE_0">
2086bf215546Sopenharmony_ci		<bitfield name="KERNELDIM" low="0" high="1" type="uint"/>
2087bf215546Sopenharmony_ci		<!-- localsize is value minus one: -->
2088bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEX" low="2" high="11" type="uint"/>
2089bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEY" low="12" high="21" type="uint"/>
2090bf215546Sopenharmony_ci		<bitfield name="LOCALSIZEZ" low="22" high="31" type="uint"/>
2091bf215546Sopenharmony_ci	</reg32>
2092bf215546Sopenharmony_ci	<reg32 offset="0x23ce" name="HLSQ_CL_NDRANGE_1">
2093bf215546Sopenharmony_ci		<bitfield name="SIZE_X" low="0" high="31" type="uint"/>
2094bf215546Sopenharmony_ci	</reg32>
2095bf215546Sopenharmony_ci	<reg32 offset="0x23cf" name="HLSQ_CL_NDRANGE_2"/>
2096bf215546Sopenharmony_ci	<reg32 offset="0x23d0" name="HLSQ_CL_NDRANGE_3">
2097bf215546Sopenharmony_ci		<bitfield name="SIZE_Y" low="0" high="31" type="uint"/>
2098bf215546Sopenharmony_ci	</reg32>
2099bf215546Sopenharmony_ci	<reg32 offset="0x23d1" name="HLSQ_CL_NDRANGE_4"/>
2100bf215546Sopenharmony_ci	<reg32 offset="0x23d2" name="HLSQ_CL_NDRANGE_5">
2101bf215546Sopenharmony_ci		<bitfield name="SIZE_Z" low="0" high="31" type="uint"/>
2102bf215546Sopenharmony_ci	</reg32>
2103bf215546Sopenharmony_ci	<reg32 offset="0x23d3" name="HLSQ_CL_NDRANGE_6"/>
2104bf215546Sopenharmony_ci	<reg32 offset="0x23d4" name="HLSQ_CL_CONTROL_0">
2105bf215546Sopenharmony_ci		<bitfield name="WGIDCONSTID" low="0" high="11" type="a3xx_regid"/>
2106bf215546Sopenharmony_ci		<bitfield name="KERNELDIMCONSTID" low="12" high="23" type="a3xx_regid"/>
2107bf215546Sopenharmony_ci		<bitfield name="LOCALIDREGID" low="24" high="31" type="a3xx_regid"/>
2108bf215546Sopenharmony_ci	</reg32>
2109bf215546Sopenharmony_ci	<reg32 offset="0x23d5" name="HLSQ_CL_CONTROL_1">
2110bf215546Sopenharmony_ci		<!-- GLOBALSIZECONSTID? "kernel size" -->
2111bf215546Sopenharmony_ci		<bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/>
2112bf215546Sopenharmony_ci		<bitfield name="WORKGROUPSIZECONSTID" low="12" high="23" type="a3xx_regid"/>
2113bf215546Sopenharmony_ci	</reg32>
2114bf215546Sopenharmony_ci	<reg32 offset="0x23d6" name="HLSQ_CL_KERNEL_CONST">
2115bf215546Sopenharmony_ci		<!-- GLOBALOFFSETCONSTID -->
2116bf215546Sopenharmony_ci		<bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/>
2117bf215546Sopenharmony_ci		<bitfield name="NUMWGCONSTID" low="12" high="23" type="a3xx_regid"/>
2118bf215546Sopenharmony_ci	</reg32>
2119bf215546Sopenharmony_ci	<reg32 offset="0x23d7" name="HLSQ_CL_KERNEL_GROUP_X"/>
2120bf215546Sopenharmony_ci	<reg32 offset="0x23d8" name="HLSQ_CL_KERNEL_GROUP_Y"/>
2121bf215546Sopenharmony_ci	<reg32 offset="0x23d9" name="HLSQ_CL_KERNEL_GROUP_Z"/>
2122bf215546Sopenharmony_ci	<reg32 offset="0x23da" name="HLSQ_CL_WG_OFFSET">
2123bf215546Sopenharmony_ci		<!-- WGOFFSETCONSTID -->
2124bf215546Sopenharmony_ci		<bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/>
2125bf215546Sopenharmony_ci	</reg32>
2126bf215546Sopenharmony_ci	<reg32 offset="0x23db" name="HLSQ_UPDATE_CONTROL"/>
2127bf215546Sopenharmony_ci
2128bf215546Sopenharmony_ci	<!-- PC registers -->
2129bf215546Sopenharmony_ci	<reg32 offset="0x0d00" name="PC_BINNING_COMMAND">
2130bf215546Sopenharmony_ci		<bitfield name="BINNING_ENABLE" pos="0" type="boolean"/>
2131bf215546Sopenharmony_ci	</reg32>
2132bf215546Sopenharmony_ci	<reg32 offset="0x0d08" name="PC_TESSFACTOR_ADDR"/>
2133bf215546Sopenharmony_ci	<reg32 offset="0x0d0c" name="PC_DRAWCALL_SETUP_OVERRIDE"/>
2134bf215546Sopenharmony_ci	<reg32 offset="0x0d10" name="PC_PERFCTR_PC_SEL_0" type="a4xx_pc_perfcounter_select"/>
2135bf215546Sopenharmony_ci	<reg32 offset="0x0d11" name="PC_PERFCTR_PC_SEL_1" type="a4xx_pc_perfcounter_select"/>
2136bf215546Sopenharmony_ci	<reg32 offset="0x0d12" name="PC_PERFCTR_PC_SEL_2" type="a4xx_pc_perfcounter_select"/>
2137bf215546Sopenharmony_ci	<reg32 offset="0x0d13" name="PC_PERFCTR_PC_SEL_3" type="a4xx_pc_perfcounter_select"/>
2138bf215546Sopenharmony_ci	<reg32 offset="0x0d14" name="PC_PERFCTR_PC_SEL_4" type="a4xx_pc_perfcounter_select"/>
2139bf215546Sopenharmony_ci	<reg32 offset="0x0d15" name="PC_PERFCTR_PC_SEL_5" type="a4xx_pc_perfcounter_select"/>
2140bf215546Sopenharmony_ci	<reg32 offset="0x0d16" name="PC_PERFCTR_PC_SEL_6" type="a4xx_pc_perfcounter_select"/>
2141bf215546Sopenharmony_ci	<reg32 offset="0x0d17" name="PC_PERFCTR_PC_SEL_7" type="a4xx_pc_perfcounter_select"/>
2142bf215546Sopenharmony_ci	<reg32 offset="0x21c0" name="PC_BIN_BASE"/>
2143bf215546Sopenharmony_ci	<reg32 offset="0x21c2" name="PC_VSTREAM_CONTROL">
2144bf215546Sopenharmony_ci		<doc>SIZE is current pipe width * height (in tiles)</doc>
2145bf215546Sopenharmony_ci		<bitfield name="SIZE" low="16" high="21" type="uint"/>
2146bf215546Sopenharmony_ci		<doc>
2147bf215546Sopenharmony_ci			N is some sort of slot # between 0..(SIZE-1).  In case
2148bf215546Sopenharmony_ci			multiple tiles use same pipe, each tile gets unique slot #
2149bf215546Sopenharmony_ci		</doc>
2150bf215546Sopenharmony_ci		<bitfield name="N" low="22" high="26" type="uint"/>
2151bf215546Sopenharmony_ci	</reg32>
2152bf215546Sopenharmony_ci	<reg32 offset="0x21c4" name="PC_PRIM_VTX_CNTL">
2153bf215546Sopenharmony_ci		<!-- bit0 set if there is >= 1 varying (actually used by FS) -->
2154bf215546Sopenharmony_ci		<bitfield name="VAROUT" low="0" high="3" type="uint">
2155bf215546Sopenharmony_ci			<doc>in groups of 4x vec4, blob only uses values
2156bf215546Sopenharmony_ci			0, 1, 2, 4, 6, 8</doc>
2157bf215546Sopenharmony_ci		</bitfield>
2158bf215546Sopenharmony_ci		<bitfield name="PRIMITIVE_RESTART" pos="20" type="boolean"/>
2159bf215546Sopenharmony_ci		<bitfield name="PROVOKING_VTX_LAST" pos="25" type="boolean"/>
2160bf215546Sopenharmony_ci		<!-- PSIZE bit set if gl_PointSize written: -->
2161bf215546Sopenharmony_ci		<bitfield name="PSIZE" pos="26" type="boolean"/>
2162bf215546Sopenharmony_ci	</reg32>
2163bf215546Sopenharmony_ci	<reg32 offset="0x21c5" name="PC_PRIM_VTX_CNTL2">
2164bf215546Sopenharmony_ci		<bitfield name="POLYMODE_FRONT_PTYPE" low="0" high="2" type="adreno_pa_su_sc_draw"/>
2165bf215546Sopenharmony_ci		<bitfield name="POLYMODE_BACK_PTYPE" low="3" high="5" type="adreno_pa_su_sc_draw"/>
2166bf215546Sopenharmony_ci		<bitfield name="POLYMODE_ENABLE" pos="6" type="boolean"/>
2167bf215546Sopenharmony_ci	</reg32>
2168bf215546Sopenharmony_ci	<reg32 offset="0x21c6" name="PC_RESTART_INDEX"/>
2169bf215546Sopenharmony_ci	<reg32 offset="0x21e5" name="PC_GS_PARAM">
2170bf215546Sopenharmony_ci		<bitfield name="MAX_VERTICES" low="0" high="9" type="uint"/><!-- +1, i.e. max is 1024 -->
2171bf215546Sopenharmony_ci		<bitfield name="INVOCATIONS" low="11" high="15" type="uint"/><!-- +1, i.e. max is 32 -->
2172bf215546Sopenharmony_ci		<bitfield name="PRIMTYPE" low="23" high="24" type="adreno_pa_su_sc_draw"/>
2173bf215546Sopenharmony_ci		<bitfield name="LAYER" pos="31" type="boolean"/>
2174bf215546Sopenharmony_ci	</reg32>
2175bf215546Sopenharmony_ci	<reg32 offset="0x21e7" name="PC_HS_PARAM">
2176bf215546Sopenharmony_ci		<bitfield name="VERTICES_OUT" low="0" high="5" type="uint"/>
2177bf215546Sopenharmony_ci		<bitfield name="SPACING" low="21" high="22" type="a4xx_tess_spacing"/>
2178bf215546Sopenharmony_ci		<bitfield name="CW" pos="23" type="boolean"/>
2179bf215546Sopenharmony_ci		<bitfield name="CONNECTED" pos="24" type="boolean"/>
2180bf215546Sopenharmony_ci	</reg32>
2181bf215546Sopenharmony_ci
2182bf215546Sopenharmony_ci	<!-- VBIF registers -->
2183bf215546Sopenharmony_ci	<reg32 offset="0x3000" name="VBIF_VERSION"/>
2184bf215546Sopenharmony_ci	<reg32 offset="0x3001" name="VBIF_CLKON">
2185bf215546Sopenharmony_ci		<bitfield name="FORCE_ON_TESTBUS" pos="0" type="boolean"/>
2186bf215546Sopenharmony_ci	</reg32>
2187bf215546Sopenharmony_ci	<reg32 offset="0x301c" name="VBIF_ABIT_SORT"/>
2188bf215546Sopenharmony_ci	<reg32 offset="0x301d" name="VBIF_ABIT_SORT_CONF"/>
2189bf215546Sopenharmony_ci	<reg32 offset="0x302a" name="VBIF_GATE_OFF_WRREQ_EN"/>
2190bf215546Sopenharmony_ci	<reg32 offset="0x302c" name="VBIF_IN_RD_LIM_CONF0"/>
2191bf215546Sopenharmony_ci	<reg32 offset="0x302d" name="VBIF_IN_RD_LIM_CONF1"/>
2192bf215546Sopenharmony_ci	<reg32 offset="0x3030" name="VBIF_IN_WR_LIM_CONF0"/>
2193bf215546Sopenharmony_ci	<reg32 offset="0x3031" name="VBIF_IN_WR_LIM_CONF1"/>
2194bf215546Sopenharmony_ci	<reg32 offset="0x3049" name="VBIF_ROUND_ROBIN_QOS_ARB"/>
2195bf215546Sopenharmony_ci	<reg32 offset="0x30c0" name="VBIF_PERF_CNT_EN0"/>
2196bf215546Sopenharmony_ci	<reg32 offset="0x30c1" name="VBIF_PERF_CNT_EN1"/>
2197bf215546Sopenharmony_ci	<reg32 offset="0x30c2" name="VBIF_PERF_CNT_EN2"/>
2198bf215546Sopenharmony_ci	<reg32 offset="0x30c3" name="VBIF_PERF_CNT_EN3"/>
2199bf215546Sopenharmony_ci	<reg32 offset="0x30d0" name="VBIF_PERF_CNT_SEL0" type="a4xx_vbif_perfcounter_select"/>
2200bf215546Sopenharmony_ci	<reg32 offset="0x30d1" name="VBIF_PERF_CNT_SEL1" type="a4xx_vbif_perfcounter_select"/>
2201bf215546Sopenharmony_ci	<reg32 offset="0x30d2" name="VBIF_PERF_CNT_SEL2" type="a4xx_vbif_perfcounter_select"/>
2202bf215546Sopenharmony_ci	<reg32 offset="0x30d3" name="VBIF_PERF_CNT_SEL3" type="a4xx_vbif_perfcounter_select"/>
2203bf215546Sopenharmony_ci	<reg32 offset="0x30d8" name="VBIF_PERF_CNT_LOW0"/>
2204bf215546Sopenharmony_ci	<reg32 offset="0x30d9" name="VBIF_PERF_CNT_LOW1"/>
2205bf215546Sopenharmony_ci	<reg32 offset="0x30da" name="VBIF_PERF_CNT_LOW2"/>
2206bf215546Sopenharmony_ci	<reg32 offset="0x30db" name="VBIF_PERF_CNT_LOW3"/>
2207bf215546Sopenharmony_ci	<reg32 offset="0x30e0" name="VBIF_PERF_CNT_HIGH0"/>
2208bf215546Sopenharmony_ci	<reg32 offset="0x30e1" name="VBIF_PERF_CNT_HIGH1"/>
2209bf215546Sopenharmony_ci	<reg32 offset="0x30e2" name="VBIF_PERF_CNT_HIGH2"/>
2210bf215546Sopenharmony_ci	<reg32 offset="0x30e3" name="VBIF_PERF_CNT_HIGH3"/>
2211bf215546Sopenharmony_ci	<reg32 offset="0x3100" name="VBIF_PERF_PWR_CNT_EN0"/>
2212bf215546Sopenharmony_ci	<reg32 offset="0x3101" name="VBIF_PERF_PWR_CNT_EN1"/>
2213bf215546Sopenharmony_ci	<reg32 offset="0x3102" name="VBIF_PERF_PWR_CNT_EN2"/>
2214bf215546Sopenharmony_ci
2215bf215546Sopenharmony_ci	<!--
2216bf215546Sopenharmony_ci	Unknown registers:
2217bf215546Sopenharmony_ci	(mostly related to DX11 features not used yet, I guess?)
2218bf215546Sopenharmony_ci	-->
2219bf215546Sopenharmony_ci
2220bf215546Sopenharmony_ci	<!-- always 00000006: -->
2221bf215546Sopenharmony_ci	<reg32 offset="0x0cc5" name="UNKNOWN_0CC5"/>
2222bf215546Sopenharmony_ci
2223bf215546Sopenharmony_ci	<!-- always 00000000: -->
2224bf215546Sopenharmony_ci	<reg32 offset="0x0cc6" name="UNKNOWN_0CC6"/>
2225bf215546Sopenharmony_ci
2226bf215546Sopenharmony_ci	<!-- always 00000001: -->
2227bf215546Sopenharmony_ci	<reg32 offset="0x0d01" name="UNKNOWN_0D01"/>
2228bf215546Sopenharmony_ci
2229bf215546Sopenharmony_ci	<!-- always 00000000: -->
2230bf215546Sopenharmony_ci	<reg32 offset="0x0e42" name="UNKNOWN_0E42"/>
2231bf215546Sopenharmony_ci
2232bf215546Sopenharmony_ci	<!-- always 00040000: -->
2233bf215546Sopenharmony_ci	<reg32 offset="0x0ec2" name="UNKNOWN_0EC2"/>
2234bf215546Sopenharmony_ci
2235bf215546Sopenharmony_ci	<!-- always 00000000: -->
2236bf215546Sopenharmony_ci	<reg32 offset="0x2001" name="UNKNOWN_2001"/>
2237bf215546Sopenharmony_ci
2238bf215546Sopenharmony_ci	<!-- always 00000000: -->
2239bf215546Sopenharmony_ci	<reg32 offset="0x209b" name="UNKNOWN_209B"/>
2240bf215546Sopenharmony_ci
2241bf215546Sopenharmony_ci	<!-- always 00000000: -->
2242bf215546Sopenharmony_ci	<reg32 offset="0x20ef" name="UNKNOWN_20EF"/>
2243bf215546Sopenharmony_ci
2244bf215546Sopenharmony_ci	<!-- always 00000000: -->
2245bf215546Sopenharmony_ci	<reg32 offset="0x2152" name="UNKNOWN_2152"/>
2246bf215546Sopenharmony_ci
2247bf215546Sopenharmony_ci	<!-- always 00000000: -->
2248bf215546Sopenharmony_ci	<reg32 offset="0x2153" name="UNKNOWN_2153"/>
2249bf215546Sopenharmony_ci
2250bf215546Sopenharmony_ci	<!-- always 00000000: -->
2251bf215546Sopenharmony_ci	<reg32 offset="0x2154" name="UNKNOWN_2154"/>
2252bf215546Sopenharmony_ci
2253bf215546Sopenharmony_ci	<!-- always 00000000: -->
2254bf215546Sopenharmony_ci	<reg32 offset="0x2155" name="UNKNOWN_2155"/>
2255bf215546Sopenharmony_ci
2256bf215546Sopenharmony_ci	<!-- always 00000000: -->
2257bf215546Sopenharmony_ci	<reg32 offset="0x2156" name="UNKNOWN_2156"/>
2258bf215546Sopenharmony_ci
2259bf215546Sopenharmony_ci	<!-- always 00000000: -->
2260bf215546Sopenharmony_ci	<reg32 offset="0x2157" name="UNKNOWN_2157"/>
2261bf215546Sopenharmony_ci
2262bf215546Sopenharmony_ci	<!-- always 0000000b: -->
2263bf215546Sopenharmony_ci	<reg32 offset="0x21c3" name="UNKNOWN_21C3"/>
2264bf215546Sopenharmony_ci
2265bf215546Sopenharmony_ci	<!-- always 00000001: -->
2266bf215546Sopenharmony_ci	<reg32 offset="0x21e6" name="UNKNOWN_21E6"/>
2267bf215546Sopenharmony_ci
2268bf215546Sopenharmony_ci	<!-- always 00000000: -->
2269bf215546Sopenharmony_ci	<reg32 offset="0x2209" name="UNKNOWN_2209"/>
2270bf215546Sopenharmony_ci
2271bf215546Sopenharmony_ci	<!-- always 00000000: -->
2272bf215546Sopenharmony_ci	<reg32 offset="0x22d7" name="UNKNOWN_22D7"/>
2273bf215546Sopenharmony_ci
2274bf215546Sopenharmony_ci        <!-- always 00fcfc00: -->
2275bf215546Sopenharmony_ci        <reg32 offset="0x2352" name="UNKNOWN_2352"/>
2276bf215546Sopenharmony_ci
2277bf215546Sopenharmony_ci</domain>
2278bf215546Sopenharmony_ci
2279bf215546Sopenharmony_ci
2280bf215546Sopenharmony_ci<domain name="A4XX_TEX_SAMP" width="32">
2281bf215546Sopenharmony_ci	<doc>Texture sampler dwords</doc>
2282bf215546Sopenharmony_ci	<enum name="a4xx_tex_filter">
2283bf215546Sopenharmony_ci		<value name="A4XX_TEX_NEAREST" value="0"/>
2284bf215546Sopenharmony_ci		<value name="A4XX_TEX_LINEAR" value="1"/>
2285bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO" value="2"/>
2286bf215546Sopenharmony_ci	</enum>
2287bf215546Sopenharmony_ci	<enum name="a4xx_tex_clamp">
2288bf215546Sopenharmony_ci		<value name="A4XX_TEX_REPEAT" value="0"/>
2289bf215546Sopenharmony_ci		<value name="A4XX_TEX_CLAMP_TO_EDGE" value="1"/>
2290bf215546Sopenharmony_ci		<value name="A4XX_TEX_MIRROR_REPEAT" value="2"/>
2291bf215546Sopenharmony_ci		<value name="A4XX_TEX_CLAMP_TO_BORDER" value="3"/>
2292bf215546Sopenharmony_ci		<value name="A4XX_TEX_MIRROR_CLAMP" value="4"/>
2293bf215546Sopenharmony_ci	</enum>
2294bf215546Sopenharmony_ci	<enum name="a4xx_tex_aniso">
2295bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO_1" value="0"/>
2296bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO_2" value="1"/>
2297bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO_4" value="2"/>
2298bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO_8" value="3"/>
2299bf215546Sopenharmony_ci		<value name="A4XX_TEX_ANISO_16" value="4"/>
2300bf215546Sopenharmony_ci	</enum>
2301bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2302bf215546Sopenharmony_ci		<bitfield name="MIPFILTER_LINEAR_NEAR" pos="0" type="boolean"/>
2303bf215546Sopenharmony_ci		<bitfield name="XY_MAG" low="1" high="2" type="a4xx_tex_filter"/>
2304bf215546Sopenharmony_ci		<bitfield name="XY_MIN" low="3" high="4" type="a4xx_tex_filter"/>
2305bf215546Sopenharmony_ci		<bitfield name="WRAP_S" low="5" high="7" type="a4xx_tex_clamp"/>
2306bf215546Sopenharmony_ci		<bitfield name="WRAP_T" low="8" high="10" type="a4xx_tex_clamp"/>
2307bf215546Sopenharmony_ci		<bitfield name="WRAP_R" low="11" high="13" type="a4xx_tex_clamp"/>
2308bf215546Sopenharmony_ci		<bitfield name="ANISO" low="14" high="16" type="a4xx_tex_aniso"/>
2309bf215546Sopenharmony_ci		<bitfield name="LOD_BIAS" low="19" high="31" type="fixed" radix="8"/><!-- no idea how many bits for real -->
2310bf215546Sopenharmony_ci	</reg32>
2311bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2312bf215546Sopenharmony_ci		<bitfield name="COMPARE_FUNC" low="1" high="3" type="adreno_compare_func"/>
2313bf215546Sopenharmony_ci		<bitfield name="CUBEMAPSEAMLESSFILTOFF" pos="4" type="boolean"/>
2314bf215546Sopenharmony_ci		<bitfield name="UNNORM_COORDS" pos="5" type="boolean"/>
2315bf215546Sopenharmony_ci		<bitfield name="MIPFILTER_LINEAR_FAR" pos="6" type="boolean"/>
2316bf215546Sopenharmony_ci		<bitfield name="MAX_LOD" low="8" high="19" type="ufixed" radix="8"/>
2317bf215546Sopenharmony_ci		<bitfield name="MIN_LOD" low="20" high="31" type="ufixed" radix="8"/>
2318bf215546Sopenharmony_ci	</reg32>
2319bf215546Sopenharmony_ci</domain>
2320bf215546Sopenharmony_ci
2321bf215546Sopenharmony_ci<domain name="A4XX_TEX_CONST" width="32">
2322bf215546Sopenharmony_ci	<doc>Texture constant dwords</doc>
2323bf215546Sopenharmony_ci	<enum name="a4xx_tex_swiz">
2324bf215546Sopenharmony_ci		<!-- same as a2xx? -->
2325bf215546Sopenharmony_ci		<value name="A4XX_TEX_X" value="0"/>
2326bf215546Sopenharmony_ci		<value name="A4XX_TEX_Y" value="1"/>
2327bf215546Sopenharmony_ci		<value name="A4XX_TEX_Z" value="2"/>
2328bf215546Sopenharmony_ci		<value name="A4XX_TEX_W" value="3"/>
2329bf215546Sopenharmony_ci		<value name="A4XX_TEX_ZERO" value="4"/>
2330bf215546Sopenharmony_ci		<value name="A4XX_TEX_ONE" value="5"/>
2331bf215546Sopenharmony_ci	</enum>
2332bf215546Sopenharmony_ci	<enum name="a4xx_tex_type">
2333bf215546Sopenharmony_ci		<value name="A4XX_TEX_1D" value="0"/>
2334bf215546Sopenharmony_ci		<value name="A4XX_TEX_2D" value="1"/>
2335bf215546Sopenharmony_ci		<value name="A4XX_TEX_CUBE" value="2"/>
2336bf215546Sopenharmony_ci		<value name="A4XX_TEX_3D" value="3"/>
2337bf215546Sopenharmony_ci		<value name="A4XX_TEX_BUFFER" value="4"/>
2338bf215546Sopenharmony_ci	</enum>
2339bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2340bf215546Sopenharmony_ci		<bitfield name="TILED" pos="0" type="boolean"/>
2341bf215546Sopenharmony_ci		<bitfield name="SRGB" pos="2" type="boolean"/>
2342bf215546Sopenharmony_ci		<bitfield name="SWIZ_X" low="4" high="6" type="a4xx_tex_swiz"/>
2343bf215546Sopenharmony_ci		<bitfield name="SWIZ_Y" low="7" high="9" type="a4xx_tex_swiz"/>
2344bf215546Sopenharmony_ci		<bitfield name="SWIZ_Z" low="10" high="12" type="a4xx_tex_swiz"/>
2345bf215546Sopenharmony_ci		<bitfield name="SWIZ_W" low="13" high="15" type="a4xx_tex_swiz"/>
2346bf215546Sopenharmony_ci		<bitfield name="MIPLVLS" low="16" high="19" type="uint"/>
2347bf215546Sopenharmony_ci		<bitfield name="FMT" low="22" high="28" type="a4xx_tex_fmt"/>
2348bf215546Sopenharmony_ci		<bitfield name="TYPE" low="29" high="31" type="a4xx_tex_type"/>
2349bf215546Sopenharmony_ci	</reg32>
2350bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2351bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="0" high="14" type="uint"/>
2352bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="15" high="29" type="uint"/>
2353bf215546Sopenharmony_ci	</reg32>
2354bf215546Sopenharmony_ci	<reg32 offset="2" name="2">
2355bf215546Sopenharmony_ci		<!-- minimum pitch (for mipmap levels): log2(pitchalign / 32) -->
2356bf215546Sopenharmony_ci		<bitfield name="PITCHALIGN" low="0" high="3" type="uint"/>
2357bf215546Sopenharmony_ci		<bitfield name="BUFFER" pos="6" type="boolean"/>
2358bf215546Sopenharmony_ci		<doc>Pitch in bytes (so actually stride)</doc>
2359bf215546Sopenharmony_ci		<bitfield name="PITCH" low="9" high="29" type="uint"/>
2360bf215546Sopenharmony_ci		<bitfield name="SWAP" low="30" high="31" type="a3xx_color_swap"/>
2361bf215546Sopenharmony_ci	</reg32>
2362bf215546Sopenharmony_ci	<reg32 offset="3" name="3">
2363bf215546Sopenharmony_ci		<bitfield name="LAYERSZ" low="0" high="13" shr="12" type="uint"/>
2364bf215546Sopenharmony_ci		<bitfield name="DEPTH" low="18" high="30" type="uint"/>
2365bf215546Sopenharmony_ci	</reg32>
2366bf215546Sopenharmony_ci	<reg32 offset="4" name="4">
2367bf215546Sopenharmony_ci		<!--
2368bf215546Sopenharmony_ci		like a3xx we seem to have two LAYERSZ's.. although this one
2369bf215546Sopenharmony_ci		seems too small to be useful, and when it overflows blob just
2370bf215546Sopenharmony_ci		sets it to zero..
2371bf215546Sopenharmony_ci		 -->
2372bf215546Sopenharmony_ci		<bitfield name="LAYERSZ" low="0" high="3" shr="12" type="uint"/>
2373bf215546Sopenharmony_ci		<bitfield name="BASE" low="5" high="31" shr="5"/>
2374bf215546Sopenharmony_ci	</reg32>
2375bf215546Sopenharmony_ci	<reg32 offset="5" name="5"/>
2376bf215546Sopenharmony_ci	<reg32 offset="6" name="6"/>
2377bf215546Sopenharmony_ci	<reg32 offset="7" name="7"/>
2378bf215546Sopenharmony_ci</domain>
2379bf215546Sopenharmony_ci
2380bf215546Sopenharmony_ci<domain name="A4XX_SSBO_0" width="32">
2381bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2382bf215546Sopenharmony_ci		<bitfield name="BASE" low="5" high="31" shr="5"/>
2383bf215546Sopenharmony_ci	</reg32>
2384bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2385bf215546Sopenharmony_ci		<doc>Pitch in bytes (so actually stride)</doc>
2386bf215546Sopenharmony_ci		<bitfield name="PITCH" low="0" high="21" type="uint"/>
2387bf215546Sopenharmony_ci	</reg32>
2388bf215546Sopenharmony_ci	<reg32 offset="2" name="2">
2389bf215546Sopenharmony_ci		<bitfield name="ARRAY_PITCH" low="12" high="25" shr="12" type="uint"/>
2390bf215546Sopenharmony_ci	</reg32>
2391bf215546Sopenharmony_ci	<reg32 offset="3" name="3">
2392bf215546Sopenharmony_ci		<!-- bytes per pixel: -->
2393bf215546Sopenharmony_ci		<bitfield name="CPP" low="0" high="5" type="uint"/>
2394bf215546Sopenharmony_ci	</reg32>
2395bf215546Sopenharmony_ci</domain>
2396bf215546Sopenharmony_ci
2397bf215546Sopenharmony_ci<domain name="A4XX_SSBO_1" width="32">
2398bf215546Sopenharmony_ci	<reg32 offset="0" name="0">
2399bf215546Sopenharmony_ci		<bitfield name="CPP" low="0" high="4" type="uint"/>
2400bf215546Sopenharmony_ci		<bitfield name="FMT" low="8" high="15" type="a4xx_color_fmt"/>
2401bf215546Sopenharmony_ci		<bitfield name="WIDTH" low="16" high="31" type="uint"/>
2402bf215546Sopenharmony_ci	</reg32>
2403bf215546Sopenharmony_ci	<reg32 offset="1" name="1">
2404bf215546Sopenharmony_ci		<bitfield name="HEIGHT" low="0" high="15" type="uint"/>
2405bf215546Sopenharmony_ci		<bitfield name="DEPTH" low="16" high="31" type="uint"/>
2406bf215546Sopenharmony_ci	</reg32>
2407bf215546Sopenharmony_ci</domain>
2408bf215546Sopenharmony_ci
2409bf215546Sopenharmony_ci</database>
2410