1*4882a593Smuzhiyun #ifndef STATE_HI_XML 2*4882a593Smuzhiyun #define STATE_HI_XML 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun /* Autogenerated file, DO NOT EDIT manually! 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun This file was generated by the rules-ng-ng headergen tool in this git repository: 7*4882a593Smuzhiyun http://0x04.net/cgit/index.cgi/rules-ng-ng 8*4882a593Smuzhiyun git clone git://0x04.net/rules-ng-ng 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun The rules-ng-ng source files this header was generated from are: 11*4882a593Smuzhiyun - state.xml ( 26666 bytes, from 2019-12-20 21:20:35) 12*4882a593Smuzhiyun - common.xml ( 35468 bytes, from 2018-02-10 13:09:26) 13*4882a593Smuzhiyun - common_3d.xml ( 15058 bytes, from 2019-12-28 20:02:03) 14*4882a593Smuzhiyun - state_hi.xml ( 30552 bytes, from 2019-12-28 20:02:48) 15*4882a593Smuzhiyun - copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) 16*4882a593Smuzhiyun - state_2d.xml ( 51552 bytes, from 2018-02-10 13:09:26) 17*4882a593Smuzhiyun - state_3d.xml ( 83098 bytes, from 2019-12-28 20:02:03) 18*4882a593Smuzhiyun - state_blt.xml ( 14252 bytes, from 2019-10-20 19:59:15) 19*4882a593Smuzhiyun - state_vg.xml ( 5975 bytes, from 2018-02-10 13:09:26) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun Copyright (C) 2012-2019 by the following authors: 22*4882a593Smuzhiyun - Wladimir J. van der Laan <laanwj@gmail.com> 23*4882a593Smuzhiyun - Christian Gmeiner <christian.gmeiner@gmail.com> 24*4882a593Smuzhiyun - Lucas Stach <l.stach@pengutronix.de> 25*4882a593Smuzhiyun - Russell King <rmk@arm.linux.org.uk> 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Permission is hereby granted, free of charge, to any person obtaining a 28*4882a593Smuzhiyun copy of this software and associated documentation files (the "Software"), 29*4882a593Smuzhiyun to deal in the Software without restriction, including without limitation 30*4882a593Smuzhiyun the rights to use, copy, modify, merge, publish, distribute, sub license, 31*4882a593Smuzhiyun and/or sell copies of the Software, and to permit persons to whom the 32*4882a593Smuzhiyun Software is furnished to do so, subject to the following conditions: 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun The above copyright notice and this permission notice (including the 35*4882a593Smuzhiyun next paragraph) shall be included in all copies or substantial portions 36*4882a593Smuzhiyun of the Software. 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 39*4882a593Smuzhiyun IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 40*4882a593Smuzhiyun FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 41*4882a593Smuzhiyun THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 42*4882a593Smuzhiyun LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 43*4882a593Smuzhiyun FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 44*4882a593Smuzhiyun DEALINGS IN THE SOFTWARE. 45*4882a593Smuzhiyun */ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #define MMU_EXCEPTION_SLAVE_NOT_PRESENT 0x00000001 49*4882a593Smuzhiyun #define MMU_EXCEPTION_PAGE_NOT_PRESENT 0x00000002 50*4882a593Smuzhiyun #define MMU_EXCEPTION_WRITE_VIOLATION 0x00000003 51*4882a593Smuzhiyun #define MMU_EXCEPTION_OUT_OF_BOUND 0x00000004 52*4882a593Smuzhiyun #define MMU_EXCEPTION_READ_SECURITY_VIOLATION 0x00000005 53*4882a593Smuzhiyun #define MMU_EXCEPTION_WRITE_SECURITY_VIOLATION 0x00000006 54*4882a593Smuzhiyun #define VIVS_HI 0x00000000 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL 0x00000000 57*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_CLK3D_DIS 0x00000001 58*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_CLK2D_DIS 0x00000002 59*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK 0x000001fc 60*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT 2 61*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL(x) (((x) << VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT) & VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK) 62*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_FSCALE_CMD_LOAD 0x00000200 63*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_DISABLE_RAM_CLK_GATING 0x00000400 64*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_DISABLE_DEBUG_REGISTERS 0x00000800 65*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_SOFT_RESET 0x00001000 66*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_IDLE_3D 0x00010000 67*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_IDLE_2D 0x00020000 68*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_IDLE_VG 0x00040000 69*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_ISOLATE_GPU 0x00080000 70*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__MASK 0x00f00000 71*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__SHIFT 20 72*4882a593Smuzhiyun #define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE(x) (((x) << VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__SHIFT) & VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__MASK) 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE 0x00000004 75*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_FE 0x00000001 76*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_DE 0x00000002 77*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_PE 0x00000004 78*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_SH 0x00000008 79*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_PA 0x00000010 80*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_SE 0x00000020 81*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_RA 0x00000040 82*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_TX 0x00000080 83*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_VG 0x00000100 84*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_IM 0x00000200 85*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_FP 0x00000400 86*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_TS 0x00000800 87*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_BL 0x00001000 88*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_ASYNCFE 0x00002000 89*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_MC 0x00004000 90*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_PPA 0x00008000 91*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_WD 0x00010000 92*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_NN 0x00020000 93*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_TP 0x00040000 94*4882a593Smuzhiyun #define VIVS_HI_IDLE_STATE_AXI_LP 0x80000000 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG 0x00000008 97*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWID__MASK 0x0000000f 98*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWID__SHIFT 0 99*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWID(x) (((x) << VIVS_HI_AXI_CONFIG_AWID__SHIFT) & VIVS_HI_AXI_CONFIG_AWID__MASK) 100*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARID__MASK 0x000000f0 101*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARID__SHIFT 4 102*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARID(x) (((x) << VIVS_HI_AXI_CONFIG_ARID__SHIFT) & VIVS_HI_AXI_CONFIG_ARID__MASK) 103*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWCACHE__MASK 0x00000f00 104*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT 8 105*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_AWCACHE(x) (((x) << VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_AWCACHE__MASK) 106*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARCACHE__MASK 0x0000f000 107*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT 12 108*4882a593Smuzhiyun #define VIVS_HI_AXI_CONFIG_ARCACHE(x) (((x) << VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_ARCACHE__MASK) 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS 0x0000000c 111*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_WR_ERR_ID__MASK 0x0000000f 112*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_WR_ERR_ID__SHIFT 0 113*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_WR_ERR_ID(x) (((x) << VIVS_HI_AXI_STATUS_WR_ERR_ID__SHIFT) & VIVS_HI_AXI_STATUS_WR_ERR_ID__MASK) 114*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_RD_ERR_ID__MASK 0x000000f0 115*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_RD_ERR_ID__SHIFT 4 116*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_RD_ERR_ID(x) (((x) << VIVS_HI_AXI_STATUS_RD_ERR_ID__SHIFT) & VIVS_HI_AXI_STATUS_RD_ERR_ID__MASK) 117*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_DET_WR_ERR 0x00000100 118*4882a593Smuzhiyun #define VIVS_HI_AXI_STATUS_DET_RD_ERR 0x00000200 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE 0x00000010 121*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK 0x3fffffff 122*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT 0 123*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC(x) (((x) << VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT) & VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK) 124*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE_MMU_EXCEPTION 0x40000000 125*4882a593Smuzhiyun #define VIVS_HI_INTR_ACKNOWLEDGE_AXI_BUS_ERROR 0x80000000 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun #define VIVS_HI_INTR_ENBL 0x00000014 128*4882a593Smuzhiyun #define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__MASK 0xffffffff 129*4882a593Smuzhiyun #define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__SHIFT 0 130*4882a593Smuzhiyun #define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC(x) (((x) << VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__SHIFT) & VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__MASK) 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY 0x00000018 133*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_FAMILY__MASK 0xff000000 134*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT 24 135*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_FAMILY(x) (((x) << VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK) 136*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK 0x00ff0000 137*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT 16 138*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_PRODUCT(x) (((x) << VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT) & VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK) 139*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_REVISION__MASK 0x0000f000 140*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT 12 141*4882a593Smuzhiyun #define VIVS_HI_CHIP_IDENTITY_REVISION(x) (((x) << VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT) & VIVS_HI_CHIP_IDENTITY_REVISION__MASK) 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun #define VIVS_HI_CHIP_FEATURE 0x0000001c 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun #define VIVS_HI_CHIP_MODEL 0x00000020 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun #define VIVS_HI_CHIP_REV 0x00000024 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun #define VIVS_HI_CHIP_DATE 0x00000028 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun #define VIVS_HI_CHIP_TIME 0x0000002c 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun #define VIVS_HI_CHIP_CUSTOMER_ID 0x00000030 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_0 0x00000034 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun #define VIVS_HI_CACHE_CONTROL 0x00000038 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun #define VIVS_HI_MEMORY_COUNTER_RESET 0x0000003c 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun #define VIVS_HI_PROFILE_READ_BYTES8 0x00000040 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun #define VIVS_HI_PROFILE_WRITE_BYTES8 0x00000044 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS 0x00000048 166*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK 0x0000000f 167*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT 0 168*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_STREAM_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK) 169*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK 0x000000f0 170*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT 4 171*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_REGISTER_MAX(x) (((x) << VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT) & VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK) 172*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK 0x00000f00 173*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT 8 174*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_THREAD_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK) 175*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__MASK 0x0001f000 176*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__SHIFT 12 177*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE(x) (((x) << VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__SHIFT) & VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__MASK) 178*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__MASK 0x01f00000 179*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__SHIFT 20 180*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__MASK) 181*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK 0x0e000000 182*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT 25 183*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_PIXEL_PIPES(x) (((x) << VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT) & VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK) 184*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__MASK 0xf0000000 185*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__SHIFT 28 186*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE(x) (((x) << VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__SHIFT) & VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__MASK) 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun #define VIVS_HI_PROFILE_WRITE_BURSTS 0x0000004c 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun #define VIVS_HI_PROFILE_WRITE_REQUESTS 0x00000050 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun #define VIVS_HI_PROFILE_READ_BURSTS 0x00000058 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun #define VIVS_HI_PROFILE_READ_REQUESTS 0x0000005c 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun #define VIVS_HI_PROFILE_READ_LASTS 0x00000060 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #define VIVS_HI_GP_OUT0 0x00000064 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun #define VIVS_HI_GP_OUT1 0x00000068 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun #define VIVS_HI_GP_OUT2 0x0000006c 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun #define VIVS_HI_AXI_CONTROL 0x00000070 205*4882a593Smuzhiyun #define VIVS_HI_AXI_CONTROL_WR_FULL_BURST_MODE 0x00000001 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_1 0x00000074 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun #define VIVS_HI_PROFILE_TOTAL_CYCLES 0x00000078 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun #define VIVS_HI_PROFILE_IDLE_CYCLES 0x0000007c 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2 0x00000080 214*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__MASK 0x000000ff 215*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__SHIFT 0 216*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE(x) (((x) << VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__SHIFT) & VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__MASK) 217*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__MASK 0x0000ff00 218*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__SHIFT 8 219*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__MASK) 220*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__MASK 0xffff0000 221*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__SHIFT 16 222*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS(x) (((x) << VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__SHIFT) & VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__MASK) 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_2 0x00000084 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_3 0x00000088 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3 0x0000008c 229*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__MASK 0x000001f0 230*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__SHIFT 4 231*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__MASK) 232*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__MASK 0x00000007 233*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__SHIFT 0 234*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__MASK) 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun #define VIVS_HI_COMPRESSION_FLAGS 0x00000090 237*4882a593Smuzhiyun #define VIVS_HI_COMPRESSION_FLAGS_DEC300 0x00000040 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_4 0x00000094 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_4 0x0000009c 242*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__MASK 0x0001f000 243*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__SHIFT 12 244*4882a593Smuzhiyun #define VIVS_HI_CHIP_SPECS_4_STREAM_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__MASK) 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun #define VIVS_HI_CHIP_MINOR_FEATURE_5 0x000000a0 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun #define VIVS_HI_CHIP_PRODUCT_ID 0x000000a8 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun #define VIVS_HI_BLT_INTR 0x000000d4 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun #define VIVS_HI_CHIP_ECO_ID 0x000000e8 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun #define VIVS_HI_AUXBIT 0x000000ec 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun #define VIVS_PM 0x00000000 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS 0x00000100 259*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_ENABLE_MODULE_CLOCK_GATING 0x00000001 260*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_DISABLE_STALL_MODULE_CLOCK_GATING 0x00000002 261*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_DISABLE_STARVE_MODULE_CLOCK_GATING 0x00000004 262*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__MASK 0x000000f0 263*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__SHIFT 4 264*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER(x) (((x) << VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__SHIFT) & VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__MASK) 265*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__MASK 0xffff0000 266*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__SHIFT 16 267*4882a593Smuzhiyun #define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER(x) (((x) << VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__SHIFT) & VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__MASK) 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS 0x00000104 270*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_FE 0x00000001 271*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_DE 0x00000002 272*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_PE 0x00000004 273*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SH 0x00000008 274*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_PA 0x00000010 275*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SE 0x00000020 276*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA 0x00000040 277*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX 0x00000080 278*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_EZ 0x00010000 279*4882a593Smuzhiyun #define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_HZ 0x00020000 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS 0x00000108 282*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_FE 0x00000001 283*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_DE 0x00000002 284*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_PE 0x00000004 285*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_SH 0x00000008 286*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_PA 0x00000010 287*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_SE 0x00000020 288*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_RA 0x00000040 289*4882a593Smuzhiyun #define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_TX 0x00000080 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER 0x0000010c 292*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_DISABLE 0x00000001 293*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_DVFS_PERIOD__MASK 0x0000ff00 294*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_DVFS_PERIOD__SHIFT 8 295*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_DVFS_PERIOD(x) (((x) << VIVS_PM_PULSE_EATER_DVFS_PERIOD__SHIFT) & VIVS_PM_PULSE_EATER_DVFS_PERIOD__MASK) 296*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK16 0x00010000 297*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK17 0x00020000 298*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_INTERNAL_DFS 0x00040000 299*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK19 0x00080000 300*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK20 0x00100000 301*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK22 0x00400000 302*4882a593Smuzhiyun #define VIVS_PM_PULSE_EATER_UNK23 0x00800000 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun #define VIVS_MMUv2 0x00000000 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS 0x00000180 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION 0x00000184 309*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_MODE__MASK 0x00000001 310*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_MODE__SHIFT 0 311*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_MODE_MODE4_K 0x00000000 312*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_MODE_MODE1_K 0x00000001 313*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_MODE_MASK 0x00000008 314*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_FLUSH__MASK 0x00000010 315*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_FLUSH__SHIFT 4 316*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_FLUSH_FLUSH 0x00000010 317*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_FLUSH_MASK 0x00000080 318*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_ADDRESS_MASK 0x00000100 319*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK 0xfffffc00 320*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT 10 321*4882a593Smuzhiyun #define VIVS_MMUv2_CONFIGURATION_ADDRESS(x) (((x) << VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT) & VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK) 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS 0x00000188 324*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION0__MASK 0x00000003 325*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT 0 326*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION0(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION0__MASK) 327*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION1__MASK 0x00000030 328*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT 4 329*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION1(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION1__MASK) 330*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION2__MASK 0x00000300 331*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT 8 332*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION2(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION2__MASK) 333*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION3__MASK 0x00003000 334*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT 12 335*4882a593Smuzhiyun #define VIVS_MMUv2_STATUS_EXCEPTION3(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION3__MASK) 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun #define VIVS_MMUv2_CONTROL 0x0000018c 338*4882a593Smuzhiyun #define VIVS_MMUv2_CONTROL_ENABLE 0x00000001 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun #define VIVS_MMUv2_EXCEPTION_ADDR(i0) (0x00000190 + 0x4*(i0)) 341*4882a593Smuzhiyun #define VIVS_MMUv2_EXCEPTION_ADDR__ESIZE 0x00000004 342*4882a593Smuzhiyun #define VIVS_MMUv2_EXCEPTION_ADDR__LEN 0x00000004 343*4882a593Smuzhiyun 344*4882a593Smuzhiyun #define VIVS_MMUv2_PROFILE_BLT_READ 0x000001a4 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONFIG 0x000001ac 347*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONFIG_INDEX__MASK 0x0000ffff 348*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONFIG_INDEX__SHIFT 0 349*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONFIG_INDEX(x) (((x) << VIVS_MMUv2_PTA_CONFIG_INDEX__SHIFT) & VIVS_MMUv2_PTA_CONFIG_INDEX__MASK) 350*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONFIG_UNK16 0x00010000 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun #define VIVS_MMUv2_AXI_POLICY(i0) (0x000001c0 + 0x4*(i0)) 353*4882a593Smuzhiyun #define VIVS_MMUv2_AXI_POLICY__ESIZE 0x00000004 354*4882a593Smuzhiyun #define VIVS_MMUv2_AXI_POLICY__LEN 0x00000008 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_EXCEPTION_ADDR 0x00000380 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS 0x00000384 359*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION0__MASK 0x00000003 360*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION0__SHIFT 0 361*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION0(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION0__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION0__MASK) 362*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION1__MASK 0x00000030 363*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION1__SHIFT 4 364*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION1(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION1__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION1__MASK) 365*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION2__MASK 0x00000300 366*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION2__SHIFT 8 367*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION2(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION2__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION2__MASK) 368*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION3__MASK 0x00003000 369*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION3__SHIFT 12 370*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_STATUS_EXCEPTION3(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION3__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION3__MASK) 371*4882a593Smuzhiyun 372*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_CONTROL 0x00000388 373*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_CONTROL_ENABLE 0x00000001 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_ADDRESS_LOW 0x0000038c 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_ADDRESS_HIGH 0x00000390 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONTROL 0x00000394 380*4882a593Smuzhiyun #define VIVS_MMUv2_PTA_CONTROL_ENABLE 0x00000001 381*4882a593Smuzhiyun 382*4882a593Smuzhiyun #define VIVS_MMUv2_NONSEC_SAFE_ADDR_LOW 0x00000398 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_SAFE_ADDR_LOW 0x0000039c 385*4882a593Smuzhiyun 386*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG 0x000003a0 387*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__MASK 0x000000ff 388*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__SHIFT 0 389*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH(x) (((x) << VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__SHIFT) & VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__MASK) 390*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_UNK15 0x00008000 391*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__MASK 0x00ff0000 392*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__SHIFT 16 393*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH(x) (((x) << VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__SHIFT) & VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__MASK) 394*4882a593Smuzhiyun #define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_UNK31 0x80000000 395*4882a593Smuzhiyun 396*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_COMMAND_CONTROL 0x000003a4 397*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__MASK 0x0000ffff 398*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__SHIFT 0 399*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH(x) (((x) << VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__SHIFT) & VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__MASK) 400*4882a593Smuzhiyun #define VIVS_MMUv2_SEC_COMMAND_CONTROL_ENABLE 0x00010000 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun #define VIVS_MMUv2_AHB_CONTROL 0x000003a8 403*4882a593Smuzhiyun #define VIVS_MMUv2_AHB_CONTROL_RESET 0x00000001 404*4882a593Smuzhiyun #define VIVS_MMUv2_AHB_CONTROL_NONSEC_ACCESS 0x00000002 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun #define VIVS_MC 0x00000000 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun #define VIVS_MC_MMU_FE_PAGE_TABLE 0x00000400 409*4882a593Smuzhiyun 410*4882a593Smuzhiyun #define VIVS_MC_MMU_TX_PAGE_TABLE 0x00000404 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun #define VIVS_MC_MMU_PE_PAGE_TABLE 0x00000408 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun #define VIVS_MC_MMU_PEZ_PAGE_TABLE 0x0000040c 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun #define VIVS_MC_MMU_RA_PAGE_TABLE 0x00000410 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun #define VIVS_MC_DEBUG_MEMORY 0x00000414 419*4882a593Smuzhiyun #define VIVS_MC_DEBUG_MEMORY_SPECIAL_PATCH_GC320 0x00000008 420*4882a593Smuzhiyun #define VIVS_MC_DEBUG_MEMORY_FAST_CLEAR_BYPASS 0x00100000 421*4882a593Smuzhiyun #define VIVS_MC_DEBUG_MEMORY_COMPRESSION_BYPASS 0x00200000 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun #define VIVS_MC_MEMORY_BASE_ADDR_RA 0x00000418 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun #define VIVS_MC_MEMORY_BASE_ADDR_FE 0x0000041c 426*4882a593Smuzhiyun 427*4882a593Smuzhiyun #define VIVS_MC_MEMORY_BASE_ADDR_TX 0x00000420 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun #define VIVS_MC_MEMORY_BASE_ADDR_PEZ 0x00000424 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun #define VIVS_MC_MEMORY_BASE_ADDR_PE 0x00000428 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun #define VIVS_MC_MEMORY_TIMING_CONTROL 0x0000042c 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun #define VIVS_MC_MEMORY_FLUSH 0x00000430 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CYCLE_COUNTER 0x00000438 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun #define VIVS_MC_DEBUG_READ0 0x0000043c 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun #define VIVS_MC_DEBUG_READ1 0x00000440 442*4882a593Smuzhiyun 443*4882a593Smuzhiyun #define VIVS_MC_DEBUG_WRITE 0x00000444 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun #define VIVS_MC_PROFILE_RA_READ 0x00000448 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun #define VIVS_MC_PROFILE_TX_READ 0x0000044c 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun #define VIVS_MC_PROFILE_FE_READ 0x00000450 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun #define VIVS_MC_PROFILE_PE_READ 0x00000454 452*4882a593Smuzhiyun 453*4882a593Smuzhiyun #define VIVS_MC_PROFILE_DE_READ 0x00000458 454*4882a593Smuzhiyun 455*4882a593Smuzhiyun #define VIVS_MC_PROFILE_SH_READ 0x0000045c 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun #define VIVS_MC_PROFILE_PA_READ 0x00000460 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun #define VIVS_MC_PROFILE_SE_READ 0x00000464 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun #define VIVS_MC_PROFILE_MC_READ 0x00000468 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun #define VIVS_MC_PROFILE_HI_READ 0x0000046c 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0 0x00000470 466*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_FE__MASK 0x000000ff 467*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_FE__SHIFT 0 468*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_FE_RESET 0x0000000f 469*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_DE__MASK 0x0000ff00 470*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_DE__SHIFT 8 471*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_DE_RESET 0x00000f00 472*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE__MASK 0x00ff0000 473*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE__SHIFT 16 474*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_COLOR_PIPE 0x00000000 475*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_DEPTH_PIPE 0x00010000 476*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_COLOR_PIPE 0x00020000 477*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_DEPTH_PIPE 0x00030000 478*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_PIXELS_RENDERED_2D 0x000b0000 479*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_PE_RESET 0x000f0000 480*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH__MASK 0xff000000 481*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH__SHIFT 24 482*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_SHADER_CYCLES 0x04000000 483*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_PS_INST_COUNTER 0x07000000 484*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_PIXEL_COUNTER 0x08000000 485*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_VS_INST_COUNTER 0x09000000 486*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_VERTICE_COUNTER 0x0a000000 487*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_VTX_BRANCH_INST_COUNTER 0x0b000000 488*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_VTX_TEXLD_INST_COUNTER 0x0c000000 489*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_PXL_BRANCH_INST_COUNTER 0x0d000000 490*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_PXL_TEXLD_INST_COUNTER 0x0e000000 491*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG0_SH_RESET 0x0f000000 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1 0x00000474 494*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA__MASK 0x000000ff 495*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA__SHIFT 0 496*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_VTX_COUNTER 0x00000003 497*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_PRIM_COUNTER 0x00000004 498*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_OUTPUT_PRIM_COUNTER 0x00000005 499*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_DEPTH_CLIPPED_COUNTER 0x00000006 500*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_TRIVIAL_REJECTED_COUNTER 0x00000007 501*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_CULLED_COUNTER 0x00000008 502*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_PA_RESET 0x0000000f 503*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_SE__MASK 0x0000ff00 504*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_SE__SHIFT 8 505*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_TRIANGLE_COUNT 0x00000000 506*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_LINES_COUNT 0x00000100 507*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_SE_RESET 0x00000f00 508*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA__MASK 0x00ff0000 509*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA__SHIFT 16 510*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_VALID_PIXEL_COUNT 0x00000000 511*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_QUAD_COUNT 0x00010000 512*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_VALID_QUAD_COUNT_AFTER_EARLY_Z 0x00020000 513*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_PRIMITIVE_COUNT 0x00030000 514*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_PIPE_CACHE_MISS_COUNTER 0x00090000 515*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_PREFETCH_CACHE_MISS_COUNTER 0x000a0000 516*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_CULLED_QUAD_COUNT 0x000b0000 517*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_RA_RESET 0x000f0000 518*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX__MASK 0xff000000 519*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX__SHIFT 24 520*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_BILINEAR_REQUESTS 0x00000000 521*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TRILINEAR_REQUESTS 0x01000000 522*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_DISCARDED_TEXTURE_REQUESTS 0x02000000 523*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TEXTURE_REQUESTS 0x03000000 524*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_UNKNOWN 0x04000000 525*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_COUNT 0x05000000 526*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_IN_8B_COUNT 0x06000000 527*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_COUNT 0x07000000 528*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_HIT_TEXEL_COUNT 0x08000000 529*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_TEXEL_COUNT 0x09000000 530*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG1_TX_RESET 0x0f000000 531*4882a593Smuzhiyun 532*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2 0x00000478 533*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC__MASK 0x000000ff 534*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC__SHIFT 0 535*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_PIPELINE 0x00000001 536*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_IP 0x00000002 537*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_WRITE_REQ_8B_FROM_PIPELINE 0x00000003 538*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_MC_RESET 0x0000000f 539*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI__MASK 0x0000ff00 540*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI__SHIFT 8 541*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_READ_REQUEST_STALLED 0x00000000 542*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_REQUEST_STALLED 0x00000100 543*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_DATA_STALLED 0x00000200 544*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_HI_RESET 0x00000f00 545*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_BLT__MASK 0xff000000 546*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_BLT__SHIFT 24 547*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG2_BLT_UNK0 0x00000000 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun #define VIVS_MC_PROFILE_CONFIG3 0x0000047c 550*4882a593Smuzhiyun 551*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG 0x00000480 552*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK 0x0000000f 553*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__SHIFT 0 554*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG(x) (((x) << VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__SHIFT) & VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK) 555*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK 0x000000f0 556*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__SHIFT 4 557*4882a593Smuzhiyun #define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG(x) (((x) << VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__SHIFT) & VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK) 558*4882a593Smuzhiyun 559*4882a593Smuzhiyun #define VIVS_MC_START_COMPOSITION 0x00000554 560*4882a593Smuzhiyun 561*4882a593Smuzhiyun #define VIVS_MC_FLAGS 0x00000558 562*4882a593Smuzhiyun #define VIVS_MC_FLAGS_128B_MERGE 0x00000001 563*4882a593Smuzhiyun #define VIVS_MC_FLAGS_TPCV11_COMPRESSION 0x08000000 564*4882a593Smuzhiyun 565*4882a593Smuzhiyun #define VIVS_MC_L2_CACHE_CONFIG 0x0000055c 566*4882a593Smuzhiyun 567*4882a593Smuzhiyun #define VIVS_MC_PROFILE_L2_READ 0x00000564 568*4882a593Smuzhiyun 569*4882a593Smuzhiyun 570*4882a593Smuzhiyun #endif /* STATE_HI_XML */ 571