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