state_hi.xml.h 32 KB

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