a5xx_reg.h 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2014-2016,2019, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _A5XX_REG_H
  6. #define _A5XX_REG_H
  7. /* A5XX interrupt bits */
  8. #define A5XX_INT_RBBM_GPU_IDLE 0
  9. #define A5XX_INT_RBBM_AHB_ERROR 1
  10. #define A5XX_INT_RBBM_TRANSFER_TIMEOUT 2
  11. #define A5XX_INT_RBBM_ME_MS_TIMEOUT 3
  12. #define A5XX_INT_RBBM_PFP_MS_TIMEOUT 4
  13. #define A5XX_INT_RBBM_ETS_MS_TIMEOUT 5
  14. #define A5XX_INT_RBBM_ATB_ASYNC_OVERFLOW 6
  15. #define A5XX_INT_RBBM_GPC_ERROR 7
  16. #define A5XX_INT_CP_SW 8
  17. #define A5XX_INT_CP_HW_ERROR 9
  18. #define A5XX_INT_CP_CCU_FLUSH_DEPTH_TS 10
  19. #define A5XX_INT_CP_CCU_FLUSH_COLOR_TS 11
  20. #define A5XX_INT_CP_CCU_RESOLVE_TS 12
  21. #define A5XX_INT_CP_IB2 13
  22. #define A5XX_INT_CP_IB1 14
  23. #define A5XX_INT_CP_RB 15
  24. #define A5XX_INT_CP_UNUSED_1 16
  25. #define A5XX_INT_CP_RB_DONE_TS 17
  26. #define A5XX_INT_CP_WT_DONE_TS 18
  27. #define A5XX_INT_UNKNOWN_1 19
  28. #define A5XX_INT_CP_CACHE_FLUSH_TS 20
  29. #define A5XX_INT_UNUSED_2 21
  30. #define A5XX_INT_RBBM_ATB_BUS_OVERFLOW 22
  31. #define A5XX_INT_MISC_HANG_DETECT 23
  32. #define A5XX_INT_UCHE_OOB_ACCESS 24
  33. #define A5XX_INT_UCHE_TRAP_INTR 25
  34. #define A5XX_INT_DEBBUS_INTR_0 26
  35. #define A5XX_INT_DEBBUS_INTR_1 27
  36. #define A5XX_INT_GPMU_VOLTAGE_DROOP 28
  37. #define A5XX_INT_GPMU_FIRMWARE 29
  38. #define A5XX_INT_ISDB_CPU_IRQ 30
  39. #define A5XX_INT_ISDB_UNDER_DEBUG 31
  40. /* CP Interrupt bits */
  41. #define A5XX_CP_OPCODE_ERROR 0
  42. #define A5XX_CP_RESERVED_BIT_ERROR 1
  43. #define A5XX_CP_HW_FAULT_ERROR 2
  44. #define A5XX_CP_DMA_ERROR 3
  45. #define A5XX_CP_REGISTER_PROTECTION_ERROR 4
  46. #define A5XX_CP_AHB_ERROR 5
  47. /* CP registers */
  48. #define A5XX_CP_RB_BASE 0x800
  49. #define A5XX_CP_RB_BASE_HI 0x801
  50. #define A5XX_CP_RB_CNTL 0x802
  51. #define A5XX_CP_RB_RPTR_ADDR_LO 0x804
  52. #define A5XX_CP_RB_RPTR_ADDR_HI 0x805
  53. #define A5XX_CP_RB_RPTR 0x806
  54. #define A5XX_CP_RB_WPTR 0x807
  55. #define A5XX_CP_PFP_STAT_ADDR 0x808
  56. #define A5XX_CP_PFP_STAT_DATA 0x809
  57. #define A5XX_CP_DRAW_STATE_ADDR 0x80B
  58. #define A5XX_CP_DRAW_STATE_DATA 0x80C
  59. #define A5XX_CP_CRASH_SCRIPT_BASE_LO 0x817
  60. #define A5XX_CP_CRASH_SCRIPT_BASE_HI 0x818
  61. #define A5XX_CP_CRASH_DUMP_CNTL 0x819
  62. #define A5XX_CP_ME_STAT_ADDR 0x81A
  63. #define A5XX_CP_ROQ_THRESHOLDS_1 0x81F
  64. #define A5XX_CP_ROQ_THRESHOLDS_2 0x820
  65. #define A5XX_CP_ROQ_DBG_ADDR 0x821
  66. #define A5XX_CP_ROQ_DBG_DATA 0x822
  67. #define A5XX_CP_MEQ_DBG_ADDR 0x823
  68. #define A5XX_CP_MEQ_DBG_DATA 0x824
  69. #define A5XX_CP_MEQ_THRESHOLDS 0x825
  70. #define A5XX_CP_MERCIU_SIZE 0x826
  71. #define A5XX_CP_MERCIU_DBG_ADDR 0x827
  72. #define A5XX_CP_MERCIU_DBG_DATA_1 0x828
  73. #define A5XX_CP_MERCIU_DBG_DATA_2 0x829
  74. #define A5XX_CP_PFP_UCODE_DBG_ADDR 0x82A
  75. #define A5XX_CP_PFP_UCODE_DBG_DATA 0x82B
  76. #define A5XX_CP_ME_UCODE_DBG_ADDR 0x82F
  77. #define A5XX_CP_ME_UCODE_DBG_DATA 0x830
  78. #define A5XX_CP_CNTL 0x831
  79. #define A5XX_CP_ME_CNTL 0x832
  80. #define A5XX_CP_CHICKEN_DBG 0x833
  81. #define A5XX_CP_PFP_INSTR_BASE_LO 0x835
  82. #define A5XX_CP_PFP_INSTR_BASE_HI 0x836
  83. #define A5XX_CP_PM4_INSTR_BASE_LO 0x838
  84. #define A5XX_CP_PM4_INSTR_BASE_HI 0x839
  85. #define A5XX_CP_CONTEXT_SWITCH_CNTL 0x83B
  86. #define A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_LO 0x83C
  87. #define A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_HI 0x83D
  88. #define A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_LO 0x83E
  89. #define A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_HI 0x83F
  90. #define A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x840
  91. #define A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x841
  92. #define A5XX_CP_ADDR_MODE_CNTL 0x860
  93. #define A5XX_CP_ME_STAT_DATA 0xB14
  94. #define A5XX_CP_WFI_PEND_CTR 0xB15
  95. #define A5XX_CP_INTERRUPT_STATUS 0xB18
  96. #define A5XX_CP_HW_FAULT 0xB1A
  97. #define A5XX_CP_PROTECT_STATUS 0xB1C
  98. #define A5XX_CP_IB1_BASE 0xB1F
  99. #define A5XX_CP_IB1_BASE_HI 0xB20
  100. #define A5XX_CP_IB1_BUFSZ 0xB21
  101. #define A5XX_CP_IB2_BASE 0xB22
  102. #define A5XX_CP_IB2_BASE_HI 0xB23
  103. #define A5XX_CP_IB2_BUFSZ 0xB24
  104. #define A5XX_CP_PROTECT_REG_0 0x880
  105. #define A5XX_CP_PROTECT_CNTL 0x8A0
  106. #define A5XX_CP_AHB_FAULT 0xB1B
  107. #define A5XX_CP_PERFCTR_CP_SEL_0 0xBB0
  108. #define A5XX_CP_PERFCTR_CP_SEL_1 0xBB1
  109. #define A5XX_CP_PERFCTR_CP_SEL_2 0xBB2
  110. #define A5XX_CP_PERFCTR_CP_SEL_3 0xBB3
  111. #define A5XX_CP_PERFCTR_CP_SEL_4 0xBB4
  112. #define A5XX_CP_PERFCTR_CP_SEL_5 0xBB5
  113. #define A5XX_CP_PERFCTR_CP_SEL_6 0xBB6
  114. #define A5XX_CP_PERFCTR_CP_SEL_7 0xBB7
  115. #define A5XX_VSC_ADDR_MODE_CNTL 0xBC1
  116. /* CP Power Counter Registers Select */
  117. #define A5XX_CP_POWERCTR_CP_SEL_0 0xBBA
  118. #define A5XX_CP_POWERCTR_CP_SEL_1 0xBBB
  119. #define A5XX_CP_POWERCTR_CP_SEL_2 0xBBC
  120. #define A5XX_CP_POWERCTR_CP_SEL_3 0xBBD
  121. /* RBBM registers */
  122. #define A5XX_RBBM_CFG_DBGBUS_SEL_A 0x4
  123. #define A5XX_RBBM_CFG_DBGBUS_SEL_B 0x5
  124. #define A5XX_RBBM_CFG_DBGBUS_SEL_C 0x6
  125. #define A5XX_RBBM_CFG_DBGBUS_SEL_D 0x7
  126. #define A5XX_RBBM_CFG_DBGBUS_SEL_PING_INDEX_SHIFT 0x0
  127. #define A5XX_RBBM_CFG_DBGBUS_SEL_PING_BLK_SEL_SHIFT 0x8
  128. #define A5XX_RBBM_CFG_DBGBUS_CNTLT 0x8
  129. #define A5XX_RBBM_CFG_DBGBUS_CNTLM 0x9
  130. #define A5XX_RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT 0x18
  131. #define A5XX_RBBM_CFG_DBGBUS_OPL 0xA
  132. #define A5XX_RBBM_CFG_DBGBUS_OPE 0xB
  133. #define A5XX_RBBM_CFG_DBGBUS_IVTL_0 0xC
  134. #define A5XX_RBBM_CFG_DBGBUS_IVTL_1 0xD
  135. #define A5XX_RBBM_CFG_DBGBUS_IVTL_2 0xE
  136. #define A5XX_RBBM_CFG_DBGBUS_IVTL_3 0xF
  137. #define A5XX_RBBM_CFG_DBGBUS_MASKL_0 0x10
  138. #define A5XX_RBBM_CFG_DBGBUS_MASKL_1 0x11
  139. #define A5XX_RBBM_CFG_DBGBUS_MASKL_2 0x12
  140. #define A5XX_RBBM_CFG_DBGBUS_MASKL_3 0x13
  141. #define A5XX_RBBM_CFG_DBGBUS_BYTEL_0 0x14
  142. #define A5XX_RBBM_CFG_DBGBUS_BYTEL_1 0x15
  143. #define A5XX_RBBM_CFG_DBGBUS_IVTE_0 0x16
  144. #define A5XX_RBBM_CFG_DBGBUS_IVTE_1 0x17
  145. #define A5XX_RBBM_CFG_DBGBUS_IVTE_2 0x18
  146. #define A5XX_RBBM_CFG_DBGBUS_IVTE_3 0x19
  147. #define A5XX_RBBM_CFG_DBGBUS_MASKE_0 0x1A
  148. #define A5XX_RBBM_CFG_DBGBUS_MASKE_1 0x1B
  149. #define A5XX_RBBM_CFG_DBGBUS_MASKE_2 0x1C
  150. #define A5XX_RBBM_CFG_DBGBUS_MASKE_3 0x1D
  151. #define A5XX_RBBM_CFG_DBGBUS_NIBBLEE 0x1E
  152. #define A5XX_RBBM_CFG_DBGBUS_PTRC0 0x1F
  153. #define A5XX_RBBM_CFG_DBGBUS_PTRC1 0x20
  154. #define A5XX_RBBM_CFG_DBGBUS_LOADREG 0x21
  155. #define A5XX_RBBM_CFG_DBGBUS_IDX 0x22
  156. #define A5XX_RBBM_CFG_DBGBUS_CLRC 0x23
  157. #define A5XX_RBBM_CFG_DBGBUS_LOADIVT 0x24
  158. #define A5XX_RBBM_INTERFACE_HANG_INT_CNTL 0x2F
  159. #define A5XX_RBBM_INT_CLEAR_CMD 0x37
  160. #define A5XX_RBBM_INT_0_MASK 0x38
  161. #define A5XX_RBBM_AHB_DBG_CNTL 0x3F
  162. #define A5XX_RBBM_EXT_VBIF_DBG_CNTL 0x41
  163. #define A5XX_RBBM_SW_RESET_CMD 0x43
  164. #define A5XX_RBBM_BLOCK_SW_RESET_CMD 0x45
  165. #define A5XX_RBBM_BLOCK_SW_RESET_CMD2 0x46
  166. #define A5XX_RBBM_DBG_LO_HI_GPIO 0x48
  167. #define A5XX_RBBM_EXT_TRACE_BUS_CNTL 0x49
  168. #define A5XX_RBBM_CLOCK_CNTL_TP0 0x4A
  169. #define A5XX_RBBM_CLOCK_CNTL_TP1 0x4B
  170. #define A5XX_RBBM_CLOCK_CNTL_TP2 0x4C
  171. #define A5XX_RBBM_CLOCK_CNTL_TP3 0x4D
  172. #define A5XX_RBBM_CLOCK_CNTL2_TP0 0x4E
  173. #define A5XX_RBBM_CLOCK_CNTL2_TP1 0x4F
  174. #define A5XX_RBBM_CLOCK_CNTL2_TP2 0x50
  175. #define A5XX_RBBM_CLOCK_CNTL2_TP3 0x51
  176. #define A5XX_RBBM_CLOCK_CNTL3_TP0 0x52
  177. #define A5XX_RBBM_CLOCK_CNTL3_TP1 0x53
  178. #define A5XX_RBBM_CLOCK_CNTL3_TP2 0x54
  179. #define A5XX_RBBM_CLOCK_CNTL3_TP3 0x55
  180. #define A5XX_RBBM_READ_AHB_THROUGH_DBG 0x59
  181. #define A5XX_RBBM_CLOCK_CNTL_UCHE 0x5A
  182. #define A5XX_RBBM_CLOCK_CNTL2_UCHE 0x5B
  183. #define A5XX_RBBM_CLOCK_CNTL3_UCHE 0x5C
  184. #define A5XX_RBBM_CLOCK_CNTL4_UCHE 0x5D
  185. #define A5XX_RBBM_CLOCK_HYST_UCHE 0x5E
  186. #define A5XX_RBBM_CLOCK_DELAY_UCHE 0x5F
  187. #define A5XX_RBBM_CLOCK_MODE_GPC 0x60
  188. #define A5XX_RBBM_CLOCK_DELAY_GPC 0x61
  189. #define A5XX_RBBM_CLOCK_HYST_GPC 0x62
  190. #define A5XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x63
  191. #define A5XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x64
  192. #define A5XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x65
  193. #define A5XX_RBBM_CLOCK_DELAY_HLSQ 0x66
  194. #define A5XX_RBBM_CLOCK_CNTL 0x67
  195. #define A5XX_RBBM_CLOCK_CNTL_SP0 0x68
  196. #define A5XX_RBBM_CLOCK_CNTL_SP1 0x69
  197. #define A5XX_RBBM_CLOCK_CNTL_SP2 0x6A
  198. #define A5XX_RBBM_CLOCK_CNTL_SP3 0x6B
  199. #define A5XX_RBBM_CLOCK_CNTL2_SP0 0x6C
  200. #define A5XX_RBBM_CLOCK_CNTL2_SP1 0x6D
  201. #define A5XX_RBBM_CLOCK_CNTL2_SP2 0x6E
  202. #define A5XX_RBBM_CLOCK_CNTL2_SP3 0x6F
  203. #define A5XX_RBBM_CLOCK_HYST_SP0 0x70
  204. #define A5XX_RBBM_CLOCK_HYST_SP1 0x71
  205. #define A5XX_RBBM_CLOCK_HYST_SP2 0x72
  206. #define A5XX_RBBM_CLOCK_HYST_SP3 0x73
  207. #define A5XX_RBBM_CLOCK_DELAY_SP0 0x74
  208. #define A5XX_RBBM_CLOCK_DELAY_SP1 0x75
  209. #define A5XX_RBBM_CLOCK_DELAY_SP2 0x76
  210. #define A5XX_RBBM_CLOCK_DELAY_SP3 0x77
  211. #define A5XX_RBBM_CLOCK_CNTL_RB0 0x78
  212. #define A5XX_RBBM_CLOCK_CNTL_RB1 0x79
  213. #define A5XX_RBBM_CLOCK_CNTL_RB2 0x7a
  214. #define A5XX_RBBM_CLOCK_CNTL_RB3 0x7B
  215. #define A5XX_RBBM_CLOCK_CNTL2_RB0 0x7C
  216. #define A5XX_RBBM_CLOCK_CNTL2_RB1 0x7D
  217. #define A5XX_RBBM_CLOCK_CNTL2_RB2 0x7E
  218. #define A5XX_RBBM_CLOCK_CNTL2_RB3 0x7F
  219. #define A5XX_RBBM_CLOCK_HYST_RAC 0x80
  220. #define A5XX_RBBM_CLOCK_DELAY_RAC 0x81
  221. #define A5XX_RBBM_CLOCK_CNTL_CCU0 0x82
  222. #define A5XX_RBBM_CLOCK_CNTL_CCU1 0x83
  223. #define A5XX_RBBM_CLOCK_CNTL_CCU2 0x84
  224. #define A5XX_RBBM_CLOCK_CNTL_CCU3 0x85
  225. #define A5XX_RBBM_CLOCK_HYST_RB_CCU0 0x86
  226. #define A5XX_RBBM_CLOCK_HYST_RB_CCU1 0x87
  227. #define A5XX_RBBM_CLOCK_HYST_RB_CCU2 0x88
  228. #define A5XX_RBBM_CLOCK_HYST_RB_CCU3 0x89
  229. #define A5XX_RBBM_CLOCK_CNTL_RAC 0x8A
  230. #define A5XX_RBBM_CLOCK_CNTL2_RAC 0x8B
  231. #define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_0 0x8C
  232. #define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_1 0x8D
  233. #define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_2 0x8E
  234. #define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_3 0x8F
  235. #define A5XX_RBBM_CLOCK_HYST_VFD 0x90
  236. #define A5XX_RBBM_CLOCK_MODE_VFD 0x91
  237. #define A5XX_RBBM_CLOCK_DELAY_VFD 0x92
  238. #define A5XX_RBBM_AHB_CNTL0 0x93
  239. #define A5XX_RBBM_AHB_CNTL1 0x94
  240. #define A5XX_RBBM_AHB_CNTL2 0x95
  241. #define A5XX_RBBM_AHB_CMD 0x96
  242. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL11 0x9C
  243. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL12 0x9D
  244. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL13 0x9E
  245. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL14 0x9F
  246. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL15 0xA0
  247. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL16 0xA1
  248. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL17 0xA2
  249. #define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL18 0xA3
  250. #define A5XX_RBBM_CLOCK_DELAY_TP0 0xA4
  251. #define A5XX_RBBM_CLOCK_DELAY_TP1 0xA5
  252. #define A5XX_RBBM_CLOCK_DELAY_TP2 0xA6
  253. #define A5XX_RBBM_CLOCK_DELAY_TP3 0xA7
  254. #define A5XX_RBBM_CLOCK_DELAY2_TP0 0xA8
  255. #define A5XX_RBBM_CLOCK_DELAY2_TP1 0xA9
  256. #define A5XX_RBBM_CLOCK_DELAY2_TP2 0xAA
  257. #define A5XX_RBBM_CLOCK_DELAY2_TP3 0xAB
  258. #define A5XX_RBBM_CLOCK_DELAY3_TP0 0xAC
  259. #define A5XX_RBBM_CLOCK_DELAY3_TP1 0xAD
  260. #define A5XX_RBBM_CLOCK_DELAY3_TP2 0xAE
  261. #define A5XX_RBBM_CLOCK_DELAY3_TP3 0xAF
  262. #define A5XX_RBBM_CLOCK_HYST_TP0 0xB0
  263. #define A5XX_RBBM_CLOCK_HYST_TP1 0xB1
  264. #define A5XX_RBBM_CLOCK_HYST_TP2 0xB2
  265. #define A5XX_RBBM_CLOCK_HYST_TP3 0xB3
  266. #define A5XX_RBBM_CLOCK_HYST2_TP0 0xB4
  267. #define A5XX_RBBM_CLOCK_HYST2_TP1 0xB5
  268. #define A5XX_RBBM_CLOCK_HYST2_TP2 0xB6
  269. #define A5XX_RBBM_CLOCK_HYST2_TP3 0xB7
  270. #define A5XX_RBBM_CLOCK_HYST3_TP0 0xB8
  271. #define A5XX_RBBM_CLOCK_HYST3_TP1 0xB9
  272. #define A5XX_RBBM_CLOCK_HYST3_TP2 0xBA
  273. #define A5XX_RBBM_CLOCK_HYST3_TP3 0xBB
  274. #define A5XX_RBBM_CLOCK_CNTL_GPMU 0xC8
  275. #define A5XX_RBBM_CLOCK_DELAY_GPMU 0xC9
  276. #define A5XX_RBBM_CLOCK_HYST_GPMU 0xCA
  277. #define A5XX_RBBM_PERFCTR_CP_0_LO 0x3A0
  278. #define A5XX_RBBM_PERFCTR_CP_0_HI 0x3A1
  279. #define A5XX_RBBM_PERFCTR_CP_1_LO 0x3A2
  280. #define A5XX_RBBM_PERFCTR_CP_1_HI 0x3A3
  281. #define A5XX_RBBM_PERFCTR_CP_2_LO 0x3A4
  282. #define A5XX_RBBM_PERFCTR_CP_2_HI 0x3A5
  283. #define A5XX_RBBM_PERFCTR_CP_3_LO 0x3A6
  284. #define A5XX_RBBM_PERFCTR_CP_3_HI 0x3A7
  285. #define A5XX_RBBM_PERFCTR_CP_4_LO 0x3A8
  286. #define A5XX_RBBM_PERFCTR_CP_4_HI 0x3A9
  287. #define A5XX_RBBM_PERFCTR_CP_5_LO 0x3AA
  288. #define A5XX_RBBM_PERFCTR_CP_5_HI 0x3AB
  289. #define A5XX_RBBM_PERFCTR_CP_6_LO 0x3AC
  290. #define A5XX_RBBM_PERFCTR_CP_6_HI 0x3AD
  291. #define A5XX_RBBM_PERFCTR_CP_7_LO 0x3AE
  292. #define A5XX_RBBM_PERFCTR_CP_7_HI 0x3AF
  293. #define A5XX_RBBM_PERFCTR_RBBM_0_LO 0x3B0
  294. #define A5XX_RBBM_PERFCTR_RBBM_0_HI 0x3B1
  295. #define A5XX_RBBM_PERFCTR_RBBM_1_LO 0x3B2
  296. #define A5XX_RBBM_PERFCTR_RBBM_1_HI 0x3B3
  297. #define A5XX_RBBM_PERFCTR_RBBM_2_LO 0x3B4
  298. #define A5XX_RBBM_PERFCTR_RBBM_2_HI 0x3B5
  299. #define A5XX_RBBM_PERFCTR_RBBM_3_LO 0x3B6
  300. #define A5XX_RBBM_PERFCTR_RBBM_3_HI 0x3B7
  301. #define A5XX_RBBM_PERFCTR_PC_0_LO 0x3B8
  302. #define A5XX_RBBM_PERFCTR_PC_0_HI 0x3B9
  303. #define A5XX_RBBM_PERFCTR_PC_1_LO 0x3BA
  304. #define A5XX_RBBM_PERFCTR_PC_1_HI 0x3BB
  305. #define A5XX_RBBM_PERFCTR_PC_2_LO 0x3BC
  306. #define A5XX_RBBM_PERFCTR_PC_2_HI 0x3BD
  307. #define A5XX_RBBM_PERFCTR_PC_3_LO 0x3BE
  308. #define A5XX_RBBM_PERFCTR_PC_3_HI 0x3BF
  309. #define A5XX_RBBM_PERFCTR_PC_4_LO 0x3C0
  310. #define A5XX_RBBM_PERFCTR_PC_4_HI 0x3C1
  311. #define A5XX_RBBM_PERFCTR_PC_5_LO 0x3C2
  312. #define A5XX_RBBM_PERFCTR_PC_5_HI 0x3C3
  313. #define A5XX_RBBM_PERFCTR_PC_6_LO 0x3C4
  314. #define A5XX_RBBM_PERFCTR_PC_6_HI 0x3C5
  315. #define A5XX_RBBM_PERFCTR_PC_7_LO 0x3C6
  316. #define A5XX_RBBM_PERFCTR_PC_7_HI 0x3C7
  317. #define A5XX_RBBM_PERFCTR_VFD_0_LO 0x3C8
  318. #define A5XX_RBBM_PERFCTR_VFD_0_HI 0x3C9
  319. #define A5XX_RBBM_PERFCTR_VFD_1_LO 0x3CA
  320. #define A5XX_RBBM_PERFCTR_VFD_1_HI 0x3CB
  321. #define A5XX_RBBM_PERFCTR_VFD_2_LO 0x3CC
  322. #define A5XX_RBBM_PERFCTR_VFD_2_HI 0x3CD
  323. #define A5XX_RBBM_PERFCTR_VFD_3_LO 0x3CE
  324. #define A5XX_RBBM_PERFCTR_VFD_3_HI 0x3CF
  325. #define A5XX_RBBM_PERFCTR_VFD_4_LO 0x3D0
  326. #define A5XX_RBBM_PERFCTR_VFD_4_HI 0x3D1
  327. #define A5XX_RBBM_PERFCTR_VFD_5_LO 0x3D2
  328. #define A5XX_RBBM_PERFCTR_VFD_5_HI 0x3D3
  329. #define A5XX_RBBM_PERFCTR_VFD_6_LO 0x3D4
  330. #define A5XX_RBBM_PERFCTR_VFD_6_HI 0x3D5
  331. #define A5XX_RBBM_PERFCTR_VFD_7_LO 0x3D6
  332. #define A5XX_RBBM_PERFCTR_VFD_7_HI 0x3D7
  333. #define A5XX_RBBM_PERFCTR_HLSQ_0_LO 0x3D8
  334. #define A5XX_RBBM_PERFCTR_HLSQ_0_HI 0x3D9
  335. #define A5XX_RBBM_PERFCTR_HLSQ_1_LO 0x3DA
  336. #define A5XX_RBBM_PERFCTR_HLSQ_1_HI 0x3DB
  337. #define A5XX_RBBM_PERFCTR_HLSQ_2_LO 0x3DC
  338. #define A5XX_RBBM_PERFCTR_HLSQ_2_HI 0x3DD
  339. #define A5XX_RBBM_PERFCTR_HLSQ_3_LO 0x3DE
  340. #define A5XX_RBBM_PERFCTR_HLSQ_3_HI 0x3DF
  341. #define A5XX_RBBM_PERFCTR_HLSQ_4_LO 0x3E0
  342. #define A5XX_RBBM_PERFCTR_HLSQ_4_HI 0x3E1
  343. #define A5XX_RBBM_PERFCTR_HLSQ_5_LO 0x3E2
  344. #define A5XX_RBBM_PERFCTR_HLSQ_5_HI 0x3E3
  345. #define A5XX_RBBM_PERFCTR_HLSQ_6_LO 0x3E4
  346. #define A5XX_RBBM_PERFCTR_HLSQ_6_HI 0x3E5
  347. #define A5XX_RBBM_PERFCTR_HLSQ_7_LO 0x3E6
  348. #define A5XX_RBBM_PERFCTR_HLSQ_7_HI 0x3E7
  349. #define A5XX_RBBM_PERFCTR_VPC_0_LO 0x3E8
  350. #define A5XX_RBBM_PERFCTR_VPC_0_HI 0x3E9
  351. #define A5XX_RBBM_PERFCTR_VPC_1_LO 0x3EA
  352. #define A5XX_RBBM_PERFCTR_VPC_1_HI 0x3EB
  353. #define A5XX_RBBM_PERFCTR_VPC_2_LO 0x3EC
  354. #define A5XX_RBBM_PERFCTR_VPC_2_HI 0x3ED
  355. #define A5XX_RBBM_PERFCTR_VPC_3_LO 0x3EE
  356. #define A5XX_RBBM_PERFCTR_VPC_3_HI 0x3EF
  357. #define A5XX_RBBM_PERFCTR_CCU_0_LO 0x3F0
  358. #define A5XX_RBBM_PERFCTR_CCU_0_HI 0x3F1
  359. #define A5XX_RBBM_PERFCTR_CCU_1_LO 0x3F2
  360. #define A5XX_RBBM_PERFCTR_CCU_1_HI 0x3F3
  361. #define A5XX_RBBM_PERFCTR_CCU_2_LO 0x3F4
  362. #define A5XX_RBBM_PERFCTR_CCU_2_HI 0x3F5
  363. #define A5XX_RBBM_PERFCTR_CCU_3_LO 0x3F6
  364. #define A5XX_RBBM_PERFCTR_CCU_3_HI 0x3F7
  365. #define A5XX_RBBM_PERFCTR_TSE_0_LO 0x3F8
  366. #define A5XX_RBBM_PERFCTR_TSE_0_HI 0x3F9
  367. #define A5XX_RBBM_PERFCTR_TSE_1_LO 0x3FA
  368. #define A5XX_RBBM_PERFCTR_TSE_1_HI 0x3FB
  369. #define A5XX_RBBM_PERFCTR_TSE_2_LO 0x3FC
  370. #define A5XX_RBBM_PERFCTR_TSE_2_HI 0x3FD
  371. #define A5XX_RBBM_PERFCTR_TSE_3_LO 0x3FE
  372. #define A5XX_RBBM_PERFCTR_TSE_3_HI 0x3FF
  373. #define A5XX_RBBM_PERFCTR_RAS_0_LO 0x400
  374. #define A5XX_RBBM_PERFCTR_RAS_0_HI 0x401
  375. #define A5XX_RBBM_PERFCTR_RAS_1_LO 0x402
  376. #define A5XX_RBBM_PERFCTR_RAS_1_HI 0x403
  377. #define A5XX_RBBM_PERFCTR_RAS_2_LO 0x404
  378. #define A5XX_RBBM_PERFCTR_RAS_2_HI 0x405
  379. #define A5XX_RBBM_PERFCTR_RAS_3_LO 0x406
  380. #define A5XX_RBBM_PERFCTR_RAS_3_HI 0x407
  381. #define A5XX_RBBM_PERFCTR_UCHE_0_LO 0x408
  382. #define A5XX_RBBM_PERFCTR_UCHE_0_HI 0x409
  383. #define A5XX_RBBM_PERFCTR_UCHE_1_LO 0x40A
  384. #define A5XX_RBBM_PERFCTR_UCHE_1_HI 0x40B
  385. #define A5XX_RBBM_PERFCTR_UCHE_2_LO 0x40C
  386. #define A5XX_RBBM_PERFCTR_UCHE_2_HI 0x40D
  387. #define A5XX_RBBM_PERFCTR_UCHE_3_LO 0x40E
  388. #define A5XX_RBBM_PERFCTR_UCHE_3_HI 0x40F
  389. #define A5XX_RBBM_PERFCTR_UCHE_4_LO 0x410
  390. #define A5XX_RBBM_PERFCTR_UCHE_4_HI 0x411
  391. #define A5XX_RBBM_PERFCTR_UCHE_5_LO 0x412
  392. #define A5XX_RBBM_PERFCTR_UCHE_5_HI 0x413
  393. #define A5XX_RBBM_PERFCTR_UCHE_6_LO 0x414
  394. #define A5XX_RBBM_PERFCTR_UCHE_6_HI 0x415
  395. #define A5XX_RBBM_PERFCTR_UCHE_7_LO 0x416
  396. #define A5XX_RBBM_PERFCTR_UCHE_7_HI 0x417
  397. #define A5XX_RBBM_PERFCTR_TP_0_LO 0x418
  398. #define A5XX_RBBM_PERFCTR_TP_0_HI 0x419
  399. #define A5XX_RBBM_PERFCTR_TP_1_LO 0x41A
  400. #define A5XX_RBBM_PERFCTR_TP_1_HI 0x41B
  401. #define A5XX_RBBM_PERFCTR_TP_2_LO 0x41C
  402. #define A5XX_RBBM_PERFCTR_TP_2_HI 0x41D
  403. #define A5XX_RBBM_PERFCTR_TP_3_LO 0x41E
  404. #define A5XX_RBBM_PERFCTR_TP_3_HI 0x41F
  405. #define A5XX_RBBM_PERFCTR_TP_4_LO 0x420
  406. #define A5XX_RBBM_PERFCTR_TP_4_HI 0x421
  407. #define A5XX_RBBM_PERFCTR_TP_5_LO 0x422
  408. #define A5XX_RBBM_PERFCTR_TP_5_HI 0x423
  409. #define A5XX_RBBM_PERFCTR_TP_6_LO 0x424
  410. #define A5XX_RBBM_PERFCTR_TP_6_HI 0x425
  411. #define A5XX_RBBM_PERFCTR_TP_7_LO 0x426
  412. #define A5XX_RBBM_PERFCTR_TP_7_HI 0x427
  413. #define A5XX_RBBM_PERFCTR_SP_0_LO 0x428
  414. #define A5XX_RBBM_PERFCTR_SP_0_HI 0x429
  415. #define A5XX_RBBM_PERFCTR_SP_1_LO 0x42A
  416. #define A5XX_RBBM_PERFCTR_SP_1_HI 0x42B
  417. #define A5XX_RBBM_PERFCTR_SP_2_LO 0x42C
  418. #define A5XX_RBBM_PERFCTR_SP_2_HI 0x42D
  419. #define A5XX_RBBM_PERFCTR_SP_3_LO 0x42E
  420. #define A5XX_RBBM_PERFCTR_SP_3_HI 0x42F
  421. #define A5XX_RBBM_PERFCTR_SP_4_LO 0x430
  422. #define A5XX_RBBM_PERFCTR_SP_4_HI 0x431
  423. #define A5XX_RBBM_PERFCTR_SP_5_LO 0x432
  424. #define A5XX_RBBM_PERFCTR_SP_5_HI 0x433
  425. #define A5XX_RBBM_PERFCTR_SP_6_LO 0x434
  426. #define A5XX_RBBM_PERFCTR_SP_6_HI 0x435
  427. #define A5XX_RBBM_PERFCTR_SP_7_LO 0x436
  428. #define A5XX_RBBM_PERFCTR_SP_7_HI 0x437
  429. #define A5XX_RBBM_PERFCTR_SP_8_LO 0x438
  430. #define A5XX_RBBM_PERFCTR_SP_8_HI 0x439
  431. #define A5XX_RBBM_PERFCTR_SP_9_LO 0x43A
  432. #define A5XX_RBBM_PERFCTR_SP_9_HI 0x43B
  433. #define A5XX_RBBM_PERFCTR_SP_10_LO 0x43C
  434. #define A5XX_RBBM_PERFCTR_SP_10_HI 0x43D
  435. #define A5XX_RBBM_PERFCTR_SP_11_LO 0x43E
  436. #define A5XX_RBBM_PERFCTR_SP_11_HI 0x43F
  437. #define A5XX_RBBM_PERFCTR_RB_0_LO 0x440
  438. #define A5XX_RBBM_PERFCTR_RB_0_HI 0x441
  439. #define A5XX_RBBM_PERFCTR_RB_1_LO 0x442
  440. #define A5XX_RBBM_PERFCTR_RB_1_HI 0x443
  441. #define A5XX_RBBM_PERFCTR_RB_2_LO 0x444
  442. #define A5XX_RBBM_PERFCTR_RB_2_HI 0x445
  443. #define A5XX_RBBM_PERFCTR_RB_3_LO 0x446
  444. #define A5XX_RBBM_PERFCTR_RB_3_HI 0x447
  445. #define A5XX_RBBM_PERFCTR_RB_4_LO 0x448
  446. #define A5XX_RBBM_PERFCTR_RB_4_HI 0x449
  447. #define A5XX_RBBM_PERFCTR_RB_5_LO 0x44A
  448. #define A5XX_RBBM_PERFCTR_RB_5_HI 0x44B
  449. #define A5XX_RBBM_PERFCTR_RB_6_LO 0x44C
  450. #define A5XX_RBBM_PERFCTR_RB_6_HI 0x44D
  451. #define A5XX_RBBM_PERFCTR_RB_7_LO 0x44E
  452. #define A5XX_RBBM_PERFCTR_RB_7_HI 0x44F
  453. #define A5XX_RBBM_PERFCTR_VSC_0_LO 0x450
  454. #define A5XX_RBBM_PERFCTR_VSC_0_HI 0x451
  455. #define A5XX_RBBM_PERFCTR_VSC_1_LO 0x452
  456. #define A5XX_RBBM_PERFCTR_VSC_1_HI 0x453
  457. #define A5XX_RBBM_PERFCTR_LRZ_0_LO 0x454
  458. #define A5XX_RBBM_PERFCTR_LRZ_0_HI 0x455
  459. #define A5XX_RBBM_PERFCTR_LRZ_1_LO 0x456
  460. #define A5XX_RBBM_PERFCTR_LRZ_1_HI 0x457
  461. #define A5XX_RBBM_PERFCTR_LRZ_2_LO 0x458
  462. #define A5XX_RBBM_PERFCTR_LRZ_2_HI 0x459
  463. #define A5XX_RBBM_PERFCTR_LRZ_3_LO 0x45A
  464. #define A5XX_RBBM_PERFCTR_LRZ_3_HI 0x45B
  465. #define A5XX_RBBM_PERFCTR_CMP_0_LO 0x45C
  466. #define A5XX_RBBM_PERFCTR_CMP_0_HI 0x45D
  467. #define A5XX_RBBM_PERFCTR_CMP_1_LO 0x45E
  468. #define A5XX_RBBM_PERFCTR_CMP_1_HI 0x45F
  469. #define A5XX_RBBM_PERFCTR_CMP_2_LO 0x460
  470. #define A5XX_RBBM_PERFCTR_CMP_2_HI 0x461
  471. #define A5XX_RBBM_PERFCTR_CMP_3_LO 0x462
  472. #define A5XX_RBBM_PERFCTR_CMP_3_HI 0x463
  473. #define A5XX_RBBM_PERFCTR_RBBM_SEL_0 0x46B
  474. #define A5XX_RBBM_PERFCTR_RBBM_SEL_1 0x46C
  475. #define A5XX_RBBM_PERFCTR_RBBM_SEL_2 0x46D
  476. #define A5XX_RBBM_PERFCTR_RBBM_SEL_3 0x46E
  477. #define A5XX_RBBM_ALWAYSON_COUNTER_LO 0x4D2
  478. #define A5XX_RBBM_ALWAYSON_COUNTER_HI 0x4D3
  479. #define A5XX_RBBM_STATUS 0x4F5
  480. #define A5XX_RBBM_STATUS3 0x530
  481. #define A5XX_RBBM_INT_0_STATUS 0x4E1
  482. #define A5XX_RBBM_AHB_ME_SPLIT_STATUS 0x4F0
  483. #define A5XX_RBBM_AHB_PFP_SPLIT_STATUS 0x4F1
  484. #define A5XX_RBBM_AHB_ERROR_STATUS 0x4F4
  485. #define A5XX_RBBM_PERFCTR_CNTL 0x464
  486. #define A5XX_RBBM_PERFCTR_LOAD_CMD0 0x465
  487. #define A5XX_RBBM_PERFCTR_LOAD_CMD1 0x466
  488. #define A5XX_RBBM_PERFCTR_LOAD_CMD2 0x467
  489. #define A5XX_RBBM_PERFCTR_LOAD_CMD3 0x468
  490. #define A5XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x469
  491. #define A5XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x46A
  492. #define A5XX_RBBM_PERFCTR_RBBM_SEL_0 0x46B
  493. #define A5XX_RBBM_PERFCTR_RBBM_SEL_1 0x46C
  494. #define A5XX_RBBM_PERFCTR_RBBM_SEL_2 0x46D
  495. #define A5XX_RBBM_PERFCTR_RBBM_SEL_3 0x46E
  496. #define A5XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x46F
  497. #define A5XX_RBBM_CFG_DBGBUS_EVENT_LOGIC 0x504
  498. #define A5XX_RBBM_CFG_DBGBUS_OVER 0x505
  499. #define A5XX_RBBM_CFG_DBGBUS_COUNT0 0x506
  500. #define A5XX_RBBM_CFG_DBGBUS_COUNT1 0x507
  501. #define A5XX_RBBM_CFG_DBGBUS_COUNT2 0x508
  502. #define A5XX_RBBM_CFG_DBGBUS_COUNT3 0x509
  503. #define A5XX_RBBM_CFG_DBGBUS_COUNT4 0x50A
  504. #define A5XX_RBBM_CFG_DBGBUS_COUNT5 0x50B
  505. #define A5XX_RBBM_CFG_DBGBUS_TRACE_ADDR 0x50C
  506. #define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF0 0x50D
  507. #define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF1 0x50E
  508. #define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF2 0x50F
  509. #define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF3 0x510
  510. #define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF4 0x511
  511. #define A5XX_RBBM_CFG_DBGBUS_MISR0 0x512
  512. #define A5XX_RBBM_CFG_DBGBUS_MISR1 0x513
  513. #define A5XX_RBBM_ISDB_CNT 0x533
  514. #define A5XX_RBBM_SECVID_TRUST_CONFIG 0xF000
  515. #define A5XX_RBBM_SECVID_TRUST_CNTL 0xF400
  516. #define A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0xF800
  517. #define A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0xF801
  518. #define A5XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0xF802
  519. #define A5XX_RBBM_SECVID_TSB_CNTL 0xF803
  520. #define A5XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0xF810
  521. /* VSC registers */
  522. #define A5XX_VSC_PERFCTR_VSC_SEL_0 0xC60
  523. #define A5XX_VSC_PERFCTR_VSC_SEL_1 0xC61
  524. #define A5XX_GRAS_ADDR_MODE_CNTL 0xC81
  525. /* TSE registers */
  526. #define A5XX_GRAS_PERFCTR_TSE_SEL_0 0xC90
  527. #define A5XX_GRAS_PERFCTR_TSE_SEL_1 0xC91
  528. #define A5XX_GRAS_PERFCTR_TSE_SEL_2 0xC92
  529. #define A5XX_GRAS_PERFCTR_TSE_SEL_3 0xC93
  530. /* RAS registers */
  531. #define A5XX_GRAS_PERFCTR_RAS_SEL_0 0xC94
  532. #define A5XX_GRAS_PERFCTR_RAS_SEL_1 0xC95
  533. #define A5XX_GRAS_PERFCTR_RAS_SEL_2 0xC96
  534. #define A5XX_GRAS_PERFCTR_RAS_SEL_3 0xC97
  535. /* LRZ registers */
  536. #define A5XX_GRAS_PERFCTR_LRZ_SEL_0 0xC98
  537. #define A5XX_GRAS_PERFCTR_LRZ_SEL_1 0xC99
  538. #define A5XX_GRAS_PERFCTR_LRZ_SEL_2 0xC9A
  539. #define A5XX_GRAS_PERFCTR_LRZ_SEL_3 0xC9B
  540. /* RB registers */
  541. #define A5XX_RB_DBG_ECO_CNT 0xCC4
  542. #define A5XX_RB_ADDR_MODE_CNTL 0xCC5
  543. #define A5XX_RB_MODE_CNTL 0xCC6
  544. #define A5XX_RB_PERFCTR_RB_SEL_0 0xCD0
  545. #define A5XX_RB_PERFCTR_RB_SEL_1 0xCD1
  546. #define A5XX_RB_PERFCTR_RB_SEL_2 0xCD2
  547. #define A5XX_RB_PERFCTR_RB_SEL_3 0xCD3
  548. #define A5XX_RB_PERFCTR_RB_SEL_4 0xCD4
  549. #define A5XX_RB_PERFCTR_RB_SEL_5 0xCD5
  550. #define A5XX_RB_PERFCTR_RB_SEL_6 0xCD6
  551. #define A5XX_RB_PERFCTR_RB_SEL_7 0xCD7
  552. /* CCU registers */
  553. #define A5XX_RB_PERFCTR_CCU_SEL_0 0xCD8
  554. #define A5XX_RB_PERFCTR_CCU_SEL_1 0xCD9
  555. #define A5XX_RB_PERFCTR_CCU_SEL_2 0xCDA
  556. #define A5XX_RB_PERFCTR_CCU_SEL_3 0xCDB
  557. /* RB Power Counter RB Registers Select */
  558. #define A5XX_RB_POWERCTR_RB_SEL_0 0xCE0
  559. #define A5XX_RB_POWERCTR_RB_SEL_1 0xCE1
  560. #define A5XX_RB_POWERCTR_RB_SEL_2 0xCE2
  561. #define A5XX_RB_POWERCTR_RB_SEL_3 0xCE3
  562. /* RB Power Counter CCU Registers Select */
  563. #define A5XX_RB_POWERCTR_CCU_SEL_0 0xCE4
  564. #define A5XX_RB_POWERCTR_CCU_SEL_1 0xCE5
  565. /* CMP registers */
  566. #define A5XX_RB_PERFCTR_CMP_SEL_0 0xCEC
  567. #define A5XX_RB_PERFCTR_CMP_SEL_1 0xCED
  568. #define A5XX_RB_PERFCTR_CMP_SEL_2 0xCEE
  569. #define A5XX_RB_PERFCTR_CMP_SEL_3 0xCEF
  570. /* PC registers */
  571. #define A5XX_PC_DBG_ECO_CNTL 0xD00
  572. #define A5XX_PC_ADDR_MODE_CNTL 0xD01
  573. #define A5XX_PC_PERFCTR_PC_SEL_0 0xD10
  574. #define A5XX_PC_PERFCTR_PC_SEL_1 0xD11
  575. #define A5XX_PC_PERFCTR_PC_SEL_2 0xD12
  576. #define A5XX_PC_PERFCTR_PC_SEL_3 0xD13
  577. #define A5XX_PC_PERFCTR_PC_SEL_4 0xD14
  578. #define A5XX_PC_PERFCTR_PC_SEL_5 0xD15
  579. #define A5XX_PC_PERFCTR_PC_SEL_6 0xD16
  580. #define A5XX_PC_PERFCTR_PC_SEL_7 0xD17
  581. /* HLSQ registers */
  582. #define A5XX_HLSQ_DBG_ECO_CNTL 0xE04
  583. #define A5XX_HLSQ_ADDR_MODE_CNTL 0xE05
  584. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_0 0xE10
  585. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_1 0xE11
  586. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_2 0xE12
  587. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_3 0xE13
  588. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_4 0xE14
  589. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_5 0xE15
  590. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_6 0xE16
  591. #define A5XX_HLSQ_PERFCTR_HLSQ_SEL_7 0xE17
  592. #define A5XX_HLSQ_DBG_READ_SEL 0xBC00
  593. #define A5XX_HLSQ_DBG_AHB_READ_APERTURE 0xA000
  594. /* VFD registers */
  595. #define A5XX_VFD_ADDR_MODE_CNTL 0xE41
  596. #define A5XX_VFD_PERFCTR_VFD_SEL_0 0xE50
  597. #define A5XX_VFD_PERFCTR_VFD_SEL_1 0xE51
  598. #define A5XX_VFD_PERFCTR_VFD_SEL_2 0xE52
  599. #define A5XX_VFD_PERFCTR_VFD_SEL_3 0xE53
  600. #define A5XX_VFD_PERFCTR_VFD_SEL_4 0xE54
  601. #define A5XX_VFD_PERFCTR_VFD_SEL_5 0xE55
  602. #define A5XX_VFD_PERFCTR_VFD_SEL_6 0xE56
  603. #define A5XX_VFD_PERFCTR_VFD_SEL_7 0xE57
  604. /* VPC registers */
  605. #define A5XX_VPC_DBG_ECO_CNTL 0xE60
  606. #define A5XX_VPC_ADDR_MODE_CNTL 0xE61
  607. #define A5XX_VPC_PERFCTR_VPC_SEL_0 0xE64
  608. #define A5XX_VPC_PERFCTR_VPC_SEL_1 0xE65
  609. #define A5XX_VPC_PERFCTR_VPC_SEL_2 0xE66
  610. #define A5XX_VPC_PERFCTR_VPC_SEL_3 0xE67
  611. /* UCHE registers */
  612. #define A5XX_UCHE_ADDR_MODE_CNTL 0xE80
  613. #define A5XX_UCHE_MODE_CNTL 0xE81
  614. #define A5XX_UCHE_WRITE_THRU_BASE_LO 0xE87
  615. #define A5XX_UCHE_WRITE_THRU_BASE_HI 0xE88
  616. #define A5XX_UCHE_TRAP_BASE_LO 0xE89
  617. #define A5XX_UCHE_TRAP_BASE_HI 0xE8A
  618. #define A5XX_UCHE_GMEM_RANGE_MIN_LO 0xE8B
  619. #define A5XX_UCHE_GMEM_RANGE_MIN_HI 0xE8C
  620. #define A5XX_UCHE_GMEM_RANGE_MAX_LO 0xE8D
  621. #define A5XX_UCHE_GMEM_RANGE_MAX_HI 0xE8E
  622. #define A5XX_UCHE_DBG_ECO_CNTL_2 0xE8F
  623. #define A5XX_UCHE_INVALIDATE0 0xE95
  624. #define A5XX_UCHE_CACHE_WAYS 0xE96
  625. #define A5XX_UCHE_PERFCTR_UCHE_SEL_0 0xEA0
  626. #define A5XX_UCHE_PERFCTR_UCHE_SEL_1 0xEA1
  627. #define A5XX_UCHE_PERFCTR_UCHE_SEL_2 0xEA2
  628. #define A5XX_UCHE_PERFCTR_UCHE_SEL_3 0xEA3
  629. #define A5XX_UCHE_PERFCTR_UCHE_SEL_4 0xEA4
  630. #define A5XX_UCHE_PERFCTR_UCHE_SEL_5 0xEA5
  631. #define A5XX_UCHE_PERFCTR_UCHE_SEL_6 0xEA6
  632. #define A5XX_UCHE_PERFCTR_UCHE_SEL_7 0xEA7
  633. /* UCHE Power Counter UCHE Registers Select */
  634. #define A5XX_UCHE_POWERCTR_UCHE_SEL_0 0xEA8
  635. #define A5XX_UCHE_POWERCTR_UCHE_SEL_1 0xEA9
  636. #define A5XX_UCHE_POWERCTR_UCHE_SEL_2 0xEAA
  637. #define A5XX_UCHE_POWERCTR_UCHE_SEL_3 0xEAB
  638. /* SP registers */
  639. #define A5XX_SP_DBG_ECO_CNTL 0xEC0
  640. #define A5XX_SP_ADDR_MODE_CNTL 0xEC1
  641. #define A5XX_SP_PERFCTR_SP_SEL_0 0xED0
  642. #define A5XX_SP_PERFCTR_SP_SEL_1 0xED1
  643. #define A5XX_SP_PERFCTR_SP_SEL_2 0xED2
  644. #define A5XX_SP_PERFCTR_SP_SEL_3 0xED3
  645. #define A5XX_SP_PERFCTR_SP_SEL_4 0xED4
  646. #define A5XX_SP_PERFCTR_SP_SEL_5 0xED5
  647. #define A5XX_SP_PERFCTR_SP_SEL_6 0xED6
  648. #define A5XX_SP_PERFCTR_SP_SEL_7 0xED7
  649. #define A5XX_SP_PERFCTR_SP_SEL_8 0xED8
  650. #define A5XX_SP_PERFCTR_SP_SEL_9 0xED9
  651. #define A5XX_SP_PERFCTR_SP_SEL_10 0xEDA
  652. #define A5XX_SP_PERFCTR_SP_SEL_11 0xEDB
  653. /* SP Power Counter SP Registers Select */
  654. #define A5XX_SP_POWERCTR_SP_SEL_0 0xEDC
  655. #define A5XX_SP_POWERCTR_SP_SEL_1 0xEDD
  656. #define A5XX_SP_POWERCTR_SP_SEL_2 0xEDE
  657. #define A5XX_SP_POWERCTR_SP_SEL_3 0xEDF
  658. /* TP registers */
  659. #define A5XX_TPL1_ADDR_MODE_CNTL 0xF01
  660. #define A5XX_TPL1_MODE_CNTL 0xF02
  661. #define A5XX_TPL1_PERFCTR_TP_SEL_0 0xF10
  662. #define A5XX_TPL1_PERFCTR_TP_SEL_1 0xF11
  663. #define A5XX_TPL1_PERFCTR_TP_SEL_2 0xF12
  664. #define A5XX_TPL1_PERFCTR_TP_SEL_3 0xF13
  665. #define A5XX_TPL1_PERFCTR_TP_SEL_4 0xF14
  666. #define A5XX_TPL1_PERFCTR_TP_SEL_5 0xF15
  667. #define A5XX_TPL1_PERFCTR_TP_SEL_6 0xF16
  668. #define A5XX_TPL1_PERFCTR_TP_SEL_7 0xF17
  669. /* TP Power Counter TP Registers Select */
  670. #define A5XX_TPL1_POWERCTR_TP_SEL_0 0xF18
  671. #define A5XX_TPL1_POWERCTR_TP_SEL_1 0xF19
  672. #define A5XX_TPL1_POWERCTR_TP_SEL_2 0xF1A
  673. #define A5XX_TPL1_POWERCTR_TP_SEL_3 0xF1B
  674. /* VBIF registers */
  675. #define A5XX_VBIF_VERSION 0x3000
  676. #define A5XX_VBIF_CLKON 0x3001
  677. #define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_MASK 0x1
  678. #define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_SHIFT 0x1
  679. #define A5XX_VBIF_ROUND_ROBIN_QOS_ARB 0x3049
  680. #define A5XX_VBIF_GATE_OFF_WRREQ_EN 0x302A
  681. #define A5XX_VBIF_XIN_HALT_CTRL0 0x3080
  682. #define A5XX_VBIF_XIN_HALT_CTRL0_MASK 0xF
  683. #define A510_VBIF_XIN_HALT_CTRL0_MASK 0x7
  684. #define A5XX_VBIF_XIN_HALT_CTRL1 0x3081
  685. #define A5XX_VBIF_TEST_BUS_OUT_CTRL 0x3084
  686. #define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_MASK 0x1
  687. #define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_SHIFT 0x0
  688. #define A5XX_VBIF_TEST_BUS1_CTRL0 0x3085
  689. #define A5XX_VBIF_TEST_BUS1_CTRL1 0x3086
  690. #define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_MASK 0xF
  691. #define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_SHIFT 0x0
  692. #define A5XX_VBIF_TEST_BUS2_CTRL0 0x3087
  693. #define A5XX_VBIF_TEST_BUS2_CTRL1 0x3088
  694. #define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_MASK 0x1FF
  695. #define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_SHIFT 0x0
  696. #define A5XX_VBIF_TEST_BUS_OUT 0x308c
  697. #define A5XX_VBIF_PERF_CNT_SEL0 0x30D0
  698. #define A5XX_VBIF_PERF_CNT_SEL1 0x30D1
  699. #define A5XX_VBIF_PERF_CNT_SEL2 0x30D2
  700. #define A5XX_VBIF_PERF_CNT_SEL3 0x30D3
  701. #define A5XX_VBIF_PERF_CNT_LOW0 0x30D8
  702. #define A5XX_VBIF_PERF_CNT_LOW1 0x30D9
  703. #define A5XX_VBIF_PERF_CNT_LOW2 0x30DA
  704. #define A5XX_VBIF_PERF_CNT_LOW3 0x30DB
  705. #define A5XX_VBIF_PERF_CNT_HIGH0 0x30E0
  706. #define A5XX_VBIF_PERF_CNT_HIGH1 0x30E1
  707. #define A5XX_VBIF_PERF_CNT_HIGH2 0x30E2
  708. #define A5XX_VBIF_PERF_CNT_HIGH3 0x30E3
  709. #define A5XX_VBIF_PERF_PWR_CNT_EN0 0x3100
  710. #define A5XX_VBIF_PERF_PWR_CNT_EN1 0x3101
  711. #define A5XX_VBIF_PERF_PWR_CNT_EN2 0x3102
  712. #define A5XX_VBIF_PERF_PWR_CNT_LOW0 0x3110
  713. #define A5XX_VBIF_PERF_PWR_CNT_LOW1 0x3111
  714. #define A5XX_VBIF_PERF_PWR_CNT_LOW2 0x3112
  715. #define A5XX_VBIF_PERF_PWR_CNT_HIGH0 0x3118
  716. #define A5XX_VBIF_PERF_PWR_CNT_HIGH1 0x3119
  717. #define A5XX_VBIF_PERF_PWR_CNT_HIGH2 0x311A
  718. /* GPMU registers */
  719. #define A5XX_GPMU_INST_RAM_BASE 0x8800
  720. #define A5XX_GPMU_DATA_RAM_BASE 0x9800
  721. #define A5XX_GPMU_SP_POWER_CNTL 0xA881
  722. #define A5XX_GPMU_RBCCU_CLOCK_CNTL 0xA886
  723. #define A5XX_GPMU_RBCCU_POWER_CNTL 0xA887
  724. #define A5XX_GPMU_SP_PWR_CLK_STATUS 0xA88B
  725. #define A5XX_GPMU_RBCCU_PWR_CLK_STATUS 0xA88D
  726. #define A5XX_GPMU_PWR_COL_STAGGER_DELAY 0xA891
  727. #define A5XX_GPMU_PWR_COL_INTER_FRAME_CTRL 0xA892
  728. #define A5XX_GPMU_PWR_COL_INTER_FRAME_HYST 0xA893
  729. #define A5XX_GPMU_PWR_COL_BINNING_CTRL 0xA894
  730. #define A5XX_GPMU_CLOCK_THROTTLE_CTRL 0xA8A3
  731. #define A5XX_GPMU_WFI_CONFIG 0xA8C1
  732. #define A5XX_GPMU_RBBM_INTR_INFO 0xA8D6
  733. #define A5XX_GPMU_CM3_SYSRESET 0xA8D8
  734. #define A5XX_GPMU_GENERAL_0 0xA8E0
  735. #define A5XX_GPMU_GENERAL_1 0xA8E1
  736. /* COUNTABLE FOR SP PERFCOUNTER */
  737. #define A5XX_SP_ALU_ACTIVE_CYCLES 0x1
  738. #define A5XX_SP0_ICL1_MISSES 0x35
  739. #define A5XX_SP_FS_CFLOW_INSTRUCTIONS 0x27
  740. /* COUNTABLE FOR TSE PERFCOUNTER */
  741. #define A5XX_TSE_INPUT_PRIM_NUM 0x6
  742. /* COUNTABLE FOR RBBM PERFCOUNTER */
  743. #define A5XX_RBBM_ALWAYS_COUNT 0x0
  744. /* GPMU POWER COUNTERS */
  745. #define A5XX_SP_POWER_COUNTER_0_LO 0xA840
  746. #define A5XX_SP_POWER_COUNTER_0_HI 0xA841
  747. #define A5XX_SP_POWER_COUNTER_1_LO 0xA842
  748. #define A5XX_SP_POWER_COUNTER_1_HI 0xA843
  749. #define A5XX_SP_POWER_COUNTER_2_LO 0xA844
  750. #define A5XX_SP_POWER_COUNTER_2_HI 0xA845
  751. #define A5XX_SP_POWER_COUNTER_3_LO 0xA846
  752. #define A5XX_SP_POWER_COUNTER_3_HI 0xA847
  753. #define A5XX_TP_POWER_COUNTER_0_LO 0xA848
  754. #define A5XX_TP_POWER_COUNTER_0_HI 0xA849
  755. #define A5XX_TP_POWER_COUNTER_1_LO 0xA84A
  756. #define A5XX_TP_POWER_COUNTER_1_HI 0xA84B
  757. #define A5XX_TP_POWER_COUNTER_2_LO 0xA84C
  758. #define A5XX_TP_POWER_COUNTER_2_HI 0xA84D
  759. #define A5XX_TP_POWER_COUNTER_3_LO 0xA84E
  760. #define A5XX_TP_POWER_COUNTER_3_HI 0xA84F
  761. #define A5XX_RB_POWER_COUNTER_0_LO 0xA850
  762. #define A5XX_RB_POWER_COUNTER_0_HI 0xA851
  763. #define A5XX_RB_POWER_COUNTER_1_LO 0xA852
  764. #define A5XX_RB_POWER_COUNTER_1_HI 0xA853
  765. #define A5XX_RB_POWER_COUNTER_2_LO 0xA854
  766. #define A5XX_RB_POWER_COUNTER_2_HI 0xA855
  767. #define A5XX_RB_POWER_COUNTER_3_LO 0xA856
  768. #define A5XX_RB_POWER_COUNTER_3_HI 0xA857
  769. #define A5XX_CCU_POWER_COUNTER_0_LO 0xA858
  770. #define A5XX_CCU_POWER_COUNTER_0_HI 0xA859
  771. #define A5XX_CCU_POWER_COUNTER_1_LO 0xA85A
  772. #define A5XX_CCU_POWER_COUNTER_1_HI 0xA85B
  773. #define A5XX_UCHE_POWER_COUNTER_0_LO 0xA85C
  774. #define A5XX_UCHE_POWER_COUNTER_0_HI 0xA85D
  775. #define A5XX_UCHE_POWER_COUNTER_1_LO 0xA85E
  776. #define A5XX_UCHE_POWER_COUNTER_1_HI 0xA85F
  777. #define A5XX_UCHE_POWER_COUNTER_2_LO 0xA860
  778. #define A5XX_UCHE_POWER_COUNTER_2_HI 0xA861
  779. #define A5XX_UCHE_POWER_COUNTER_3_LO 0xA862
  780. #define A5XX_UCHE_POWER_COUNTER_3_HI 0xA863
  781. #define A5XX_CP_POWER_COUNTER_0_LO 0xA864
  782. #define A5XX_CP_POWER_COUNTER_0_HI 0xA865
  783. #define A5XX_CP_POWER_COUNTER_1_LO 0xA866
  784. #define A5XX_CP_POWER_COUNTER_1_HI 0xA867
  785. #define A5XX_CP_POWER_COUNTER_2_LO 0xA868
  786. #define A5XX_CP_POWER_COUNTER_2_HI 0xA869
  787. #define A5XX_CP_POWER_COUNTER_3_LO 0xA86A
  788. #define A5XX_CP_POWER_COUNTER_3_HI 0xA86B
  789. #define A5XX_GPMU_POWER_COUNTER_0_LO 0xA86C
  790. #define A5XX_GPMU_POWER_COUNTER_0_HI 0xA86D
  791. #define A5XX_GPMU_POWER_COUNTER_1_LO 0xA86E
  792. #define A5XX_GPMU_POWER_COUNTER_1_HI 0xA86F
  793. #define A5XX_GPMU_POWER_COUNTER_2_LO 0xA870
  794. #define A5XX_GPMU_POWER_COUNTER_2_HI 0xA871
  795. #define A5XX_GPMU_POWER_COUNTER_3_LO 0xA872
  796. #define A5XX_GPMU_POWER_COUNTER_3_HI 0xA873
  797. #define A5XX_GPMU_POWER_COUNTER_4_LO 0xA874
  798. #define A5XX_GPMU_POWER_COUNTER_4_HI 0xA875
  799. #define A5XX_GPMU_POWER_COUNTER_5_LO 0xA876
  800. #define A5XX_GPMU_POWER_COUNTER_5_HI 0xA877
  801. #define A5XX_GPMU_POWER_COUNTER_ENABLE 0xA878
  802. #define A5XX_GPMU_ALWAYS_ON_COUNTER_LO 0xA879
  803. #define A5XX_GPMU_ALWAYS_ON_COUNTER_HI 0xA87A
  804. #define A5XX_GPMU_ALWAYS_ON_COUNTER_RESET 0xA87B
  805. #define A5XX_GPMU_POWER_COUNTER_SELECT_0 0xA87C
  806. #define A5XX_GPMU_POWER_COUNTER_SELECT_1 0xA87D
  807. #define A5XX_GPMU_GPMU_SP_CLOCK_CONTROL 0xA880
  808. #define A5XX_GPMU_CLOCK_THROTTLE_CTRL 0xA8A3
  809. #define A5XX_GPMU_THROTTLE_UNMASK_FORCE_CTRL 0xA8A8
  810. #define A5XX_GPMU_TEMP_SENSOR_ID 0xAC00
  811. #define A5XX_GPMU_TEMP_SENSOR_CONFIG 0xAC01
  812. #define A5XX_GPMU_DELTA_TEMP_THRESHOLD 0xAC03
  813. #define A5XX_GPMU_TEMP_THRESHOLD_INTR_EN_MASK 0xAC06
  814. #define A5XX_GPMU_LEAKAGE_TEMP_COEFF_0_1 0xAC40
  815. #define A5XX_GPMU_LEAKAGE_TEMP_COEFF_2_3 0xAC41
  816. #define A5XX_GPMU_LEAKAGE_VTG_COEFF_0_1 0xAC42
  817. #define A5XX_GPMU_LEAKAGE_VTG_COEFF_2_3 0xAC43
  818. #define A5XX_GPMU_BASE_LEAKAGE 0xAC46
  819. #define A5XX_GPMU_GPMU_VOLTAGE 0xAC60
  820. #define A5XX_GPMU_GPMU_VOLTAGE_INTR_STATUS 0xAC61
  821. #define A5XX_GPMU_GPMU_VOLTAGE_INTR_EN_MASK 0xAC62
  822. #define A5XX_GPMU_GPMU_PWR_THRESHOLD 0xAC80
  823. #define A5XX_GPMU_GPMU_LLM_GLM_SLEEP_CTRL 0xACC4
  824. #define A5XX_GPMU_GPMU_LLM_GLM_SLEEP_STATUS 0xACC5
  825. #define A5XX_GPMU_GPMU_ISENSE_CTRL 0xACD0
  826. #define A5XX_GDPM_CONFIG1 0xB80C
  827. #define A5XX_GDPM_INT_EN 0xB80F
  828. #define A5XX_GDPM_INT_MASK 0xB811
  829. #define A5XX_GPMU_BEC_ENABLE 0xB9A0
  830. /* ISENSE registers */
  831. #define A5XX_GPU_CS_DECIMAL_ALIGN 0xC16A
  832. #define A5XX_GPU_CS_SENSOR_PARAM_CORE_1 0xC126
  833. #define A5XX_GPU_CS_SENSOR_PARAM_CORE_2 0xC127
  834. #define A5XX_GPU_CS_SW_OV_FUSE_EN 0xC168
  835. #define A5XX_GPU_CS_SENSOR_GENERAL_STATUS 0xC41A
  836. #define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_0 0xC41D
  837. #define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_2 0xC41F
  838. #define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4 0xC421
  839. #define A5XX_GPU_CS_ENABLE_REG 0xC520
  840. #define A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1 0xC557
  841. #define A5XX_GPU_CS_AMP_CALIBRATION_DONE 0xC565
  842. #define A5XX_GPU_CS_ENDPOINT_CALIBRATION_DONE 0xC556
  843. #endif /* _A5XX_REG_H */