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