18c2ecf20Sopenharmony_ci#ifndef STATE_HI_XML 28c2ecf20Sopenharmony_ci#define STATE_HI_XML 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually! 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository: 78c2ecf20Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng 88c2ecf20Sopenharmony_cigit clone git://0x04.net/rules-ng-ng 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciThe rules-ng-ng source files this header was generated from are: 118c2ecf20Sopenharmony_ci- state.xml ( 26666 bytes, from 2019-12-20 21:20:35) 128c2ecf20Sopenharmony_ci- common.xml ( 35468 bytes, from 2018-02-10 13:09:26) 138c2ecf20Sopenharmony_ci- common_3d.xml ( 15058 bytes, from 2019-12-28 20:02:03) 148c2ecf20Sopenharmony_ci- state_hi.xml ( 30552 bytes, from 2019-12-28 20:02:48) 158c2ecf20Sopenharmony_ci- copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) 168c2ecf20Sopenharmony_ci- state_2d.xml ( 51552 bytes, from 2018-02-10 13:09:26) 178c2ecf20Sopenharmony_ci- state_3d.xml ( 83098 bytes, from 2019-12-28 20:02:03) 188c2ecf20Sopenharmony_ci- state_blt.xml ( 14252 bytes, from 2019-10-20 19:59:15) 198c2ecf20Sopenharmony_ci- state_vg.xml ( 5975 bytes, from 2018-02-10 13:09:26) 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciCopyright (C) 2012-2019 by the following authors: 228c2ecf20Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com> 238c2ecf20Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com> 248c2ecf20Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de> 258c2ecf20Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk> 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a 288c2ecf20Sopenharmony_cicopy of this software and associated documentation files (the "Software"), 298c2ecf20Sopenharmony_cito deal in the Software without restriction, including without limitation 308c2ecf20Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license, 318c2ecf20Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the 328c2ecf20Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions: 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciThe above copyright notice and this permission notice (including the 358c2ecf20Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions 368c2ecf20Sopenharmony_ciof the Software. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 398c2ecf20Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 408c2ecf20Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 418c2ecf20Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 428c2ecf20Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 438c2ecf20Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 448c2ecf20Sopenharmony_ciDEALINGS IN THE SOFTWARE. 458c2ecf20Sopenharmony_ci*/ 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_SLAVE_NOT_PRESENT 0x00000001 498c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_PAGE_NOT_PRESENT 0x00000002 508c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_WRITE_VIOLATION 0x00000003 518c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_OUT_OF_BOUND 0x00000004 528c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_READ_SECURITY_VIOLATION 0x00000005 538c2ecf20Sopenharmony_ci#define MMU_EXCEPTION_WRITE_SECURITY_VIOLATION 0x00000006 548c2ecf20Sopenharmony_ci#define VIVS_HI 0x00000000 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL 0x00000000 578c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_CLK3D_DIS 0x00000001 588c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_CLK2D_DIS 0x00000002 598c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK 0x000001fc 608c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT 2 618c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL(x) (((x) << VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT) & VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK) 628c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_FSCALE_CMD_LOAD 0x00000200 638c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_DISABLE_RAM_CLK_GATING 0x00000400 648c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_DISABLE_DEBUG_REGISTERS 0x00000800 658c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_SOFT_RESET 0x00001000 668c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_IDLE_3D 0x00010000 678c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_IDLE_2D 0x00020000 688c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_IDLE_VG 0x00040000 698c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_ISOLATE_GPU 0x00080000 708c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__MASK 0x00f00000 718c2ecf20Sopenharmony_ci#define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__SHIFT 20 728c2ecf20Sopenharmony_ci#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) 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE 0x00000004 758c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_FE 0x00000001 768c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_DE 0x00000002 778c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_PE 0x00000004 788c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_SH 0x00000008 798c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_PA 0x00000010 808c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_SE 0x00000020 818c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_RA 0x00000040 828c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_TX 0x00000080 838c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_VG 0x00000100 848c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_IM 0x00000200 858c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_FP 0x00000400 868c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_TS 0x00000800 878c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_BL 0x00001000 888c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_ASYNCFE 0x00002000 898c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_MC 0x00004000 908c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_PPA 0x00008000 918c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_WD 0x00010000 928c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_NN 0x00020000 938c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_TP 0x00040000 948c2ecf20Sopenharmony_ci#define VIVS_HI_IDLE_STATE_AXI_LP 0x80000000 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG 0x00000008 978c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWID__MASK 0x0000000f 988c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWID__SHIFT 0 998c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWID(x) (((x) << VIVS_HI_AXI_CONFIG_AWID__SHIFT) & VIVS_HI_AXI_CONFIG_AWID__MASK) 1008c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARID__MASK 0x000000f0 1018c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARID__SHIFT 4 1028c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARID(x) (((x) << VIVS_HI_AXI_CONFIG_ARID__SHIFT) & VIVS_HI_AXI_CONFIG_ARID__MASK) 1038c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWCACHE__MASK 0x00000f00 1048c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT 8 1058c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_AWCACHE(x) (((x) << VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_AWCACHE__MASK) 1068c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARCACHE__MASK 0x0000f000 1078c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT 12 1088c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONFIG_ARCACHE(x) (((x) << VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_ARCACHE__MASK) 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS 0x0000000c 1118c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_WR_ERR_ID__MASK 0x0000000f 1128c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_WR_ERR_ID__SHIFT 0 1138c2ecf20Sopenharmony_ci#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) 1148c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_RD_ERR_ID__MASK 0x000000f0 1158c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_RD_ERR_ID__SHIFT 4 1168c2ecf20Sopenharmony_ci#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) 1178c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_DET_WR_ERR 0x00000100 1188c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_STATUS_DET_RD_ERR 0x00000200 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE 0x00000010 1218c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK 0x3fffffff 1228c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT 0 1238c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC(x) (((x) << VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT) & VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK) 1248c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE_MMU_EXCEPTION 0x40000000 1258c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ACKNOWLEDGE_AXI_BUS_ERROR 0x80000000 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ENBL 0x00000014 1288c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__MASK 0xffffffff 1298c2ecf20Sopenharmony_ci#define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__SHIFT 0 1308c2ecf20Sopenharmony_ci#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) 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY 0x00000018 1338c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_FAMILY__MASK 0xff000000 1348c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT 24 1358c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_FAMILY(x) (((x) << VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK) 1368c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK 0x00ff0000 1378c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT 16 1388c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_PRODUCT(x) (((x) << VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT) & VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK) 1398c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_REVISION__MASK 0x0000f000 1408c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT 12 1418c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_IDENTITY_REVISION(x) (((x) << VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT) & VIVS_HI_CHIP_IDENTITY_REVISION__MASK) 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_FEATURE 0x0000001c 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MODEL 0x00000020 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_REV 0x00000024 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_DATE 0x00000028 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_TIME 0x0000002c 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_CUSTOMER_ID 0x00000030 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_0 0x00000034 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci#define VIVS_HI_CACHE_CONTROL 0x00000038 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci#define VIVS_HI_MEMORY_COUNTER_RESET 0x0000003c 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_READ_BYTES8 0x00000040 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_WRITE_BYTES8 0x00000044 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS 0x00000048 1668c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK 0x0000000f 1678c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT 0 1688c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_STREAM_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK) 1698c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK 0x000000f0 1708c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT 4 1718c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_REGISTER_MAX(x) (((x) << VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT) & VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK) 1728c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK 0x00000f00 1738c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT 8 1748c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_THREAD_COUNT(x) (((x) << VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK) 1758c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__MASK 0x0001f000 1768c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__SHIFT 12 1778c2ecf20Sopenharmony_ci#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) 1788c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__MASK 0x01f00000 1798c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__SHIFT 20 1808c2ecf20Sopenharmony_ci#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) 1818c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK 0x0e000000 1828c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT 25 1838c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES(x) (((x) << VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT) & VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK) 1848c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__MASK 0xf0000000 1858c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__SHIFT 28 1868c2ecf20Sopenharmony_ci#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) 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_WRITE_BURSTS 0x0000004c 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_WRITE_REQUESTS 0x00000050 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_READ_BURSTS 0x00000058 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_READ_REQUESTS 0x0000005c 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_READ_LASTS 0x00000060 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci#define VIVS_HI_GP_OUT0 0x00000064 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci#define VIVS_HI_GP_OUT1 0x00000068 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci#define VIVS_HI_GP_OUT2 0x0000006c 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONTROL 0x00000070 2058c2ecf20Sopenharmony_ci#define VIVS_HI_AXI_CONTROL_WR_FULL_BURST_MODE 0x00000001 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_1 0x00000074 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_TOTAL_CYCLES 0x00000078 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci#define VIVS_HI_PROFILE_IDLE_CYCLES 0x0000007c 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2 0x00000080 2148c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__MASK 0x000000ff 2158c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__SHIFT 0 2168c2ecf20Sopenharmony_ci#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) 2178c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__MASK 0x0000ff00 2188c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__SHIFT 8 2198c2ecf20Sopenharmony_ci#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) 2208c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__MASK 0xffff0000 2218c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__SHIFT 16 2228c2ecf20Sopenharmony_ci#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) 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_2 0x00000084 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_3 0x00000088 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_3 0x0000008c 2298c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__MASK 0x000001f0 2308c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_3_VARYINGS_COUNT__SHIFT 4 2318c2ecf20Sopenharmony_ci#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) 2328c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__MASK 0x00000007 2338c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_3_GPU_CORE_COUNT__SHIFT 0 2348c2ecf20Sopenharmony_ci#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) 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ci#define VIVS_HI_COMPRESSION_FLAGS 0x00000090 2378c2ecf20Sopenharmony_ci#define VIVS_HI_COMPRESSION_FLAGS_DEC300 0x00000040 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_4 0x00000094 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_4 0x0000009c 2428c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__MASK 0x0001f000 2438c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_SPECS_4_STREAM_COUNT__SHIFT 12 2448c2ecf20Sopenharmony_ci#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) 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_MINOR_FEATURE_5 0x000000a0 2478c2ecf20Sopenharmony_ci 2488c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_PRODUCT_ID 0x000000a8 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci#define VIVS_HI_BLT_INTR 0x000000d4 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ci#define VIVS_HI_CHIP_ECO_ID 0x000000e8 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci#define VIVS_HI_AUXBIT 0x000000ec 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci#define VIVS_PM 0x00000000 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS 0x00000100 2598c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_ENABLE_MODULE_CLOCK_GATING 0x00000001 2608c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_DISABLE_STALL_MODULE_CLOCK_GATING 0x00000002 2618c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_DISABLE_STARVE_MODULE_CLOCK_GATING 0x00000004 2628c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__MASK 0x000000f0 2638c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__SHIFT 4 2648c2ecf20Sopenharmony_ci#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) 2658c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__MASK 0xffff0000 2668c2ecf20Sopenharmony_ci#define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__SHIFT 16 2678c2ecf20Sopenharmony_ci#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) 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS 0x00000104 2708c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_FE 0x00000001 2718c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_DE 0x00000002 2728c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_PE 0x00000004 2738c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SH 0x00000008 2748c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_PA 0x00000010 2758c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SE 0x00000020 2768c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA 0x00000040 2778c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX 0x00000080 2788c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_EZ 0x00010000 2798c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_HZ 0x00020000 2808c2ecf20Sopenharmony_ci 2818c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS 0x00000108 2828c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_FE 0x00000001 2838c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_DE 0x00000002 2848c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_PE 0x00000004 2858c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_SH 0x00000008 2868c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_PA 0x00000010 2878c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_SE 0x00000020 2888c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_RA 0x00000040 2898c2ecf20Sopenharmony_ci#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_TX 0x00000080 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER 0x0000010c 2928c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_DISABLE 0x00000001 2938c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_DVFS_PERIOD__MASK 0x0000ff00 2948c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_DVFS_PERIOD__SHIFT 8 2958c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_DVFS_PERIOD(x) (((x) << VIVS_PM_PULSE_EATER_DVFS_PERIOD__SHIFT) & VIVS_PM_PULSE_EATER_DVFS_PERIOD__MASK) 2968c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK16 0x00010000 2978c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK17 0x00020000 2988c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_INTERNAL_DFS 0x00040000 2998c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK19 0x00080000 3008c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK20 0x00100000 3018c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK22 0x00400000 3028c2ecf20Sopenharmony_ci#define VIVS_PM_PULSE_EATER_UNK23 0x00800000 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci#define VIVS_MMUv2 0x00000000 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS 0x00000180 3078c2ecf20Sopenharmony_ci 3088c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION 0x00000184 3098c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_MODE__MASK 0x00000001 3108c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_MODE__SHIFT 0 3118c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_MODE_MODE4_K 0x00000000 3128c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_MODE_MODE1_K 0x00000001 3138c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_MODE_MASK 0x00000008 3148c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_FLUSH__MASK 0x00000010 3158c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_FLUSH__SHIFT 4 3168c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_FLUSH_FLUSH 0x00000010 3178c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_FLUSH_MASK 0x00000080 3188c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_ADDRESS_MASK 0x00000100 3198c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK 0xfffffc00 3208c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT 10 3218c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONFIGURATION_ADDRESS(x) (((x) << VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT) & VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK) 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS 0x00000188 3248c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION0__MASK 0x00000003 3258c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT 0 3268c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION0(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION0__MASK) 3278c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION1__MASK 0x00000030 3288c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT 4 3298c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION1(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION1__MASK) 3308c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION2__MASK 0x00000300 3318c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT 8 3328c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION2(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION2__MASK) 3338c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION3__MASK 0x00003000 3348c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT 12 3358c2ecf20Sopenharmony_ci#define VIVS_MMUv2_STATUS_EXCEPTION3(x) (((x) << VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION3__MASK) 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONTROL 0x0000018c 3388c2ecf20Sopenharmony_ci#define VIVS_MMUv2_CONTROL_ENABLE 0x00000001 3398c2ecf20Sopenharmony_ci 3408c2ecf20Sopenharmony_ci#define VIVS_MMUv2_EXCEPTION_ADDR(i0) (0x00000190 + 0x4*(i0)) 3418c2ecf20Sopenharmony_ci#define VIVS_MMUv2_EXCEPTION_ADDR__ESIZE 0x00000004 3428c2ecf20Sopenharmony_ci#define VIVS_MMUv2_EXCEPTION_ADDR__LEN 0x00000004 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PROFILE_BLT_READ 0x000001a4 3458c2ecf20Sopenharmony_ci 3468c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONFIG 0x000001ac 3478c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONFIG_INDEX__MASK 0x0000ffff 3488c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONFIG_INDEX__SHIFT 0 3498c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONFIG_INDEX(x) (((x) << VIVS_MMUv2_PTA_CONFIG_INDEX__SHIFT) & VIVS_MMUv2_PTA_CONFIG_INDEX__MASK) 3508c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONFIG_UNK16 0x00010000 3518c2ecf20Sopenharmony_ci 3528c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AXI_POLICY(i0) (0x000001c0 + 0x4*(i0)) 3538c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AXI_POLICY__ESIZE 0x00000004 3548c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AXI_POLICY__LEN 0x00000008 3558c2ecf20Sopenharmony_ci 3568c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_EXCEPTION_ADDR 0x00000380 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS 0x00000384 3598c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION0__MASK 0x00000003 3608c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION0__SHIFT 0 3618c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION0(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION0__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION0__MASK) 3628c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION1__MASK 0x00000030 3638c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION1__SHIFT 4 3648c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION1(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION1__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION1__MASK) 3658c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION2__MASK 0x00000300 3668c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION2__SHIFT 8 3678c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION2(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION2__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION2__MASK) 3688c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION3__MASK 0x00003000 3698c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION3__SHIFT 12 3708c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_STATUS_EXCEPTION3(x) (((x) << VIVS_MMUv2_SEC_STATUS_EXCEPTION3__SHIFT) & VIVS_MMUv2_SEC_STATUS_EXCEPTION3__MASK) 3718c2ecf20Sopenharmony_ci 3728c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_CONTROL 0x00000388 3738c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_CONTROL_ENABLE 0x00000001 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_ADDRESS_LOW 0x0000038c 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_ADDRESS_HIGH 0x00000390 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONTROL 0x00000394 3808c2ecf20Sopenharmony_ci#define VIVS_MMUv2_PTA_CONTROL_ENABLE 0x00000001 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_ci#define VIVS_MMUv2_NONSEC_SAFE_ADDR_LOW 0x00000398 3838c2ecf20Sopenharmony_ci 3848c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_SAFE_ADDR_LOW 0x0000039c 3858c2ecf20Sopenharmony_ci 3868c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG 0x000003a0 3878c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__MASK 0x000000ff 3888c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_NON_SEC_SAFE_ADDR_HIGH__SHIFT 0 3898c2ecf20Sopenharmony_ci#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) 3908c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_UNK15 0x00008000 3918c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__MASK 0x00ff0000 3928c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_SEC_SAFE_ADDR_HIGH__SHIFT 16 3938c2ecf20Sopenharmony_ci#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) 3948c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SAFE_ADDRESS_CONFIG_UNK31 0x80000000 3958c2ecf20Sopenharmony_ci 3968c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_COMMAND_CONTROL 0x000003a4 3978c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__MASK 0x0000ffff 3988c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__SHIFT 0 3998c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH(x) (((x) << VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__SHIFT) & VIVS_MMUv2_SEC_COMMAND_CONTROL_PREFETCH__MASK) 4008c2ecf20Sopenharmony_ci#define VIVS_MMUv2_SEC_COMMAND_CONTROL_ENABLE 0x00010000 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AHB_CONTROL 0x000003a8 4038c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AHB_CONTROL_RESET 0x00000001 4048c2ecf20Sopenharmony_ci#define VIVS_MMUv2_AHB_CONTROL_NONSEC_ACCESS 0x00000002 4058c2ecf20Sopenharmony_ci 4068c2ecf20Sopenharmony_ci#define VIVS_MC 0x00000000 4078c2ecf20Sopenharmony_ci 4088c2ecf20Sopenharmony_ci#define VIVS_MC_MMU_FE_PAGE_TABLE 0x00000400 4098c2ecf20Sopenharmony_ci 4108c2ecf20Sopenharmony_ci#define VIVS_MC_MMU_TX_PAGE_TABLE 0x00000404 4118c2ecf20Sopenharmony_ci 4128c2ecf20Sopenharmony_ci#define VIVS_MC_MMU_PE_PAGE_TABLE 0x00000408 4138c2ecf20Sopenharmony_ci 4148c2ecf20Sopenharmony_ci#define VIVS_MC_MMU_PEZ_PAGE_TABLE 0x0000040c 4158c2ecf20Sopenharmony_ci 4168c2ecf20Sopenharmony_ci#define VIVS_MC_MMU_RA_PAGE_TABLE 0x00000410 4178c2ecf20Sopenharmony_ci 4188c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_MEMORY 0x00000414 4198c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_MEMORY_SPECIAL_PATCH_GC320 0x00000008 4208c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_MEMORY_FAST_CLEAR_BYPASS 0x00100000 4218c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_MEMORY_COMPRESSION_BYPASS 0x00200000 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_BASE_ADDR_RA 0x00000418 4248c2ecf20Sopenharmony_ci 4258c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_BASE_ADDR_FE 0x0000041c 4268c2ecf20Sopenharmony_ci 4278c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_BASE_ADDR_TX 0x00000420 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_BASE_ADDR_PEZ 0x00000424 4308c2ecf20Sopenharmony_ci 4318c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_BASE_ADDR_PE 0x00000428 4328c2ecf20Sopenharmony_ci 4338c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_TIMING_CONTROL 0x0000042c 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ci#define VIVS_MC_MEMORY_FLUSH 0x00000430 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CYCLE_COUNTER 0x00000438 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_READ0 0x0000043c 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_READ1 0x00000440 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_ci#define VIVS_MC_DEBUG_WRITE 0x00000444 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_RA_READ 0x00000448 4468c2ecf20Sopenharmony_ci 4478c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_TX_READ 0x0000044c 4488c2ecf20Sopenharmony_ci 4498c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_FE_READ 0x00000450 4508c2ecf20Sopenharmony_ci 4518c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_PE_READ 0x00000454 4528c2ecf20Sopenharmony_ci 4538c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_DE_READ 0x00000458 4548c2ecf20Sopenharmony_ci 4558c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_SH_READ 0x0000045c 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_PA_READ 0x00000460 4588c2ecf20Sopenharmony_ci 4598c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_SE_READ 0x00000464 4608c2ecf20Sopenharmony_ci 4618c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_MC_READ 0x00000468 4628c2ecf20Sopenharmony_ci 4638c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_HI_READ 0x0000046c 4648c2ecf20Sopenharmony_ci 4658c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0 0x00000470 4668c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_FE__MASK 0x000000ff 4678c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_FE__SHIFT 0 4688c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_FE_RESET 0x0000000f 4698c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_DE__MASK 0x0000ff00 4708c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_DE__SHIFT 8 4718c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_DE_RESET 0x00000f00 4728c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE__MASK 0x00ff0000 4738c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE__SHIFT 16 4748c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_COLOR_PIPE 0x00000000 4758c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_DEPTH_PIPE 0x00010000 4768c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_COLOR_PIPE 0x00020000 4778c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_DEPTH_PIPE 0x00030000 4788c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_PIXELS_RENDERED_2D 0x000b0000 4798c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_PE_RESET 0x000f0000 4808c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH__MASK 0xff000000 4818c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH__SHIFT 24 4828c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_SHADER_CYCLES 0x04000000 4838c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_PS_INST_COUNTER 0x07000000 4848c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_PIXEL_COUNTER 0x08000000 4858c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_VS_INST_COUNTER 0x09000000 4868c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_VERTICE_COUNTER 0x0a000000 4878c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_VTX_BRANCH_INST_COUNTER 0x0b000000 4888c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_VTX_TEXLD_INST_COUNTER 0x0c000000 4898c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_PXL_BRANCH_INST_COUNTER 0x0d000000 4908c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_PXL_TEXLD_INST_COUNTER 0x0e000000 4918c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG0_SH_RESET 0x0f000000 4928c2ecf20Sopenharmony_ci 4938c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1 0x00000474 4948c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA__MASK 0x000000ff 4958c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA__SHIFT 0 4968c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_VTX_COUNTER 0x00000003 4978c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_PRIM_COUNTER 0x00000004 4988c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_OUTPUT_PRIM_COUNTER 0x00000005 4998c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_DEPTH_CLIPPED_COUNTER 0x00000006 5008c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_TRIVIAL_REJECTED_COUNTER 0x00000007 5018c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_CULLED_COUNTER 0x00000008 5028c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_PA_RESET 0x0000000f 5038c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_SE__MASK 0x0000ff00 5048c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_SE__SHIFT 8 5058c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_TRIANGLE_COUNT 0x00000000 5068c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_LINES_COUNT 0x00000100 5078c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_SE_RESET 0x00000f00 5088c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA__MASK 0x00ff0000 5098c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA__SHIFT 16 5108c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_VALID_PIXEL_COUNT 0x00000000 5118c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_QUAD_COUNT 0x00010000 5128c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_VALID_QUAD_COUNT_AFTER_EARLY_Z 0x00020000 5138c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_PRIMITIVE_COUNT 0x00030000 5148c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_PIPE_CACHE_MISS_COUNTER 0x00090000 5158c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_PREFETCH_CACHE_MISS_COUNTER 0x000a0000 5168c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_CULLED_QUAD_COUNT 0x000b0000 5178c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_RA_RESET 0x000f0000 5188c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX__MASK 0xff000000 5198c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX__SHIFT 24 5208c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_BILINEAR_REQUESTS 0x00000000 5218c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TRILINEAR_REQUESTS 0x01000000 5228c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_DISCARDED_TEXTURE_REQUESTS 0x02000000 5238c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TEXTURE_REQUESTS 0x03000000 5248c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_UNKNOWN 0x04000000 5258c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_COUNT 0x05000000 5268c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_IN_8B_COUNT 0x06000000 5278c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_COUNT 0x07000000 5288c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_HIT_TEXEL_COUNT 0x08000000 5298c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_TEXEL_COUNT 0x09000000 5308c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG1_TX_RESET 0x0f000000 5318c2ecf20Sopenharmony_ci 5328c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2 0x00000478 5338c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC__MASK 0x000000ff 5348c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC__SHIFT 0 5358c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_PIPELINE 0x00000001 5368c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_IP 0x00000002 5378c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_WRITE_REQ_8B_FROM_PIPELINE 0x00000003 5388c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_MC_RESET 0x0000000f 5398c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI__MASK 0x0000ff00 5408c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI__SHIFT 8 5418c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_READ_REQUEST_STALLED 0x00000000 5428c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_REQUEST_STALLED 0x00000100 5438c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_DATA_STALLED 0x00000200 5448c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_HI_RESET 0x00000f00 5458c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_BLT__MASK 0xff000000 5468c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_BLT__SHIFT 24 5478c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG2_BLT_UNK0 0x00000000 5488c2ecf20Sopenharmony_ci 5498c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_CONFIG3 0x0000047c 5508c2ecf20Sopenharmony_ci 5518c2ecf20Sopenharmony_ci#define VIVS_MC_BUS_CONFIG 0x00000480 5528c2ecf20Sopenharmony_ci#define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK 0x0000000f 5538c2ecf20Sopenharmony_ci#define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__SHIFT 0 5548c2ecf20Sopenharmony_ci#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) 5558c2ecf20Sopenharmony_ci#define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK 0x000000f0 5568c2ecf20Sopenharmony_ci#define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__SHIFT 4 5578c2ecf20Sopenharmony_ci#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) 5588c2ecf20Sopenharmony_ci 5598c2ecf20Sopenharmony_ci#define VIVS_MC_START_COMPOSITION 0x00000554 5608c2ecf20Sopenharmony_ci 5618c2ecf20Sopenharmony_ci#define VIVS_MC_FLAGS 0x00000558 5628c2ecf20Sopenharmony_ci#define VIVS_MC_FLAGS_128B_MERGE 0x00000001 5638c2ecf20Sopenharmony_ci#define VIVS_MC_FLAGS_TPCV11_COMPRESSION 0x08000000 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_ci#define VIVS_MC_L2_CACHE_CONFIG 0x0000055c 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_ci#define VIVS_MC_PROFILE_L2_READ 0x00000564 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_ci 5708c2ecf20Sopenharmony_ci#endif /* STATE_HI_XML */ 571