a6xx_reg.h 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _A6XX_REG_H
  7. #define _A6XX_REG_H
  8. /* A6XX interrupt bits */
  9. #define A6XX_INT_RBBM_GPU_IDLE 0
  10. #define A6XX_INT_CP_AHB_ERROR 1
  11. #define A6XX_INT_ATB_ASYNCFIFO_OVERFLOW 6
  12. #define A6XX_INT_RBBM_GPC_ERROR 7
  13. #define A6XX_INT_CP_SW 8
  14. #define A6XX_INT_CP_HW_ERROR 9
  15. #define A6XX_INT_CP_CCU_FLUSH_DEPTH_TS 10
  16. #define A6XX_INT_CP_CCU_FLUSH_COLOR_TS 11
  17. #define A6XX_INT_CP_CCU_RESOLVE_TS 12
  18. #define A6XX_INT_CP_IB2 13
  19. #define A6XX_INT_CP_IB1 14
  20. #define A6XX_INT_CP_RB 15
  21. #define A6XX_INT_CP_RB_DONE_TS 17
  22. #define A6XX_INT_CP_WT_DONE_TS 18
  23. #define A6XX_INT_CP_CACHE_FLUSH_TS 20
  24. #define A6XX_INT_RBBM_ATB_BUS_OVERFLOW 22
  25. #define A6XX_INT_RBBM_HANG_DETECT 23
  26. #define A6XX_INT_UCHE_OOB_ACCESS 24
  27. #define A6XX_INT_UCHE_TRAP_INTR 25
  28. #define A6XX_INT_DEBBUS_INTR_0 26
  29. #define A6XX_INT_DEBBUS_INTR_1 27
  30. #define A6XX_INT_TSB_WRITE_ERROR 28
  31. #define A6XX_INT_ISDB_CPU_IRQ 30
  32. #define A6XX_INT_ISDB_UNDER_DEBUG 31
  33. /* CP Interrupt bits */
  34. #define A6XX_CP_OPCODE_ERROR 0
  35. #define A6XX_CP_UCODE_ERROR 1
  36. #define A6XX_CP_HW_FAULT_ERROR 2
  37. #define A6XX_CP_REGISTER_PROTECTION_ERROR 4
  38. #define A6XX_CP_AHB_ERROR 5
  39. #define A6XX_CP_VSD_PARITY_ERROR 6
  40. #define A6XX_CP_ILLEGAL_INSTR_ERROR 7
  41. /* CP registers */
  42. #define A6XX_CP_RB_BASE 0x800
  43. #define A6XX_CP_RB_BASE_HI 0x801
  44. #define A6XX_CP_RB_CNTL 0x802
  45. #define A6XX_CP_RB_RPTR_ADDR_LO 0x804
  46. #define A6XX_CP_RB_RPTR_ADDR_HI 0x805
  47. #define A6XX_CP_RB_RPTR 0x806
  48. #define A6XX_CP_RB_WPTR 0x807
  49. #define A6XX_CP_SQE_CNTL 0x808
  50. #define A6XX_CP_CP2GMU_STATUS 0x812
  51. #define A6XX_CP_HW_FAULT 0x821
  52. #define A6XX_CP_INTERRUPT_STATUS 0x823
  53. #define A6XX_CP_PROTECT_STATUS 0x824
  54. #define A6XX_CP_STATUS_1 0x825
  55. #define A6XX_CP_SQE_INSTR_BASE_LO 0x830
  56. #define A6XX_CP_SQE_INSTR_BASE_HI 0x831
  57. #define A6XX_CP_MISC_CNTL 0x840
  58. #define A6XX_CP_APRIV_CNTL 0X844
  59. #define A6XX_CP_ROQ_THRESHOLDS_1 0x8C1
  60. #define A6XX_CP_ROQ_THRESHOLDS_2 0x8C2
  61. #define A6XX_CP_MEM_POOL_SIZE 0x8C3
  62. #define A6XX_CP_CHICKEN_DBG 0x841
  63. #define A6XX_CP_ADDR_MODE_CNTL 0x842
  64. #define A6XX_CP_DBG_ECO_CNTL 0x843
  65. #define A6XX_CP_PROTECT_CNTL 0x84F
  66. #define A6XX_CP_PROTECT_REG 0x850
  67. #define A6XX_CP_CONTEXT_SWITCH_CNTL 0x8A0
  68. #define A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x8A1
  69. #define A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x8A2
  70. #define A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_LO 0x8A3
  71. #define A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_HI 0x8A4
  72. #define A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_LO 0x8A5
  73. #define A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_HI 0x8A6
  74. #define A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_LO 0x8A7
  75. #define A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_HI 0x8A8
  76. #define A6XX_CP_CONTEXT_SWITCH_LEVEL_STATUS 0x8AB
  77. #define A6XX_CP_PERFCTR_CP_SEL_0 0x8D0
  78. #define A6XX_CP_PERFCTR_CP_SEL_1 0x8D1
  79. #define A6XX_CP_PERFCTR_CP_SEL_2 0x8D2
  80. #define A6XX_CP_PERFCTR_CP_SEL_3 0x8D3
  81. #define A6XX_CP_PERFCTR_CP_SEL_4 0x8D4
  82. #define A6XX_CP_PERFCTR_CP_SEL_5 0x8D5
  83. #define A6XX_CP_PERFCTR_CP_SEL_6 0x8D6
  84. #define A6XX_CP_PERFCTR_CP_SEL_7 0x8D7
  85. #define A6XX_CP_PERFCTR_CP_SEL_8 0x8D8
  86. #define A6XX_CP_PERFCTR_CP_SEL_9 0x8D9
  87. #define A6XX_CP_PERFCTR_CP_SEL_10 0x8DA
  88. #define A6XX_CP_PERFCTR_CP_SEL_11 0x8DB
  89. #define A6XX_CP_PERFCTR_CP_SEL_12 0x8DC
  90. #define A6XX_CP_PERFCTR_CP_SEL_13 0x8DD
  91. #define A6XX_CP_CRASH_SCRIPT_BASE_LO 0x900
  92. #define A6XX_CP_CRASH_SCRIPT_BASE_HI 0x901
  93. #define A6XX_CP_CRASH_DUMP_CNTL 0x902
  94. #define A6XX_CP_CRASH_DUMP_STATUS 0x903
  95. #define A6XX_CP_SQE_STAT_ADDR 0x908
  96. #define A6XX_CP_SQE_STAT_DATA 0x909
  97. #define A6XX_CP_DRAW_STATE_ADDR 0x90A
  98. #define A6XX_CP_DRAW_STATE_DATA 0x90B
  99. #define A6XX_CP_ROQ_DBG_ADDR 0x90C
  100. #define A6XX_CP_ROQ_DBG_DATA 0x90D
  101. #define A6XX_CP_MEM_POOL_DBG_ADDR 0x90E
  102. #define A6XX_CP_MEM_POOL_DBG_DATA 0x90F
  103. #define A6XX_CP_SQE_UCODE_DBG_ADDR 0x910
  104. #define A6XX_CP_SQE_UCODE_DBG_DATA 0x911
  105. #define A6XX_CP_IB1_BASE 0x928
  106. #define A6XX_CP_IB1_BASE_HI 0x929
  107. #define A6XX_CP_IB1_REM_SIZE 0x92A
  108. #define A6XX_CP_IB2_BASE 0x92B
  109. #define A6XX_CP_IB2_BASE_HI 0x92C
  110. #define A6XX_CP_IB2_REM_SIZE 0x92D
  111. #define A6XX_CP_ALWAYS_ON_COUNTER_LO 0x980
  112. #define A6XX_CP_ALWAYS_ON_COUNTER_HI 0x981
  113. #define A6XX_CP_ALWAYS_ON_CONTEXT_LO 0x982
  114. #define A6XX_CP_ALWAYS_ON_CONTEXT_HI 0x983
  115. #define A6XX_CP_AHB_CNTL 0x98D
  116. #define A6XX_CP_APERTURE_CNTL_HOST 0xA00
  117. #define A6XX_CP_APERTURE_CNTL_CD 0xA03
  118. #define A6XX_VSC_ADDR_MODE_CNTL 0xC01
  119. /* LPAC registers */
  120. #define A6XX_CP_LPAC_DRAW_STATE_ADDR 0xB0A
  121. #define A6XX_CP_LPAC_DRAW_STATE_DATA 0xB0B
  122. #define A6XX_CP_LPAC_ROQ_DBG_ADDR 0xB0C
  123. #define A6XX_CP_SQE_AC_UCODE_DBG_ADDR 0xB27
  124. #define A6XX_CP_SQE_AC_UCODE_DBG_DATA 0xB28
  125. #define A6XX_CP_SQE_AC_STAT_ADDR 0xB29
  126. #define A6XX_CP_SQE_AC_STAT_DATA 0xB2A
  127. #define A6XX_CP_LPAC_ROQ_THRESHOLDS_1 0xB32
  128. #define A6XX_CP_LPAC_ROQ_THRESHOLDS_2 0xB33
  129. #define A6XX_CP_LPAC_PROG_FIFO_SIZE 0xB34
  130. #define A6XX_CP_LPAC_ROQ_DBG_DATA 0xB35
  131. #define A6XX_CP_LPAC_FIFO_DBG_DATA 0xB36
  132. #define A6XX_CP_LPAC_FIFO_DBG_ADDR 0xB40
  133. /* RBBM registers */
  134. #define A6XX_RBBM_INT_0_STATUS 0x201
  135. #define A6XX_RBBM_STATUS 0x210
  136. #define A6XX_RBBM_STATUS3 0x213
  137. #define A6XX_RBBM_VBIF_GX_RESET_STATUS 0x215
  138. #define A6XX_RBBM_PERFCTR_CP_0_LO 0x400
  139. #define A6XX_RBBM_PERFCTR_CP_0_HI 0x401
  140. #define A6XX_RBBM_PERFCTR_CP_1_LO 0x402
  141. #define A6XX_RBBM_PERFCTR_CP_1_HI 0x403
  142. #define A6XX_RBBM_PERFCTR_CP_2_LO 0x404
  143. #define A6XX_RBBM_PERFCTR_CP_2_HI 0x405
  144. #define A6XX_RBBM_PERFCTR_CP_3_LO 0x406
  145. #define A6XX_RBBM_PERFCTR_CP_3_HI 0x407
  146. #define A6XX_RBBM_PERFCTR_CP_4_LO 0x408
  147. #define A6XX_RBBM_PERFCTR_CP_4_HI 0x409
  148. #define A6XX_RBBM_PERFCTR_CP_5_LO 0x40a
  149. #define A6XX_RBBM_PERFCTR_CP_5_HI 0x40b
  150. #define A6XX_RBBM_PERFCTR_CP_6_LO 0x40c
  151. #define A6XX_RBBM_PERFCTR_CP_6_HI 0x40d
  152. #define A6XX_RBBM_PERFCTR_CP_7_LO 0x40e
  153. #define A6XX_RBBM_PERFCTR_CP_7_HI 0x40f
  154. #define A6XX_RBBM_PERFCTR_CP_8_LO 0x410
  155. #define A6XX_RBBM_PERFCTR_CP_8_HI 0x411
  156. #define A6XX_RBBM_PERFCTR_CP_9_LO 0x412
  157. #define A6XX_RBBM_PERFCTR_CP_9_HI 0x413
  158. #define A6XX_RBBM_PERFCTR_CP_10_LO 0x414
  159. #define A6XX_RBBM_PERFCTR_CP_10_HI 0x415
  160. #define A6XX_RBBM_PERFCTR_CP_11_LO 0x416
  161. #define A6XX_RBBM_PERFCTR_CP_11_HI 0x417
  162. #define A6XX_RBBM_PERFCTR_CP_12_LO 0x418
  163. #define A6XX_RBBM_PERFCTR_CP_12_HI 0x419
  164. #define A6XX_RBBM_PERFCTR_CP_13_LO 0x41a
  165. #define A6XX_RBBM_PERFCTR_CP_13_HI 0x41b
  166. #define A6XX_RBBM_PERFCTR_RBBM_0_LO 0x41c
  167. #define A6XX_RBBM_PERFCTR_RBBM_0_HI 0x41d
  168. #define A6XX_RBBM_PERFCTR_RBBM_1_LO 0x41e
  169. #define A6XX_RBBM_PERFCTR_RBBM_1_HI 0x41f
  170. #define A6XX_RBBM_PERFCTR_RBBM_2_LO 0x420
  171. #define A6XX_RBBM_PERFCTR_RBBM_2_HI 0x421
  172. #define A6XX_RBBM_PERFCTR_RBBM_3_LO 0x422
  173. #define A6XX_RBBM_PERFCTR_RBBM_3_HI 0x423
  174. #define A6XX_RBBM_PERFCTR_PC_0_LO 0x424
  175. #define A6XX_RBBM_PERFCTR_PC_0_HI 0x425
  176. #define A6XX_RBBM_PERFCTR_PC_1_LO 0x426
  177. #define A6XX_RBBM_PERFCTR_PC_1_HI 0x427
  178. #define A6XX_RBBM_PERFCTR_PC_2_LO 0x428
  179. #define A6XX_RBBM_PERFCTR_PC_2_HI 0x429
  180. #define A6XX_RBBM_PERFCTR_PC_3_LO 0x42a
  181. #define A6XX_RBBM_PERFCTR_PC_3_HI 0x42b
  182. #define A6XX_RBBM_PERFCTR_PC_4_LO 0x42c
  183. #define A6XX_RBBM_PERFCTR_PC_4_HI 0x42d
  184. #define A6XX_RBBM_PERFCTR_PC_5_LO 0x42e
  185. #define A6XX_RBBM_PERFCTR_PC_5_HI 0x42f
  186. #define A6XX_RBBM_PERFCTR_PC_6_LO 0x430
  187. #define A6XX_RBBM_PERFCTR_PC_6_HI 0x431
  188. #define A6XX_RBBM_PERFCTR_PC_7_LO 0x432
  189. #define A6XX_RBBM_PERFCTR_PC_7_HI 0x433
  190. #define A6XX_RBBM_PERFCTR_VFD_0_LO 0x434
  191. #define A6XX_RBBM_PERFCTR_VFD_0_HI 0x435
  192. #define A6XX_RBBM_PERFCTR_VFD_1_LO 0x436
  193. #define A6XX_RBBM_PERFCTR_VFD_1_HI 0x437
  194. #define A6XX_RBBM_PERFCTR_VFD_2_LO 0x438
  195. #define A6XX_RBBM_PERFCTR_VFD_2_HI 0x439
  196. #define A6XX_RBBM_PERFCTR_VFD_3_LO 0x43a
  197. #define A6XX_RBBM_PERFCTR_VFD_3_HI 0x43b
  198. #define A6XX_RBBM_PERFCTR_VFD_4_LO 0x43c
  199. #define A6XX_RBBM_PERFCTR_VFD_4_HI 0x43d
  200. #define A6XX_RBBM_PERFCTR_VFD_5_LO 0x43e
  201. #define A6XX_RBBM_PERFCTR_VFD_5_HI 0x43f
  202. #define A6XX_RBBM_PERFCTR_VFD_6_LO 0x440
  203. #define A6XX_RBBM_PERFCTR_VFD_6_HI 0x441
  204. #define A6XX_RBBM_PERFCTR_VFD_7_LO 0x442
  205. #define A6XX_RBBM_PERFCTR_VFD_7_HI 0x443
  206. #define A6XX_RBBM_PERFCTR_HLSQ_0_LO 0x444
  207. #define A6XX_RBBM_PERFCTR_HLSQ_0_HI 0x445
  208. #define A6XX_RBBM_PERFCTR_HLSQ_1_LO 0x446
  209. #define A6XX_RBBM_PERFCTR_HLSQ_1_HI 0x447
  210. #define A6XX_RBBM_PERFCTR_HLSQ_2_LO 0x448
  211. #define A6XX_RBBM_PERFCTR_HLSQ_2_HI 0x449
  212. #define A6XX_RBBM_PERFCTR_HLSQ_3_LO 0x44a
  213. #define A6XX_RBBM_PERFCTR_HLSQ_3_HI 0x44b
  214. #define A6XX_RBBM_PERFCTR_HLSQ_4_LO 0x44c
  215. #define A6XX_RBBM_PERFCTR_HLSQ_4_HI 0x44d
  216. #define A6XX_RBBM_PERFCTR_HLSQ_5_LO 0x44e
  217. #define A6XX_RBBM_PERFCTR_HLSQ_5_HI 0x44f
  218. #define A6XX_RBBM_PERFCTR_VPC_0_LO 0x450
  219. #define A6XX_RBBM_PERFCTR_VPC_0_HI 0x451
  220. #define A6XX_RBBM_PERFCTR_VPC_1_LO 0x452
  221. #define A6XX_RBBM_PERFCTR_VPC_1_HI 0x453
  222. #define A6XX_RBBM_PERFCTR_VPC_2_LO 0x454
  223. #define A6XX_RBBM_PERFCTR_VPC_2_HI 0x455
  224. #define A6XX_RBBM_PERFCTR_VPC_3_LO 0x456
  225. #define A6XX_RBBM_PERFCTR_VPC_3_HI 0x457
  226. #define A6XX_RBBM_PERFCTR_VPC_4_LO 0x458
  227. #define A6XX_RBBM_PERFCTR_VPC_4_HI 0x459
  228. #define A6XX_RBBM_PERFCTR_VPC_5_LO 0x45a
  229. #define A6XX_RBBM_PERFCTR_VPC_5_HI 0x45b
  230. #define A6XX_RBBM_PERFCTR_CCU_0_LO 0x45c
  231. #define A6XX_RBBM_PERFCTR_CCU_0_HI 0x45d
  232. #define A6XX_RBBM_PERFCTR_CCU_1_LO 0x45e
  233. #define A6XX_RBBM_PERFCTR_CCU_1_HI 0x45f
  234. #define A6XX_RBBM_PERFCTR_CCU_2_LO 0x460
  235. #define A6XX_RBBM_PERFCTR_CCU_2_HI 0x461
  236. #define A6XX_RBBM_PERFCTR_CCU_3_LO 0x462
  237. #define A6XX_RBBM_PERFCTR_CCU_3_HI 0x463
  238. #define A6XX_RBBM_PERFCTR_CCU_4_LO 0x464
  239. #define A6XX_RBBM_PERFCTR_CCU_4_HI 0x465
  240. #define A6XX_RBBM_PERFCTR_TSE_0_LO 0x466
  241. #define A6XX_RBBM_PERFCTR_TSE_0_HI 0x467
  242. #define A6XX_RBBM_PERFCTR_TSE_1_LO 0x468
  243. #define A6XX_RBBM_PERFCTR_TSE_1_HI 0x469
  244. #define A6XX_RBBM_PERFCTR_TSE_2_LO 0x46a
  245. #define A6XX_RBBM_PERFCTR_CCU_4_HI 0x465
  246. #define A6XX_RBBM_PERFCTR_TSE_0_LO 0x466
  247. #define A6XX_RBBM_PERFCTR_TSE_0_HI 0x467
  248. #define A6XX_RBBM_PERFCTR_TSE_1_LO 0x468
  249. #define A6XX_RBBM_PERFCTR_TSE_1_HI 0x469
  250. #define A6XX_RBBM_PERFCTR_TSE_2_LO 0x46a
  251. #define A6XX_RBBM_PERFCTR_TSE_2_HI 0x46b
  252. #define A6XX_RBBM_PERFCTR_TSE_3_LO 0x46c
  253. #define A6XX_RBBM_PERFCTR_TSE_3_HI 0x46d
  254. #define A6XX_RBBM_PERFCTR_RAS_0_LO 0x46e
  255. #define A6XX_RBBM_PERFCTR_RAS_0_HI 0x46f
  256. #define A6XX_RBBM_PERFCTR_RAS_1_LO 0x470
  257. #define A6XX_RBBM_PERFCTR_RAS_1_HI 0x471
  258. #define A6XX_RBBM_PERFCTR_RAS_2_LO 0x472
  259. #define A6XX_RBBM_PERFCTR_RAS_2_HI 0x473
  260. #define A6XX_RBBM_PERFCTR_RAS_3_LO 0x474
  261. #define A6XX_RBBM_PERFCTR_RAS_3_HI 0x475
  262. #define A6XX_RBBM_PERFCTR_UCHE_0_LO 0x476
  263. #define A6XX_RBBM_PERFCTR_UCHE_0_HI 0x477
  264. #define A6XX_RBBM_PERFCTR_UCHE_1_LO 0x478
  265. #define A6XX_RBBM_PERFCTR_UCHE_1_HI 0x479
  266. #define A6XX_RBBM_PERFCTR_UCHE_2_LO 0x47a
  267. #define A6XX_RBBM_PERFCTR_UCHE_2_HI 0x47b
  268. #define A6XX_RBBM_PERFCTR_UCHE_3_LO 0x47c
  269. #define A6XX_RBBM_PERFCTR_UCHE_3_HI 0x47d
  270. #define A6XX_RBBM_PERFCTR_UCHE_4_LO 0x47e
  271. #define A6XX_RBBM_PERFCTR_UCHE_4_HI 0x47f
  272. #define A6XX_RBBM_PERFCTR_UCHE_5_LO 0x480
  273. #define A6XX_RBBM_PERFCTR_UCHE_5_HI 0x481
  274. #define A6XX_RBBM_PERFCTR_UCHE_6_LO 0x482
  275. #define A6XX_RBBM_PERFCTR_UCHE_6_HI 0x483
  276. #define A6XX_RBBM_PERFCTR_UCHE_7_LO 0x484
  277. #define A6XX_RBBM_PERFCTR_UCHE_7_HI 0x485
  278. #define A6XX_RBBM_PERFCTR_UCHE_8_LO 0x486
  279. #define A6XX_RBBM_PERFCTR_UCHE_8_HI 0x487
  280. #define A6XX_RBBM_PERFCTR_UCHE_9_LO 0x488
  281. #define A6XX_RBBM_PERFCTR_UCHE_9_HI 0x489
  282. #define A6XX_RBBM_PERFCTR_UCHE_10_LO 0x48a
  283. #define A6XX_RBBM_PERFCTR_UCHE_10_HI 0x48b
  284. #define A6XX_RBBM_PERFCTR_UCHE_11_LO 0x48c
  285. #define A6XX_RBBM_PERFCTR_UCHE_11_HI 0x48d
  286. #define A6XX_RBBM_PERFCTR_TP_0_LO 0x48e
  287. #define A6XX_RBBM_PERFCTR_TP_0_HI 0x48f
  288. #define A6XX_RBBM_PERFCTR_TP_1_LO 0x490
  289. #define A6XX_RBBM_PERFCTR_TP_1_HI 0x491
  290. #define A6XX_RBBM_PERFCTR_TP_2_LO 0x492
  291. #define A6XX_RBBM_PERFCTR_TP_2_HI 0x493
  292. #define A6XX_RBBM_PERFCTR_TP_3_LO 0x494
  293. #define A6XX_RBBM_PERFCTR_TP_3_HI 0x495
  294. #define A6XX_RBBM_PERFCTR_TP_4_LO 0x496
  295. #define A6XX_RBBM_PERFCTR_TP_4_HI 0x497
  296. #define A6XX_RBBM_PERFCTR_TP_5_LO 0x498
  297. #define A6XX_RBBM_PERFCTR_TP_5_HI 0x499
  298. #define A6XX_RBBM_PERFCTR_TP_6_LO 0x49a
  299. #define A6XX_RBBM_PERFCTR_TP_6_HI 0x49b
  300. #define A6XX_RBBM_PERFCTR_TP_7_LO 0x49c
  301. #define A6XX_RBBM_PERFCTR_TP_7_HI 0x49d
  302. #define A6XX_RBBM_PERFCTR_TP_8_LO 0x49e
  303. #define A6XX_RBBM_PERFCTR_TP_8_HI 0x49f
  304. #define A6XX_RBBM_PERFCTR_TP_9_LO 0x4a0
  305. #define A6XX_RBBM_PERFCTR_TP_9_HI 0x4a1
  306. #define A6XX_RBBM_PERFCTR_TP_10_LO 0x4a2
  307. #define A6XX_RBBM_PERFCTR_TP_10_HI 0x4a3
  308. #define A6XX_RBBM_PERFCTR_TP_11_LO 0x4a4
  309. #define A6XX_RBBM_PERFCTR_TP_11_HI 0x4a5
  310. #define A6XX_RBBM_PERFCTR_SP_0_LO 0x4a6
  311. #define A6XX_RBBM_PERFCTR_SP_0_HI 0x4a7
  312. #define A6XX_RBBM_PERFCTR_SP_1_LO 0x4a8
  313. #define A6XX_RBBM_PERFCTR_SP_1_HI 0x4a9
  314. #define A6XX_RBBM_PERFCTR_SP_2_LO 0x4aa
  315. #define A6XX_RBBM_PERFCTR_SP_2_HI 0x4ab
  316. #define A6XX_RBBM_PERFCTR_SP_3_LO 0x4ac
  317. #define A6XX_RBBM_PERFCTR_SP_3_HI 0x4ad
  318. #define A6XX_RBBM_PERFCTR_SP_4_LO 0x4ae
  319. #define A6XX_RBBM_PERFCTR_SP_4_HI 0x4af
  320. #define A6XX_RBBM_PERFCTR_SP_5_LO 0x4b0
  321. #define A6XX_RBBM_PERFCTR_SP_5_HI 0x4b1
  322. #define A6XX_RBBM_PERFCTR_SP_6_LO 0x4b2
  323. #define A6XX_RBBM_PERFCTR_SP_6_HI 0x4b3
  324. #define A6XX_RBBM_PERFCTR_SP_7_LO 0x4b4
  325. #define A6XX_RBBM_PERFCTR_SP_7_HI 0x4b5
  326. #define A6XX_RBBM_PERFCTR_SP_8_LO 0x4b6
  327. #define A6XX_RBBM_PERFCTR_SP_8_HI 0x4b7
  328. #define A6XX_RBBM_PERFCTR_SP_9_LO 0x4b8
  329. #define A6XX_RBBM_PERFCTR_SP_9_HI 0x4b9
  330. #define A6XX_RBBM_PERFCTR_SP_10_LO 0x4ba
  331. #define A6XX_RBBM_PERFCTR_SP_10_HI 0x4bb
  332. #define A6XX_RBBM_PERFCTR_SP_11_LO 0x4bc
  333. #define A6XX_RBBM_PERFCTR_SP_11_HI 0x4bd
  334. #define A6XX_RBBM_PERFCTR_SP_12_LO 0x4be
  335. #define A6XX_RBBM_PERFCTR_SP_12_HI 0x4bf
  336. #define A6XX_RBBM_PERFCTR_SP_13_LO 0x4c0
  337. #define A6XX_RBBM_PERFCTR_SP_13_HI 0x4c1
  338. #define A6XX_RBBM_PERFCTR_SP_14_LO 0x4c2
  339. #define A6XX_RBBM_PERFCTR_SP_14_HI 0x4c3
  340. #define A6XX_RBBM_PERFCTR_SP_15_LO 0x4c4
  341. #define A6XX_RBBM_PERFCTR_SP_15_HI 0x4c5
  342. #define A6XX_RBBM_PERFCTR_SP_16_LO 0x4c6
  343. #define A6XX_RBBM_PERFCTR_SP_16_HI 0x4c7
  344. #define A6XX_RBBM_PERFCTR_SP_17_LO 0x4c8
  345. #define A6XX_RBBM_PERFCTR_SP_17_HI 0x4c9
  346. #define A6XX_RBBM_PERFCTR_SP_18_LO 0x4ca
  347. #define A6XX_RBBM_PERFCTR_SP_18_HI 0x4cb
  348. #define A6XX_RBBM_PERFCTR_SP_19_LO 0x4cc
  349. #define A6XX_RBBM_PERFCTR_SP_19_HI 0x4cd
  350. #define A6XX_RBBM_PERFCTR_SP_20_LO 0x4ce
  351. #define A6XX_RBBM_PERFCTR_SP_20_HI 0x4cf
  352. #define A6XX_RBBM_PERFCTR_SP_21_LO 0x4d0
  353. #define A6XX_RBBM_PERFCTR_SP_21_HI 0x4d1
  354. #define A6XX_RBBM_PERFCTR_SP_22_LO 0x4d2
  355. #define A6XX_RBBM_PERFCTR_SP_22_HI 0x4d3
  356. #define A6XX_RBBM_PERFCTR_SP_23_LO 0x4d4
  357. #define A6XX_RBBM_PERFCTR_SP_23_HI 0x4d5
  358. #define A6XX_RBBM_PERFCTR_RB_0_LO 0x4d6
  359. #define A6XX_RBBM_PERFCTR_RB_0_HI 0x4d7
  360. #define A6XX_RBBM_PERFCTR_RB_1_LO 0x4d8
  361. #define A6XX_RBBM_PERFCTR_RB_1_HI 0x4d9
  362. #define A6XX_RBBM_PERFCTR_RB_2_LO 0x4da
  363. #define A6XX_RBBM_PERFCTR_RB_2_HI 0x4db
  364. #define A6XX_RBBM_PERFCTR_RB_3_LO 0x4dc
  365. #define A6XX_RBBM_PERFCTR_RB_3_HI 0x4dd
  366. #define A6XX_RBBM_PERFCTR_RB_4_LO 0x4de
  367. #define A6XX_RBBM_PERFCTR_RB_4_HI 0x4df
  368. #define A6XX_RBBM_PERFCTR_RB_5_LO 0x4e0
  369. #define A6XX_RBBM_PERFCTR_RB_5_HI 0x4e1
  370. #define A6XX_RBBM_PERFCTR_RB_6_LO 0x4e2
  371. #define A6XX_RBBM_PERFCTR_RB_6_HI 0x4e3
  372. #define A6XX_RBBM_PERFCTR_RB_7_LO 0x4e4
  373. #define A6XX_RBBM_PERFCTR_RB_7_HI 0x4e5
  374. #define A6XX_RBBM_PERFCTR_VSC_0_LO 0x4e6
  375. #define A6XX_RBBM_PERFCTR_VSC_0_HI 0x4e7
  376. #define A6XX_RBBM_PERFCTR_VSC_1_LO 0x4e8
  377. #define A6XX_RBBM_PERFCTR_VSC_1_HI 0x4e9
  378. #define A6XX_RBBM_PERFCTR_LRZ_0_LO 0x4ea
  379. #define A6XX_RBBM_PERFCTR_LRZ_0_HI 0x4eb
  380. #define A6XX_RBBM_PERFCTR_LRZ_1_LO 0x4ec
  381. #define A6XX_RBBM_PERFCTR_LRZ_1_HI 0x4ed
  382. #define A6XX_RBBM_PERFCTR_LRZ_2_LO 0x4ee
  383. #define A6XX_RBBM_PERFCTR_LRZ_2_HI 0x4ef
  384. #define A6XX_RBBM_PERFCTR_LRZ_3_LO 0x4f0
  385. #define A6XX_RBBM_PERFCTR_LRZ_3_HI 0x4f1
  386. #define A6XX_RBBM_PERFCTR_CMP_0_LO 0x4f2
  387. #define A6XX_RBBM_PERFCTR_CMP_0_HI 0x4f3
  388. #define A6XX_RBBM_PERFCTR_CMP_1_LO 0x4f4
  389. #define A6XX_RBBM_PERFCTR_CMP_1_HI 0x4f5
  390. #define A6XX_RBBM_PERFCTR_CMP_2_LO 0x4f6
  391. #define A6XX_RBBM_PERFCTR_CMP_2_HI 0x4f7
  392. #define A6XX_RBBM_PERFCTR_CMP_3_LO 0x4f8
  393. #define A6XX_RBBM_PERFCTR_CMP_3_HI 0x4f9
  394. #define A6XX_RBBM_PERFCTR_CNTL 0x500
  395. #define A6XX_RBBM_PERFCTR_LOAD_CMD0 0x501
  396. #define A6XX_RBBM_PERFCTR_LOAD_CMD1 0x502
  397. #define A6XX_RBBM_PERFCTR_LOAD_CMD2 0x503
  398. #define A6XX_RBBM_PERFCTR_LOAD_CMD3 0x504
  399. #define A6XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x505
  400. #define A6XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x506
  401. #define A6XX_RBBM_PERFCTR_RBBM_SEL_0 0x507
  402. #define A6XX_RBBM_PERFCTR_RBBM_SEL_1 0x508
  403. #define A6XX_RBBM_PERFCTR_RBBM_SEL_2 0x509
  404. #define A6XX_RBBM_PERFCTR_RBBM_SEL_3 0x50A
  405. #define A6XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x50B
  406. #define A6XX_RBBM_PERFCTR_SRAM_INIT_CMD 0x50e
  407. #define A6XX_RBBM_PERFCTR_SRAM_INIT_STATUS 0x50f
  408. #define A6XX_RBBM_ISDB_CNT 0x533
  409. #define A6XX_RBBM_NC_MODE_CNTL 0X534
  410. #define A6XX_RBBM_SNAPSHOT_STATUS 0x535
  411. #define A6XX_RBBM_LPAC_GBIF_CLIENT_QOS_CNTL 0x5ff
  412. #define A6XX_RBBM_SECVID_TRUST_CNTL 0xF400
  413. #define A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0xF800
  414. #define A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0xF801
  415. #define A6XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0xF802
  416. #define A6XX_RBBM_SECVID_TSB_CNTL 0xF803
  417. #define A6XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0xF810
  418. #define A6XX_RBBM_VBIF_CLIENT_QOS_CNTL 0x00010
  419. #define A6XX_RBBM_GBIF_CLIENT_QOS_CNTL 0x00011
  420. #define A6XX_RBBM_GBIF_HALT 0x00016
  421. #define A6XX_RBBM_GBIF_HALT_ACK 0x00017
  422. #define A6XX_RBBM_GPR0_CNTL 0x00018
  423. #define A6XX_RBBM_INTERFACE_HANG_INT_CNTL 0x0001f
  424. #define A6XX_RBBM_INT_CLEAR_CMD 0x00037
  425. #define A6XX_RBBM_INT_0_MASK 0x00038
  426. #define A6XX_RBBM_INT_2_MASK 0x0003A
  427. #define A6XX_RBBM_SP_HYST_CNT 0x00042
  428. #define A6XX_RBBM_SW_RESET_CMD 0x00043
  429. #define A6XX_RBBM_RAC_THRESHOLD_CNT 0x00044
  430. #define A6XX_RBBM_BLOCK_SW_RESET_CMD 0x00045
  431. #define A6XX_RBBM_BLOCK_SW_RESET_CMD2 0x00046
  432. #define A6XX_RBBM_BLOCK_GX_RETENTION_CNTL 0x00050
  433. #define A6XX_RBBM_CLOCK_CNTL 0x000ae
  434. #define A6XX_RBBM_CLOCK_CNTL_SP0 0x000b0
  435. #define A6XX_RBBM_CLOCK_CNTL_SP1 0x000b1
  436. #define A6XX_RBBM_CLOCK_CNTL_SP2 0x000b2
  437. #define A6XX_RBBM_CLOCK_CNTL_SP3 0x000b3
  438. #define A6XX_RBBM_CLOCK_CNTL2_SP0 0x000b4
  439. #define A6XX_RBBM_CLOCK_CNTL2_SP1 0x000b5
  440. #define A6XX_RBBM_CLOCK_CNTL2_SP2 0x000b6
  441. #define A6XX_RBBM_CLOCK_CNTL2_SP3 0x000b7
  442. #define A6XX_RBBM_CLOCK_DELAY_SP0 0x000b8
  443. #define A6XX_RBBM_CLOCK_DELAY_SP1 0x000b9
  444. #define A6XX_RBBM_CLOCK_DELAY_SP2 0x000ba
  445. #define A6XX_RBBM_CLOCK_DELAY_SP3 0x000bb
  446. #define A6XX_RBBM_CLOCK_HYST_SP0 0x000bc
  447. #define A6XX_RBBM_CLOCK_HYST_SP1 0x000bd
  448. #define A6XX_RBBM_CLOCK_HYST_SP2 0x000be
  449. #define A6XX_RBBM_CLOCK_HYST_SP3 0x000bf
  450. #define A6XX_RBBM_CLOCK_CNTL_TP0 0x000c0
  451. #define A6XX_RBBM_CLOCK_CNTL_TP1 0x000c1
  452. #define A6XX_RBBM_CLOCK_CNTL_TP2 0x000c2
  453. #define A6XX_RBBM_CLOCK_CNTL_TP3 0x000c3
  454. #define A6XX_RBBM_CLOCK_CNTL2_TP0 0x000c4
  455. #define A6XX_RBBM_CLOCK_CNTL2_TP1 0x000c5
  456. #define A6XX_RBBM_CLOCK_CNTL2_TP2 0x000c6
  457. #define A6XX_RBBM_CLOCK_CNTL2_TP3 0x000c7
  458. #define A6XX_RBBM_CLOCK_CNTL3_TP0 0x000c8
  459. #define A6XX_RBBM_CLOCK_CNTL3_TP1 0x000c9
  460. #define A6XX_RBBM_CLOCK_CNTL3_TP2 0x000ca
  461. #define A6XX_RBBM_CLOCK_CNTL3_TP3 0x000cb
  462. #define A6XX_RBBM_CLOCK_CNTL4_TP0 0x000cc
  463. #define A6XX_RBBM_CLOCK_CNTL4_TP1 0x000cd
  464. #define A6XX_RBBM_CLOCK_CNTL4_TP2 0x000ce
  465. #define A6XX_RBBM_CLOCK_CNTL4_TP3 0x000cf
  466. #define A6XX_RBBM_CLOCK_DELAY_TP0 0x000d0
  467. #define A6XX_RBBM_CLOCK_DELAY_TP1 0x000d1
  468. #define A6XX_RBBM_CLOCK_DELAY_TP2 0x000d2
  469. #define A6XX_RBBM_CLOCK_DELAY_TP3 0x000d3
  470. #define A6XX_RBBM_CLOCK_DELAY2_TP0 0x000d4
  471. #define A6XX_RBBM_CLOCK_DELAY2_TP1 0x000d5
  472. #define A6XX_RBBM_CLOCK_DELAY2_TP2 0x000d6
  473. #define A6XX_RBBM_CLOCK_DELAY2_TP3 0x000d7
  474. #define A6XX_RBBM_CLOCK_DELAY3_TP0 0x000d8
  475. #define A6XX_RBBM_CLOCK_DELAY3_TP1 0x000d9
  476. #define A6XX_RBBM_CLOCK_DELAY3_TP2 0x000da
  477. #define A6XX_RBBM_CLOCK_DELAY3_TP3 0x000db
  478. #define A6XX_RBBM_CLOCK_DELAY4_TP0 0x000dc
  479. #define A6XX_RBBM_CLOCK_DELAY4_TP1 0x000dd
  480. #define A6XX_RBBM_CLOCK_DELAY4_TP2 0x000de
  481. #define A6XX_RBBM_CLOCK_DELAY4_TP3 0x000df
  482. #define A6XX_RBBM_CLOCK_HYST_TP0 0x000e0
  483. #define A6XX_RBBM_CLOCK_HYST_TP1 0x000e1
  484. #define A6XX_RBBM_CLOCK_HYST_TP2 0x000e2
  485. #define A6XX_RBBM_CLOCK_HYST_TP3 0x000e3
  486. #define A6XX_RBBM_CLOCK_HYST2_TP0 0x000e4
  487. #define A6XX_RBBM_CLOCK_HYST2_TP1 0x000e5
  488. #define A6XX_RBBM_CLOCK_HYST2_TP2 0x000e6
  489. #define A6XX_RBBM_CLOCK_HYST2_TP3 0x000e7
  490. #define A6XX_RBBM_CLOCK_HYST3_TP0 0x000e8
  491. #define A6XX_RBBM_CLOCK_HYST3_TP1 0x000e9
  492. #define A6XX_RBBM_CLOCK_HYST3_TP2 0x000ea
  493. #define A6XX_RBBM_CLOCK_HYST3_TP3 0x000eb
  494. #define A6XX_RBBM_CLOCK_HYST4_TP0 0x000ec
  495. #define A6XX_RBBM_CLOCK_HYST4_TP1 0x000ed
  496. #define A6XX_RBBM_CLOCK_HYST4_TP2 0x000ee
  497. #define A6XX_RBBM_CLOCK_HYST4_TP3 0x000ef
  498. #define A6XX_RBBM_CLOCK_CNTL_RB0 0x000f0
  499. #define A6XX_RBBM_CLOCK_CNTL_RB1 0x000f1
  500. #define A6XX_RBBM_CLOCK_CNTL_RB2 0x000f2
  501. #define A6XX_RBBM_CLOCK_CNTL_RB3 0x000f3
  502. #define A6XX_RBBM_CLOCK_CNTL2_RB0 0x000f4
  503. #define A6XX_RBBM_CLOCK_CNTL2_RB1 0x000f5
  504. #define A6XX_RBBM_CLOCK_CNTL2_RB2 0x000f6
  505. #define A6XX_RBBM_CLOCK_CNTL2_RB3 0x000f7
  506. #define A6XX_RBBM_CLOCK_CNTL_CCU0 0x000f8
  507. #define A6XX_RBBM_CLOCK_CNTL_CCU1 0x000f9
  508. #define A6XX_RBBM_CLOCK_CNTL_CCU2 0x000fa
  509. #define A6XX_RBBM_CLOCK_CNTL_CCU3 0x000fb
  510. #define A6XX_RBBM_CLOCK_HYST_RB_CCU0 0x00100
  511. #define A6XX_RBBM_CLOCK_HYST_RB_CCU1 0x00101
  512. #define A6XX_RBBM_CLOCK_HYST_RB_CCU2 0x00102
  513. #define A6XX_RBBM_CLOCK_HYST_RB_CCU3 0x00103
  514. #define A6XX_RBBM_CLOCK_CNTL_RAC 0x00104
  515. #define A6XX_RBBM_CLOCK_CNTL2_RAC 0x00105
  516. #define A6XX_RBBM_CLOCK_DELAY_RAC 0x00106
  517. #define A6XX_RBBM_CLOCK_HYST_RAC 0x00107
  518. #define A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x00108
  519. #define A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x00109
  520. #define A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x0010a
  521. #define A6XX_RBBM_CLOCK_CNTL_UCHE 0x0010b
  522. #define A6XX_RBBM_CLOCK_CNTL2_UCHE 0x0010c
  523. #define A6XX_RBBM_CLOCK_CNTL3_UCHE 0x0010d
  524. #define A6XX_RBBM_CLOCK_CNTL4_UCHE 0x0010e
  525. #define A6XX_RBBM_CLOCK_DELAY_UCHE 0x0010f
  526. #define A6XX_RBBM_CLOCK_HYST_UCHE 0x00110
  527. #define A6XX_RBBM_CLOCK_MODE_VFD 0x00111
  528. #define A6XX_RBBM_CLOCK_DELAY_VFD 0x00112
  529. #define A6XX_RBBM_CLOCK_HYST_VFD 0x00113
  530. #define A6XX_RBBM_CLOCK_MODE_GPC 0x00114
  531. #define A6XX_RBBM_CLOCK_DELAY_GPC 0x00115
  532. #define A6XX_RBBM_CLOCK_HYST_GPC 0x00116
  533. #define A6XX_RBBM_CLOCK_DELAY_HLSQ_2 0x00117
  534. #define A6XX_RBBM_CLOCK_CNTL_GMU_GX 0x00118
  535. #define A6XX_RBBM_CLOCK_DELAY_GMU_GX 0x00119
  536. #define A6XX_RBBM_CLOCK_CNTL_TEX_FCHE 0x00120
  537. #define A6XX_RBBM_CLOCK_DELAY_TEX_FCHE 0x00121
  538. #define A6XX_RBBM_CLOCK_HYST_TEX_FCHE 0x00122
  539. #define A6XX_RBBM_CLOCK_HYST_GMU_GX 0x0011a
  540. #define A6XX_RBBM_CLOCK_MODE_HLSQ 0x0011b
  541. #define A6XX_RBBM_CLOCK_DELAY_HLSQ 0x0011c
  542. #define A6XX_RBBM_CLOCK_HYST_HLSQ 0x0011d
  543. #define A6XX_RBBM_CLOCK_CNTL_FCHE 0x00123
  544. #define A6XX_RBBM_CLOCK_DELAY_FCHE 0x00124
  545. #define A6XX_RBBM_CLOCK_HYST_FCHE 0x00125
  546. #define A6XX_RBBM_CLOCK_CNTL_MHUB 0x00126
  547. #define A6XX_RBBM_CLOCK_DELAY_MHUB 0x00127
  548. #define A6XX_RBBM_CLOCK_HYST_MHUB 0x00128
  549. #define A6XX_RBBM_CLOCK_DELAY_GLC 0x00129
  550. #define A6XX_RBBM_CLOCK_HYST_GLC 0x0012a
  551. #define A6XX_RBBM_CLOCK_CNTL_GLC 0x0012b
  552. #define A6XX_GMUAO_GMU_CGC_MODE_CNTL 0x23b09
  553. #define A6XX_GMUAO_GMU_CGC_DELAY_CNTL 0x23b0a
  554. #define A6XX_GMUAO_GMU_CGC_HYST_CNTL 0x23b0b
  555. #define A6XX_GMUCX_GMU_WFI_CONFIG 0x1f802
  556. #define A6XX_GMUGX_GMU_SP_RF_CONTROL_0 0x1a883
  557. #define A6XX_GMUGX_GMU_SP_RF_CONTROL_1 0x1a884
  558. /* DBGC_CFG registers */
  559. #define A6XX_DBGC_CFG_DBGBUS_SEL_A 0x600
  560. #define A6XX_DBGC_CFG_DBGBUS_SEL_B 0x601
  561. #define A6XX_DBGC_CFG_DBGBUS_SEL_C 0x602
  562. #define A6XX_DBGC_CFG_DBGBUS_SEL_D 0x603
  563. #define A6XX_DBGC_CFG_DBGBUS_SEL_PING_INDEX_SHIFT 0x0
  564. #define A6XX_DBGC_CFG_DBGBUS_SEL_PING_BLK_SEL_SHIFT 0x8
  565. #define A6XX_DBGC_CFG_DBGBUS_CNTLT 0x604
  566. #define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN_SHIFT 0x0
  567. #define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU_SHIFT 0xC
  568. #define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT_SHIFT 0x1C
  569. #define A6XX_DBGC_CFG_DBGBUS_CNTLM 0x605
  570. #define A6XX_DBGC_CFG_DBGBUS_CTLTM_ENABLE_SHIFT 0x18
  571. #define A6XX_DBGC_CFG_DBGBUS_OPL 0x606
  572. #define A6XX_DBGC_CFG_DBGBUS_OPE 0x607
  573. #define A6XX_DBGC_CFG_DBGBUS_IVTL_0 0x608
  574. #define A6XX_DBGC_CFG_DBGBUS_IVTL_1 0x609
  575. #define A6XX_DBGC_CFG_DBGBUS_IVTL_2 0x60a
  576. #define A6XX_DBGC_CFG_DBGBUS_IVTL_3 0x60b
  577. #define A6XX_DBGC_CFG_DBGBUS_MASKL_0 0x60c
  578. #define A6XX_DBGC_CFG_DBGBUS_MASKL_1 0x60d
  579. #define A6XX_DBGC_CFG_DBGBUS_MASKL_2 0x60e
  580. #define A6XX_DBGC_CFG_DBGBUS_MASKL_3 0x60f
  581. #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0 0x610
  582. #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1 0x611
  583. #define A6XX_DBGC_CFG_DBGBUS_BYTEL0_SHIFT 0x0
  584. #define A6XX_DBGC_CFG_DBGBUS_BYTEL1_SHIFT 0x4
  585. #define A6XX_DBGC_CFG_DBGBUS_BYTEL2_SHIFT 0x8
  586. #define A6XX_DBGC_CFG_DBGBUS_BYTEL3_SHIFT 0xC
  587. #define A6XX_DBGC_CFG_DBGBUS_BYTEL4_SHIFT 0x10
  588. #define A6XX_DBGC_CFG_DBGBUS_BYTEL5_SHIFT 0x14
  589. #define A6XX_DBGC_CFG_DBGBUS_BYTEL6_SHIFT 0x18
  590. #define A6XX_DBGC_CFG_DBGBUS_BYTEL7_SHIFT 0x1C
  591. #define A6XX_DBGC_CFG_DBGBUS_BYTEL8_SHIFT 0x0
  592. #define A6XX_DBGC_CFG_DBGBUS_BYTEL9_SHIFT 0x4
  593. #define A6XX_DBGC_CFG_DBGBUS_BYTEL10_SHIFT 0x8
  594. #define A6XX_DBGC_CFG_DBGBUS_BYTEL11_SHIFT 0xC
  595. #define A6XX_DBGC_CFG_DBGBUS_BYTEL12_SHIFT 0x10
  596. #define A6XX_DBGC_CFG_DBGBUS_BYTEL13_SHIFT 0x14
  597. #define A6XX_DBGC_CFG_DBGBUS_BYTEL14_SHIFT 0x18
  598. #define A6XX_DBGC_CFG_DBGBUS_BYTEL15_SHIFT 0x1C
  599. #define A6XX_DBGC_CFG_DBGBUS_IVTE_0 0x612
  600. #define A6XX_DBGC_CFG_DBGBUS_IVTE_1 0x613
  601. #define A6XX_DBGC_CFG_DBGBUS_IVTE_2 0x614
  602. #define A6XX_DBGC_CFG_DBGBUS_IVTE_3 0x615
  603. #define A6XX_DBGC_CFG_DBGBUS_MASKE_0 0x616
  604. #define A6XX_DBGC_CFG_DBGBUS_MASKE_1 0x617
  605. #define A6XX_DBGC_CFG_DBGBUS_MASKE_2 0x618
  606. #define A6XX_DBGC_CFG_DBGBUS_MASKE_3 0x619
  607. #define A6XX_DBGC_CFG_DBGBUS_NIBBLEE 0x61a
  608. #define A6XX_DBGC_CFG_DBGBUS_PTRC0 0x61b
  609. #define A6XX_DBGC_CFG_DBGBUS_PTRC1 0x61c
  610. #define A6XX_DBGC_CFG_DBGBUS_LOADREG 0x61d
  611. #define A6XX_DBGC_CFG_DBGBUS_IDX 0x61e
  612. #define A6XX_DBGC_CFG_DBGBUS_CLRC 0x61f
  613. #define A6XX_DBGC_CFG_DBGBUS_LOADIVT 0x620
  614. #define A6XX_DBGC_VBIF_DBG_CNTL 0x621
  615. #define A6XX_DBGC_DBG_LO_HI_GPIO 0x622
  616. #define A6XX_DBGC_EXT_TRACE_BUS_CNTL 0x623
  617. #define A6XX_DBGC_READ_AHB_THROUGH_DBG 0x624
  618. #define A6XX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x62f
  619. #define A6XX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x630
  620. #define A6XX_DBGC_EVT_CFG 0x640
  621. #define A6XX_DBGC_EVT_INTF_SEL_0 0x641
  622. #define A6XX_DBGC_EVT_INTF_SEL_1 0x642
  623. #define A6XX_DBGC_PERF_ATB_CFG 0x643
  624. #define A6XX_DBGC_PERF_ATB_COUNTER_SEL_0 0x644
  625. #define A6XX_DBGC_PERF_ATB_COUNTER_SEL_1 0x645
  626. #define A6XX_DBGC_PERF_ATB_COUNTER_SEL_2 0x646
  627. #define A6XX_DBGC_PERF_ATB_COUNTER_SEL_3 0x647
  628. #define A6XX_DBGC_PERF_ATB_TRIG_INTF_SEL_0 0x648
  629. #define A6XX_DBGC_PERF_ATB_TRIG_INTF_SEL_1 0x649
  630. #define A6XX_DBGC_PERF_ATB_DRAIN_CMD 0x64a
  631. #define A6XX_DBGC_ECO_CNTL 0x650
  632. #define A6XX_DBGC_AHB_DBG_CNTL 0x651
  633. /* VSC registers */
  634. #define A6XX_VSC_PERFCTR_VSC_SEL_0 0xCD8
  635. #define A6XX_VSC_PERFCTR_VSC_SEL_1 0xCD9
  636. /* GRAS registers */
  637. #define A6XX_GRAS_ADDR_MODE_CNTL 0x8601
  638. #define A6XX_GRAS_PERFCTR_TSE_SEL_0 0x8610
  639. #define A6XX_GRAS_PERFCTR_TSE_SEL_1 0x8611
  640. #define A6XX_GRAS_PERFCTR_TSE_SEL_2 0x8612
  641. #define A6XX_GRAS_PERFCTR_TSE_SEL_3 0x8613
  642. #define A6XX_GRAS_PERFCTR_RAS_SEL_0 0x8614
  643. #define A6XX_GRAS_PERFCTR_RAS_SEL_1 0x8615
  644. #define A6XX_GRAS_PERFCTR_RAS_SEL_2 0x8616
  645. #define A6XX_GRAS_PERFCTR_RAS_SEL_3 0x8617
  646. #define A6XX_GRAS_PERFCTR_LRZ_SEL_0 0x8618
  647. #define A6XX_GRAS_PERFCTR_LRZ_SEL_1 0x8619
  648. #define A6XX_GRAS_PERFCTR_LRZ_SEL_2 0x861A
  649. #define A6XX_GRAS_PERFCTR_LRZ_SEL_3 0x861B
  650. /* RB registers */
  651. #define A6XX_RB_ADDR_MODE_CNTL 0x8E05
  652. #define A6XX_RB_NC_MODE_CNTL 0x8E08
  653. #define A6XX_RB_PERFCTR_RB_SEL_0 0x8E10
  654. #define A6XX_RB_PERFCTR_RB_SEL_1 0x8E11
  655. #define A6XX_RB_PERFCTR_RB_SEL_2 0x8E12
  656. #define A6XX_RB_PERFCTR_RB_SEL_3 0x8E13
  657. #define A6XX_RB_PERFCTR_RB_SEL_4 0x8E14
  658. #define A6XX_RB_PERFCTR_RB_SEL_5 0x8E15
  659. #define A6XX_RB_PERFCTR_RB_SEL_6 0x8E16
  660. #define A6XX_RB_PERFCTR_RB_SEL_7 0x8E17
  661. #define A6XX_RB_PERFCTR_CCU_SEL_0 0x8E18
  662. #define A6XX_RB_PERFCTR_CCU_SEL_1 0x8E19
  663. #define A6XX_RB_PERFCTR_CCU_SEL_2 0x8E1A
  664. #define A6XX_RB_PERFCTR_CCU_SEL_3 0x8E1B
  665. #define A6XX_RB_PERFCTR_CCU_SEL_4 0x8E1C
  666. #define A6XX_RB_PERFCTR_CMP_SEL_0 0x8E2C
  667. #define A6XX_RB_PERFCTR_CMP_SEL_1 0x8E2D
  668. #define A6XX_RB_PERFCTR_CMP_SEL_2 0x8E2E
  669. #define A6XX_RB_PERFCTR_CMP_SEL_3 0x8E2F
  670. #define A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_HOST 0x8E3B
  671. #define A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_CD 0x8E3D
  672. #define A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE 0x8E50
  673. /* PC registers */
  674. #define A6XX_PC_DBG_ECO_CNTL 0x9E00
  675. #define A6XX_PC_ADDR_MODE_CNTL 0x9E01
  676. #define A6XX_PC_PERFCTR_PC_SEL_0 0x9E34
  677. #define A6XX_PC_PERFCTR_PC_SEL_1 0x9E35
  678. #define A6XX_PC_PERFCTR_PC_SEL_2 0x9E36
  679. #define A6XX_PC_PERFCTR_PC_SEL_3 0x9E37
  680. #define A6XX_PC_PERFCTR_PC_SEL_4 0x9E38
  681. #define A6XX_PC_PERFCTR_PC_SEL_5 0x9E39
  682. #define A6XX_PC_PERFCTR_PC_SEL_6 0x9E3A
  683. #define A6XX_PC_PERFCTR_PC_SEL_7 0x9E3B
  684. /* HLSQ registers */
  685. #define A6XX_HLSQ_ADDR_MODE_CNTL 0xBE05
  686. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_0 0xBE10
  687. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_1 0xBE11
  688. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_2 0xBE12
  689. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_3 0xBE13
  690. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_4 0xBE14
  691. #define A6XX_HLSQ_PERFCTR_HLSQ_SEL_5 0xBE15
  692. #define A6XX_HLSQ_DBG_AHB_READ_APERTURE 0xC800
  693. #define A6XX_HLSQ_DBG_READ_SEL 0xD000
  694. /* VFD registers */
  695. #define A6XX_VFD_ADDR_MODE_CNTL 0xA601
  696. #define A6XX_VFD_PERFCTR_VFD_SEL_0 0xA610
  697. #define A6XX_VFD_PERFCTR_VFD_SEL_1 0xA611
  698. #define A6XX_VFD_PERFCTR_VFD_SEL_2 0xA612
  699. #define A6XX_VFD_PERFCTR_VFD_SEL_3 0xA613
  700. #define A6XX_VFD_PERFCTR_VFD_SEL_4 0xA614
  701. #define A6XX_VFD_PERFCTR_VFD_SEL_5 0xA615
  702. #define A6XX_VFD_PERFCTR_VFD_SEL_6 0xA616
  703. #define A6XX_VFD_PERFCTR_VFD_SEL_7 0xA617
  704. /* VPC registers */
  705. #define A6XX_VPC_ADDR_MODE_CNTL 0x9601
  706. #define A6XX_VPC_PERFCTR_VPC_SEL_0 0x9604
  707. #define A6XX_VPC_PERFCTR_VPC_SEL_1 0x9605
  708. #define A6XX_VPC_PERFCTR_VPC_SEL_2 0x9606
  709. #define A6XX_VPC_PERFCTR_VPC_SEL_3 0x9607
  710. #define A6XX_VPC_PERFCTR_VPC_SEL_4 0x9608
  711. #define A6XX_VPC_PERFCTR_VPC_SEL_5 0x9609
  712. /* UCHE registers */
  713. #define A6XX_UCHE_ADDR_MODE_CNTL 0xE00
  714. #define A6XX_UCHE_MODE_CNTL 0xE01
  715. #define A6XX_UCHE_WRITE_RANGE_MAX_LO 0xE05
  716. #define A6XX_UCHE_WRITE_RANGE_MAX_HI 0xE06
  717. #define A6XX_UCHE_WRITE_THRU_BASE_LO 0xE07
  718. #define A6XX_UCHE_WRITE_THRU_BASE_HI 0xE08
  719. #define A6XX_UCHE_TRAP_BASE_LO 0xE09
  720. #define A6XX_UCHE_TRAP_BASE_HI 0xE0A
  721. #define A6XX_UCHE_GMEM_RANGE_MIN_LO 0xE0B
  722. #define A6XX_UCHE_GMEM_RANGE_MIN_HI 0xE0C
  723. #define A6XX_UCHE_GMEM_RANGE_MAX_LO 0xE0D
  724. #define A6XX_UCHE_GMEM_RANGE_MAX_HI 0xE0E
  725. #define A6XX_UCHE_CACHE_WAYS 0xE17
  726. #define A6XX_UCHE_FILTER_CNTL 0xE18
  727. #define A6XX_UCHE_CLIENT_PF 0xE19
  728. #define A6XX_UCHE_CLIENT_PF_CLIENT_ID_MASK 0x7
  729. #define A6XX_UCHE_PERFCTR_UCHE_SEL_0 0xE1C
  730. #define A6XX_UCHE_PERFCTR_UCHE_SEL_1 0xE1D
  731. #define A6XX_UCHE_PERFCTR_UCHE_SEL_2 0xE1E
  732. #define A6XX_UCHE_PERFCTR_UCHE_SEL_3 0xE1F
  733. #define A6XX_UCHE_PERFCTR_UCHE_SEL_4 0xE20
  734. #define A6XX_UCHE_PERFCTR_UCHE_SEL_5 0xE21
  735. #define A6XX_UCHE_PERFCTR_UCHE_SEL_6 0xE22
  736. #define A6XX_UCHE_PERFCTR_UCHE_SEL_7 0xE23
  737. #define A6XX_UCHE_PERFCTR_UCHE_SEL_8 0xE24
  738. #define A6XX_UCHE_PERFCTR_UCHE_SEL_9 0xE25
  739. #define A6XX_UCHE_PERFCTR_UCHE_SEL_10 0xE26
  740. #define A6XX_UCHE_PERFCTR_UCHE_SEL_11 0xE27
  741. #define A6XX_UCHE_GBIF_GX_CONFIG 0xE3A
  742. #define A6XX_UCHE_CMDQ_CONFIG 0xE3C
  743. /* SP registers */
  744. #define A6XX_SP_ADDR_MODE_CNTL 0xAE01
  745. #define A6XX_SP_NC_MODE_CNTL 0xAE02
  746. #define A6XX_SP_PERFCTR_SP_SEL_0 0xAE10
  747. #define A6XX_SP_PERFCTR_SP_SEL_1 0xAE11
  748. #define A6XX_SP_PERFCTR_SP_SEL_2 0xAE12
  749. #define A6XX_SP_PERFCTR_SP_SEL_3 0xAE13
  750. #define A6XX_SP_PERFCTR_SP_SEL_4 0xAE14
  751. #define A6XX_SP_PERFCTR_SP_SEL_5 0xAE15
  752. #define A6XX_SP_PERFCTR_SP_SEL_6 0xAE16
  753. #define A6XX_SP_PERFCTR_SP_SEL_7 0xAE17
  754. #define A6XX_SP_PERFCTR_SP_SEL_8 0xAE18
  755. #define A6XX_SP_PERFCTR_SP_SEL_9 0xAE19
  756. #define A6XX_SP_PERFCTR_SP_SEL_10 0xAE1A
  757. #define A6XX_SP_PERFCTR_SP_SEL_11 0xAE1B
  758. #define A6XX_SP_PERFCTR_SP_SEL_12 0xAE1C
  759. #define A6XX_SP_PERFCTR_SP_SEL_13 0xAE1D
  760. #define A6XX_SP_PERFCTR_SP_SEL_14 0xAE1E
  761. #define A6XX_SP_PERFCTR_SP_SEL_15 0xAE1F
  762. #define A6XX_SP_PERFCTR_SP_SEL_16 0xAE20
  763. #define A6XX_SP_PERFCTR_SP_SEL_17 0xAE21
  764. #define A6XX_SP_PERFCTR_SP_SEL_18 0xAE22
  765. #define A6XX_SP_PERFCTR_SP_SEL_19 0xAE23
  766. #define A6XX_SP_PERFCTR_SP_SEL_20 0xAE24
  767. #define A6XX_SP_PERFCTR_SP_SEL_21 0xAE25
  768. #define A6XX_SP_PERFCTR_SP_SEL_22 0xAE26
  769. #define A6XX_SP_PERFCTR_SP_SEL_23 0xAE27
  770. /* TP registers */
  771. #define A6XX_TPL1_ADDR_MODE_CNTL 0xB601
  772. #define A6XX_TPL1_NC_MODE_CNTL 0xB604
  773. #define A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_0 0xB608
  774. #define A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_1 0xB609
  775. #define A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_2 0xB60A
  776. #define A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_3 0xB60B
  777. #define A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_4 0xB60C
  778. #define A6XX_TPL1_PERFCTR_TP_SEL_0 0xB610
  779. #define A6XX_TPL1_PERFCTR_TP_SEL_1 0xB611
  780. #define A6XX_TPL1_PERFCTR_TP_SEL_2 0xB612
  781. #define A6XX_TPL1_PERFCTR_TP_SEL_3 0xB613
  782. #define A6XX_TPL1_PERFCTR_TP_SEL_4 0xB614
  783. #define A6XX_TPL1_PERFCTR_TP_SEL_5 0xB615
  784. #define A6XX_TPL1_PERFCTR_TP_SEL_6 0xB616
  785. #define A6XX_TPL1_PERFCTR_TP_SEL_7 0xB617
  786. #define A6XX_TPL1_PERFCTR_TP_SEL_8 0xB618
  787. #define A6XX_TPL1_PERFCTR_TP_SEL_9 0xB619
  788. #define A6XX_TPL1_PERFCTR_TP_SEL_10 0xB61A
  789. #define A6XX_TPL1_PERFCTR_TP_SEL_11 0xB61B
  790. /* VBIF registers */
  791. #define A6XX_VBIF_VERSION 0x3000
  792. #define A6XX_VBIF_CLKON 0x3001
  793. #define A6XX_VBIF_CLKON_FORCE_ON_TESTBUS_MASK 0x1
  794. #define A6XX_VBIF_CLKON_FORCE_ON_TESTBUS_SHIFT 0x1
  795. #define A6XX_VBIF_GATE_OFF_WRREQ_EN 0x302A
  796. #define A6XX_VBIF_XIN_HALT_CTRL0 0x3080
  797. #define A6XX_VBIF_XIN_HALT_CTRL0_MASK 0xF
  798. #define A6XX_VBIF_XIN_HALT_CTRL1 0x3081
  799. #define A6XX_VBIF_TEST_BUS_OUT_CTRL 0x3084
  800. #define A6XX_VBIF_TEST_BUS_OUT_CTRL_EN_MASK 0x1
  801. #define A6XX_VBIF_TEST_BUS_OUT_CTRL_EN_SHIFT 0x0
  802. #define A6XX_VBIF_TEST_BUS1_CTRL0 0x3085
  803. #define A6XX_VBIF_TEST_BUS1_CTRL1 0x3086
  804. #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_MASK 0xF
  805. #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_SHIFT 0x0
  806. #define A6XX_VBIF_TEST_BUS2_CTRL0 0x3087
  807. #define A6XX_VBIF_TEST_BUS2_CTRL1 0x3088
  808. #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_MASK 0x1FF
  809. #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_SHIFT 0x0
  810. #define A6XX_VBIF_TEST_BUS_OUT 0x308C
  811. #define A6XX_VBIF_PERF_CNT_SEL0 0x30d0
  812. #define A6XX_VBIF_PERF_CNT_SEL1 0x30d1
  813. #define A6XX_VBIF_PERF_CNT_SEL2 0x30d2
  814. #define A6XX_VBIF_PERF_CNT_SEL3 0x30d3
  815. #define A6XX_VBIF_PERF_CNT_LOW0 0x30d8
  816. #define A6XX_VBIF_PERF_CNT_LOW1 0x30d9
  817. #define A6XX_VBIF_PERF_CNT_LOW2 0x30da
  818. #define A6XX_VBIF_PERF_CNT_LOW3 0x30db
  819. #define A6XX_VBIF_PERF_CNT_HIGH0 0x30e0
  820. #define A6XX_VBIF_PERF_CNT_HIGH1 0x30e1
  821. #define A6XX_VBIF_PERF_CNT_HIGH2 0x30e2
  822. #define A6XX_VBIF_PERF_CNT_HIGH3 0x30e3
  823. #define A6XX_VBIF_PERF_PWR_CNT_EN0 0x3100
  824. #define A6XX_VBIF_PERF_PWR_CNT_EN1 0x3101
  825. #define A6XX_VBIF_PERF_PWR_CNT_EN2 0x3102
  826. #define A6XX_VBIF_PERF_PWR_CNT_LOW0 0x3110
  827. #define A6XX_VBIF_PERF_PWR_CNT_LOW1 0x3111
  828. #define A6XX_VBIF_PERF_PWR_CNT_LOW2 0x3112
  829. #define A6XX_VBIF_PERF_PWR_CNT_HIGH0 0x3118
  830. #define A6XX_VBIF_PERF_PWR_CNT_HIGH1 0x3119
  831. #define A6XX_VBIF_PERF_PWR_CNT_HIGH2 0x311a
  832. /* GBIF countables */
  833. #define GBIF_AXI0_READ_DATA_TOTAL_BEATS 34
  834. #define GBIF_AXI1_READ_DATA_TOTAL_BEATS 35
  835. #define GBIF_AXI0_WRITE_DATA_TOTAL_BEATS 46
  836. #define GBIF_AXI1_WRITE_DATA_TOTAL_BEATS 47
  837. /* GBIF registers */
  838. #define A6XX_GBIF_CX_CONFIG 0x3c00
  839. #define A6XX_GBIF_SCACHE_CNTL0 0x3c01
  840. #define A6XX_GBIF_SCACHE_CNTL1 0x3c02
  841. #define A6XX_GBIF_QSB_SIDE0 0x3c03
  842. #define A6XX_GBIF_QSB_SIDE1 0x3c04
  843. #define A6XX_GBIF_QSB_SIDE2 0x3c05
  844. #define A6XX_GBIF_QSB_SIDE3 0x3c06
  845. #define A6XX_GBIF_HALT 0x3c45
  846. #define A6XX_GBIF_HALT_ACK 0x3c46
  847. #define A6XX_GBIF_CLIENT_HALT_MASK BIT(0)
  848. #define A6XX_GBIF_ARB_HALT_MASK BIT(1)
  849. #define A6XX_GBIF_GX_HALT_MASK BIT(0)
  850. #define A6XX_GBIF_PERF_PWR_CNT_EN 0x3cc0
  851. #define A6XX_GBIF_PERF_CNT_SEL 0x3cc2
  852. #define A6XX_GBIF_PERF_PWR_CNT_SEL 0x3cc3
  853. #define A6XX_GBIF_PERF_CNT_LOW0 0x3cc4
  854. #define A6XX_GBIF_PERF_CNT_LOW1 0x3cc5
  855. #define A6XX_GBIF_PERF_CNT_LOW2 0x3cc6
  856. #define A6XX_GBIF_PERF_CNT_LOW3 0x3cc7
  857. #define A6XX_GBIF_PERF_CNT_HIGH0 0x3cc8
  858. #define A6XX_GBIF_PERF_CNT_HIGH1 0x3cc9
  859. #define A6XX_GBIF_PERF_CNT_HIGH2 0x3cca
  860. #define A6XX_GBIF_PERF_CNT_HIGH3 0x3ccb
  861. #define A6XX_GBIF_PWR_CNT_LOW0 0x3ccc
  862. #define A6XX_GBIF_PWR_CNT_LOW1 0x3ccd
  863. #define A6XX_GBIF_PWR_CNT_LOW2 0x3cce
  864. #define A6XX_GBIF_PWR_CNT_HIGH0 0x3ccf
  865. #define A6XX_GBIF_PWR_CNT_HIGH1 0x3cd0
  866. #define A6XX_GBIF_PWR_CNT_HIGH2 0x3cd1
  867. /* CX_DBGC_CFG registers */
  868. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A 0x18400
  869. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_B 0x18401
  870. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_C 0x18402
  871. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_D 0x18403
  872. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_PING_INDEX_SHIFT 0x0
  873. #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_PING_BLK_SEL_SHIFT 0x8
  874. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT 0x18404
  875. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN_SHIFT 0x0
  876. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU_SHIFT 0xC
  877. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT_SHIFT 0x1C
  878. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM 0x18405
  879. #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE_SHIFT 0x18
  880. #define A6XX_CX_DBGC_CFG_DBGBUS_OPL 0x18406
  881. #define A6XX_CX_DBGC_CFG_DBGBUS_OPE 0x18407
  882. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0 0x18408
  883. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1 0x18409
  884. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2 0x1840A
  885. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3 0x1840B
  886. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0 0x1840C
  887. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1 0x1840D
  888. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2 0x1840E
  889. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKL_3 0x1840F
  890. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0 0x18410
  891. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1 0x18411
  892. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL0_SHIFT 0x0
  893. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL1_SHIFT 0x4
  894. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL2_SHIFT 0x8
  895. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL3_SHIFT 0xC
  896. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL4_SHIFT 0x10
  897. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL5_SHIFT 0x14
  898. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL6_SHIFT 0x18
  899. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL7_SHIFT 0x1C
  900. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL8_SHIFT 0x0
  901. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL9_SHIFT 0x4
  902. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL10_SHIFT 0x8
  903. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL11_SHIFT 0xC
  904. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL12_SHIFT 0x10
  905. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL13_SHIFT 0x14
  906. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL14_SHIFT 0x18
  907. #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL15_SHIFT 0x1C
  908. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTE_0 0x18412
  909. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTE_1 0x18413
  910. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTE_2 0x18414
  911. #define A6XX_CX_DBGC_CFG_DBGBUS_IVTE_3 0x18415
  912. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKE_0 0x18416
  913. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKE_1 0x18417
  914. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKE_2 0x18418
  915. #define A6XX_CX_DBGC_CFG_DBGBUS_MASKE_3 0x18419
  916. #define A6XX_CX_DBGC_CFG_DBGBUS_NIBBLEE 0x1841A
  917. #define A6XX_CX_DBGC_CFG_DBGBUS_PTRC0 0x1841B
  918. #define A6XX_CX_DBGC_CFG_DBGBUS_PTRC1 0x1841C
  919. #define A6XX_CX_DBGC_CFG_DBGBUS_LOADREG 0x1841D
  920. #define A6XX_CX_DBGC_CFG_DBGBUS_IDX 0x1841E
  921. #define A6XX_CX_DBGC_CFG_DBGBUS_CLRC 0x1841F
  922. #define A6XX_CX_DBGC_CFG_DBGBUS_LOADIVT 0x18420
  923. #define A6XX_CX_DBGC_VBIF_DBG_CNTL 0x18421
  924. #define A6XX_CX_DBGC_DBG_LO_HI_GPIO 0x18422
  925. #define A6XX_CX_DBGC_EXT_TRACE_BUS_CNTL 0x18423
  926. #define A6XX_CX_DBGC_READ_AHB_THROUGH_DBG 0x18424
  927. #define A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x1842F
  928. #define A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x18430
  929. #define A6XX_CX_DBGC_EVT_CFG 0x18440
  930. #define A6XX_CX_DBGC_EVT_INTF_SEL_0 0x18441
  931. #define A6XX_CX_DBGC_EVT_INTF_SEL_1 0x18442
  932. #define A6XX_CX_DBGC_PERF_ATB_CFG 0x18443
  933. #define A6XX_CX_DBGC_PERF_ATB_COUNTER_SEL_0 0x18444
  934. #define A6XX_CX_DBGC_PERF_ATB_COUNTER_SEL_1 0x18445
  935. #define A6XX_CX_DBGC_PERF_ATB_COUNTER_SEL_2 0x18446
  936. #define A6XX_CX_DBGC_PERF_ATB_COUNTER_SEL_3 0x18447
  937. #define A6XX_CX_DBGC_PERF_ATB_TRIG_INTF_SEL_0 0x18448
  938. #define A6XX_CX_DBGC_PERF_ATB_TRIG_INTF_SEL_1 0x18449
  939. #define A6XX_CX_DBGC_PERF_ATB_DRAIN_CMD 0x1844A
  940. #define A6XX_CX_DBGC_ECO_CNTL 0x18450
  941. #define A6XX_CX_DBGC_AHB_DBG_CNTL 0x18451
  942. /* GMU control registers */
  943. #define A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL 0x1A880
  944. #define A6XX_GMU_GX_SPTPRAC_POWER_CONTROL 0x1A881
  945. #define A6XX_GMU_CM3_ITCM_START 0x1B400
  946. #define A6XX_GMU_CM3_DTCM_START 0x1C400
  947. #define A6XX_GMU_NMI_CONTROL_STATUS 0x1CBF0
  948. #define A6XX_GMU_BOOT_SLUMBER_OPTION 0x1CBF8
  949. #define A6XX_GMU_GX_VOTE_IDX 0x1CBF9
  950. #define A6XX_GMU_MX_VOTE_IDX 0x1CBFA
  951. #define A6XX_GMU_DCVS_ACK_OPTION 0x1CBFC
  952. #define A6XX_GMU_DCVS_PERF_SETTING 0x1CBFD
  953. #define A6XX_GMU_DCVS_BW_SETTING 0x1CBFE
  954. #define A6XX_GMU_DCVS_RETURN 0x1CBFF
  955. #define A6XX_GMU_ICACHE_CONFIG 0x1F400
  956. #define A6XX_GMU_DCACHE_CONFIG 0x1F401
  957. #define A6XX_GMU_SYS_BUS_CONFIG 0x1F40F
  958. #define A6XX_GMU_CM3_SYSRESET 0x1F800
  959. #define A6XX_GMU_CM3_BOOT_CONFIG 0x1F801
  960. #define A6XX_GMU_CX_GMU_WFI_CONFIG 0x1F802
  961. #define A6XX_GMU_CX_GMU_WDOG_CTRL 0x1F813
  962. #define A6XX_GMU_CM3_FW_BUSY 0x1F81A
  963. #define A6XX_GMU_CM3_FW_INIT_RESULT 0x1F81C
  964. #define A6XX_GMU_CM3_CFG 0x1F82D
  965. #define A6XX_GMU_CX_GMU_POWER_COUNTER_ENABLE 0x1F840
  966. #define A6XX_GMU_CX_GMU_POWER_COUNTER_SELECT_0 0x1F841
  967. #define A6XX_GMU_CX_GMU_POWER_COUNTER_SELECT_1 0x1F842
  968. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_L 0x1F844
  969. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_H 0x1F845
  970. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_1_L 0x1F846
  971. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_1_H 0x1F847
  972. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_2_L 0x1F848
  973. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_2_H 0x1F849
  974. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_3_L 0x1F84A
  975. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_3_H 0x1F84B
  976. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_4_L 0x1F84C
  977. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_4_H 0x1F84D
  978. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_5_L 0x1F84E
  979. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_5_H 0x1F84F
  980. #define A6XX_GMU_CX_GMU_POWER_COUNTER_GMUCLK_0_L 0x1F850
  981. #define A6XX_GMU_CX_GMU_POWER_COUNTER_GMUCLK_0_H 0x1F851
  982. #define A6XX_GMU_CX_GMU_POWER_COUNTER_GMUCLK_1_L 0x1F852
  983. #define A6XX_GMU_CX_GMU_POWER_COUNTER_GMUCLK_1_H 0x1F853
  984. #define A6XX_GMU_CX_GMU_POWER_COUNTER_SELECT_2 0x1F860
  985. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_6_L 0x1F870
  986. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_6_H 0x1F871
  987. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_7_L 0x1F872
  988. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_7_H 0x1F843
  989. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_8_L 0x1F874
  990. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_8_H 0x1F875
  991. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_9_L 0x1F876
  992. #define A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_9_H 0x1F877
  993. #define A6XX_GMU_CX_GMU_PERF_COUNTER_ENABLE 0x1F8A0
  994. #define A6XX_GMU_CX_GMU_PERF_COUNTER_SELECT_0 0x1F8A1
  995. #define A6XX_GMU_CX_GMU_PERF_COUNTER_SELECT_1 0x1F8A2
  996. #define A6XX_GMU_CX_GMU_PERF_COUNTER_0_L 0x1F8A4
  997. #define A6XX_GMU_CX_GMU_PERF_COUNTER_0_H 0x1F8A5
  998. #define A6XX_GMU_CX_GMU_PERF_COUNTER_1_L 0x1F8A6
  999. #define A6XX_GMU_CX_GMU_PERF_COUNTER_1_H 0x1F8A7
  1000. #define A6XX_GMU_CX_GMU_PERF_COUNTER_2_L 0x1F8A8
  1001. #define A6XX_GMU_CX_GMU_PERF_COUNTER_2_H 0x1F8A9
  1002. #define A6XX_GMU_CX_GMU_PERF_COUNTER_3_L 0x1F8AA
  1003. #define A6XX_GMU_CX_GMU_PERF_COUNTER_3_H 0x1F8AB
  1004. #define A6XX_GMU_CX_GMU_PERF_COUNTER_4_L 0x1F8AC
  1005. #define A6XX_GMU_CX_GMU_PERF_COUNTER_4_H 0x1F8AD
  1006. #define A6XX_GMU_CX_GMU_PERF_COUNTER_5_L 0x1F8AE
  1007. #define A6XX_GMU_CX_GMU_PERF_COUNTER_5_H 0x1F8AF
  1008. #define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL 0x1F8C0
  1009. #define A6XX_GMU_PWR_COL_INTER_FRAME_HYST 0x1F8C1
  1010. #define A6XX_GMU_PWR_COL_SPTPRAC_HYST 0x1F8C2
  1011. #define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS 0x1F8D0
  1012. #define A6XX_GMU_GPU_NAP_CTRL 0x1F8E4
  1013. #define A6XX_GMU_RPMH_CTRL 0x1F8E8
  1014. #define A6XX_GMU_RPMH_HYST_CTRL 0x1F8E9
  1015. #define A6XX_GPU_GMU_CX_GMU_RPMH_POWER_STATE 0x1F8EC
  1016. #define A6XX_GPU_GMU_CX_GMU_PWR_COL_CP_MSG 0x1F900
  1017. #define A6XX_GPU_GMU_CX_GMU_PWR_COL_CP_RESP 0x1F901
  1018. #define A6XX_GMU_BOOT_KMD_LM_HANDSHAKE 0x1F9F0
  1019. #define A6XX_GMU_LLM_GLM_SLEEP_CTRL 0x1F957
  1020. #define A6XX_GMU_LLM_GLM_SLEEP_STATUS 0x1F958
  1021. /* HFI registers*/
  1022. #define A6XX_GMU_ALWAYS_ON_COUNTER_L 0x1F888
  1023. #define A6XX_GMU_ALWAYS_ON_COUNTER_H 0x1F889
  1024. #define A6XX_GMU_GMU_PWR_COL_KEEPALIVE 0x1F8C3
  1025. #define A6XX_GMU_PWR_COL_PREEMPT_KEEPALIVE 0x1F8C4
  1026. #define A6XX_GMU_HFI_CTRL_STATUS 0x1F980
  1027. #define A6XX_GMU_HFI_VERSION_INFO 0x1F981
  1028. #define A6XX_GMU_HFI_SFR_ADDR 0x1F982
  1029. #define A6XX_GMU_HFI_MMAP_ADDR 0x1F983
  1030. #define A6XX_GMU_HFI_QTBL_INFO 0x1F984
  1031. #define A6XX_GMU_HFI_QTBL_ADDR 0x1F985
  1032. #define A6XX_GMU_HFI_CTRL_INIT 0x1F986
  1033. #define A6XX_GMU_GMU2HOST_INTR_SET 0x1F990
  1034. #define A6XX_GMU_GMU2HOST_INTR_CLR 0x1F991
  1035. #define A6XX_GMU_GMU2HOST_INTR_INFO 0x1F992
  1036. #define A6XX_GMU_GMU2HOST_INTR_MASK 0x1F993
  1037. #define A6XX_GMU_HOST2GMU_INTR_SET 0x1F994
  1038. #define A6XX_GMU_HOST2GMU_INTR_CLR 0x1F995
  1039. #define A6XX_GMU_HOST2GMU_INTR_RAW_INFO 0x1F996
  1040. #define A6XX_GMU_HOST2GMU_INTR_EN_0 0x1F997
  1041. #define A6XX_GMU_HOST2GMU_INTR_EN_1 0x1F998
  1042. #define A6XX_GMU_HOST2GMU_INTR_EN_2 0x1F999
  1043. #define A6XX_GMU_HOST2GMU_INTR_EN_3 0x1F99A
  1044. #define A6XX_GMU_HOST2GMU_INTR_INFO_0 0x1F99B
  1045. #define A6XX_GMU_HOST2GMU_INTR_INFO_1 0x1F99C
  1046. #define A6XX_GMU_HOST2GMU_INTR_INFO_2 0x1F99D
  1047. #define A6XX_GMU_HOST2GMU_INTR_INFO_3 0x1F99E
  1048. #define A6XX_GMU_GENERAL_0 0x1F9C5
  1049. #define A6XX_GMU_GENERAL_1 0x1F9C6
  1050. #define A6XX_GMU_GENERAL_6 0x1F9CB
  1051. #define A6XX_GMU_GENERAL_7 0x1F9CC
  1052. #define A6XX_GMU_GENERAL_11 0x1F9D0
  1053. /* ISENSE registers */
  1054. #define A6XX_GMU_ISENSE_CTRL 0x1F95D
  1055. #define A6XX_GPU_GMU_CX_GMU_ISENSE_CTRL 0x1f95d
  1056. #define A6XX_GPU_CS_ENABLE_REG 0x23120
  1057. /* LM registers */
  1058. #define A6XX_GPU_GMU_CX_GMU_PWR_THRESHOLD 0x1F94D
  1059. /* FAL10 veto register */
  1060. #define A6XX_GPU_GMU_CX_GMU_CX_FAL_INTF 0x1F8F0
  1061. #define A6XX_GPU_GMU_CX_GMU_CX_FALNEXT_INTF 0x1F8F1
  1062. #define A6XX_GMU_AO_INTERRUPT_EN 0x23B03
  1063. #define A6XX_GMU_AO_HOST_INTERRUPT_CLR 0x23B04
  1064. #define A6XX_GMU_AO_HOST_INTERRUPT_STATUS 0x23B05
  1065. #define A6XX_GMU_AO_HOST_INTERRUPT_MASK 0x23B06
  1066. #define A6XX_GPU_GMU_AO_GMU_CGC_MODE_CNTL 0x23B09
  1067. #define A6XX_GPU_GMU_AO_GMU_CGC_DELAY_CNTL 0x23B0A
  1068. #define A6XX_GPU_GMU_AO_GMU_CGC_HYST_CNTL 0x23B0B
  1069. #define A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS 0x23B0C
  1070. #define A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS2 0x23B0D
  1071. #define A6XX_GPU_GMU_AO_GPU_CX_BUSY_MASK 0x23B0E
  1072. #define A6XX_GMU_AO_AHB_FENCE_CTRL 0x23B10
  1073. #define A6XX_GMU_AHB_FENCE_STATUS 0x23B13
  1074. #define A6XX_GMU_AHB_FENCE_STATUS_CLR 0x23B14
  1075. #define A6XX_GMU_RBBM_INT_UNMASKED_STATUS 0x23B15
  1076. #define A6XX_GMU_AO_SPARE_CNTL 0x23B16
  1077. /* RGMU GLM registers */
  1078. #define A6XX_GMU_AO_RGMU_GLM_SLEEP_CTRL 0x23B80
  1079. #define A6XX_GMU_AO_RGMU_GLM_SLEEP_STATUS 0x23B81
  1080. #define A6XX_GMU_AO_RGMU_GLM_HW_CRC_DISABLE 0x23B82
  1081. /* GMU RSC control registers */
  1082. #define A6XX_GMU_RSCC_CONTROL_REQ 0x23B07
  1083. #define A6XX_GMU_RSCC_CONTROL_ACK 0x23B08
  1084. /* FENCE control registers */
  1085. #define A6XX_GMU_AHB_FENCE_RANGE_0 0x23B11
  1086. #define A6XX_GMU_AHB_FENCE_RANGE_1 0x23B12
  1087. /* GMU countables */
  1088. #define A6XX_GMU_CM3_BUSY_CYCLES 0
  1089. /* GPUCC registers */
  1090. #define A6XX_GPU_CC_GX_GDSCR 0x24403
  1091. #define A6XX_GPU_CC_GX_DOMAIN_MISC 0x24542
  1092. #define A6XX_GPU_CC_GX_DOMAIN_MISC3 0x24563
  1093. #define A6XX_GPU_CC_CX_CFG_GDSCR 0x2441C
  1094. /* GPUCC offsets are different for A662 */
  1095. #define A662_GPU_CC_GX_GDSCR 0x26417
  1096. #define A662_GPU_CC_GX_DOMAIN_MISC3 0x26541
  1097. #define A662_GPU_CC_CX_CFG_GDSCR 0x26443
  1098. /* GPU CPR registers */
  1099. #define A6XX_GPU_CPR_FSM_CTL 0x26801
  1100. /* GPU RSC sequencer registers */
  1101. #define A6XX_GPU_RSCC_RSC_STATUS0_DRV0 0x00004
  1102. #define A6XX_RSCC_PDC_SEQ_START_ADDR 0x00008
  1103. #define A6XX_RSCC_PDC_MATCH_VALUE_LO 0x00009
  1104. #define A6XX_RSCC_PDC_MATCH_VALUE_HI 0x0000A
  1105. #define A6XX_RSCC_PDC_SLAVE_ID_DRV0 0x0000B
  1106. #define A6XX_RSCC_HIDDEN_TCS_CMD0_ADDR 0x0000D
  1107. #define A6XX_RSCC_HIDDEN_TCS_CMD0_DATA 0x0000E
  1108. #define A6XX_RSCC_TIMESTAMP_UNIT0_TIMESTAMP_L_DRV0 0x00082
  1109. #define A6XX_RSCC_TIMESTAMP_UNIT0_TIMESTAMP_H_DRV0 0x00083
  1110. #define A6XX_RSCC_TIMESTAMP_UNIT1_EN_DRV0 0x00089
  1111. #define A6XX_RSCC_TIMESTAMP_UNIT1_OUTPUT_DRV0 0x0008C
  1112. #define A6XX_RSCC_OVERRIDE_START_ADDR 0x00100
  1113. #define A6XX_RSCC_SEQ_BUSY_DRV0 0x00101
  1114. #define A6XX_RSCC_SEQ_MEM_0_DRV0 0x00180
  1115. #define A6XX_RSCC_TCS0_DRV0_STATUS 0x00346
  1116. #define A6XX_RSCC_TCS1_DRV0_STATUS 0x003EE
  1117. #define A6XX_RSCC_TCS2_DRV0_STATUS 0x00496
  1118. #define A6XX_RSCC_TCS3_DRV0_STATUS 0x0053E
  1119. #define A6XX_RSCC_TCS4_DRV0_STATUS 0x005E6
  1120. #define A6XX_RSCC_TCS5_DRV0_STATUS 0x0068E
  1121. #define A6XX_RSCC_TCS6_DRV0_STATUS 0x00736
  1122. #define A6XX_RSCC_TCS7_DRV0_STATUS 0x007DE
  1123. #define A6XX_RSCC_TCS8_DRV0_STATUS 0x00886
  1124. #define A6XX_RSCC_TCS9_DRV0_STATUS 0x0092E
  1125. /* GPU PDC sequencer registers in AOSS.RPMh domain */
  1126. #define PDC_GPU_ENABLE_PDC 0x1140
  1127. #define PDC_GPU_SEQ_START_ADDR 0x1148
  1128. #define PDC_GPU_TCS0_CONTROL 0x1540
  1129. #define PDC_GPU_TCS0_CMD_ENABLE_BANK 0x1541
  1130. #define PDC_GPU_TCS0_CMD_WAIT_FOR_CMPL_BANK 0x1542
  1131. #define PDC_GPU_TCS0_CMD0_MSGID 0x1543
  1132. #define PDC_GPU_TCS0_CMD0_ADDR 0x1544
  1133. #define PDC_GPU_TCS0_CMD0_DATA 0x1545
  1134. #define PDC_GPU_TCS1_CONTROL 0x1572
  1135. #define PDC_GPU_TCS1_CMD_ENABLE_BANK 0x1573
  1136. #define PDC_GPU_TCS1_CMD_WAIT_FOR_CMPL_BANK 0x1574
  1137. #define PDC_GPU_TCS1_CMD0_MSGID 0x1575
  1138. #define PDC_GPU_TCS1_CMD0_ADDR 0x1576
  1139. #define PDC_GPU_TCS1_CMD0_DATA 0x1577
  1140. #define PDC_GPU_TCS2_CONTROL 0x15A4
  1141. #define PDC_GPU_TCS2_CMD_ENABLE_BANK 0x15A5
  1142. #define PDC_GPU_TCS2_CMD_WAIT_FOR_CMPL_BANK 0x15A6
  1143. #define PDC_GPU_TCS2_CMD0_MSGID 0x15A7
  1144. #define PDC_GPU_TCS2_CMD0_ADDR 0x15A8
  1145. #define PDC_GPU_TCS2_CMD0_DATA 0x15A9
  1146. #define PDC_GPU_TCS3_CONTROL 0x15D6
  1147. #define PDC_GPU_TCS3_CMD_ENABLE_BANK 0x15D7
  1148. #define PDC_GPU_TCS3_CMD_WAIT_FOR_CMPL_BANK 0x15D8
  1149. #define PDC_GPU_TCS3_CMD0_MSGID 0x15D9
  1150. #define PDC_GPU_TCS3_CMD0_ADDR 0x15DA
  1151. #define PDC_GPU_TCS3_CMD0_DATA 0x15DB
  1152. /*
  1153. * Legacy DTSI used an offset from the start of the PDC resource
  1154. * for PDC SEQ programming. We are now using PDC subsections so
  1155. * start the PDC SEQ offset at zero.
  1156. */
  1157. #define PDC_GPU_SEQ_MEM_0 0x0
  1158. /*
  1159. * Legacy RSCC register range was a part of the GMU register space
  1160. * now we are using a separate section for RSCC regsiters. Add the
  1161. * offset for backward compatibility.
  1162. */
  1163. #define RSCC_OFFSET_LEGACY 0x23400
  1164. /* RGMU(PCC) registers in A6X_GMU_CX_0_NON_CONTEXT_DEC domain */
  1165. #define A6XX_RGMU_CX_INTR_GEN_EN 0x1F80F
  1166. #define A6XX_RGMU_CX_RGMU_TIMER0 0x1F834
  1167. #define A6XX_RGMU_CX_RGMU_TIMER1 0x1F835
  1168. #define A6XX_RGMU_CX_PCC_CTRL 0x1F838
  1169. #define A6XX_RGMU_CX_PCC_INIT_RESULT 0x1F839
  1170. #define A6XX_RGMU_CX_PCC_BKPT_CFG 0x1F83A
  1171. #define A6XX_RGMU_CX_PCC_BKPT_ADDR 0x1F83B
  1172. #define A6XX_RGMU_CX_PCC_STATUS 0x1F83C
  1173. #define A6XX_RGMU_CX_PCC_DEBUG 0x1F83D
  1174. /* GPU CX_MISC registers */
  1175. #define A6XX_GPU_CX_MISC_SYSTEM_CACHE_CNTL_0 0x1
  1176. #define A6XX_GPU_CX_MISC_SYSTEM_CACHE_CNTL_1 0x2
  1177. #define A6XX_LLC_NUM_GPU_SCIDS 5
  1178. #define A6XX_GPU_LLC_SCID_NUM_BITS 5
  1179. #define A6XX_GPU_LLC_SCID_MASK \
  1180. ((1 << (A6XX_LLC_NUM_GPU_SCIDS * A6XX_GPU_LLC_SCID_NUM_BITS)) - 1)
  1181. #define A6XX_GPUHTW_LLC_SCID_SHIFT 25
  1182. #define A6XX_GPUHTW_LLC_SCID_MASK \
  1183. (((1 << A6XX_GPU_LLC_SCID_NUM_BITS) - 1) << A6XX_GPUHTW_LLC_SCID_SHIFT)
  1184. /* FUSA registers */
  1185. #define A6XX_GPU_FUSA_REG_BASE 0x3FC00
  1186. #define A6XX_GPU_FUSA_REG_ECC_CTRL 0x3FC00
  1187. #define A6XX_GPU_FUSA_REG_CSR_PRIY 0x3FC52
  1188. #define A6XX_GPU_FUSA_DISABLE_NUM_BITS 4
  1189. #define A6XX_GPU_FUSA_DISABLE_BITS 0x5
  1190. #define A6XX_GPU_FUSA_DISABLE_MASK \
  1191. ((1 << A6XX_GPU_FUSA_DISABLE_NUM_BITS) - 1)
  1192. #endif /* _A6XX_REG_H */