adreno_common.xml.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. #ifndef ADRENO_COMMON_XML
  2. #define ADRENO_COMMON_XML
  3. /* Autogenerated file, DO NOT EDIT manually!
  4. This file was generated by the rules-ng-ng headergen tool in this git repository:
  5. http://0x04.net/cgit/index.cgi/rules-ng-ng
  6. git clone git://0x04.net/rules-ng-ng
  7. The rules-ng-ng source files this header was generated from are:
  8. - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 327 bytes, from 2013-07-05 19:21:12)
  9. - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27)
  10. - /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml ( 30005 bytes, from 2013-07-19 21:30:48)
  11. - /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml ( 8983 bytes, from 2013-07-24 01:38:36)
  12. - /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml ( 9712 bytes, from 2013-05-26 15:22:37)
  13. - /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml ( 51415 bytes, from 2013-08-03 14:26:05)
  14. Copyright (C) 2013 by the following authors:
  15. - Rob Clark <robdclark@gmail.com> (robclark)
  16. Permission is hereby granted, free of charge, to any person obtaining
  17. a copy of this software and associated documentation files (the
  18. "Software"), to deal in the Software without restriction, including
  19. without limitation the rights to use, copy, modify, merge, publish,
  20. distribute, sublicense, and/or sell copies of the Software, and to
  21. permit persons to whom the Software is furnished to do so, subject to
  22. the following conditions:
  23. The above copyright notice and this permission notice (including the
  24. next paragraph) shall be included in all copies or substantial
  25. portions of the Software.
  26. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  27. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  28. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  29. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  30. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  31. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  32. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  33. */
  34. enum adreno_pa_su_sc_draw {
  35. PC_DRAW_POINTS = 0,
  36. PC_DRAW_LINES = 1,
  37. PC_DRAW_TRIANGLES = 2,
  38. };
  39. enum adreno_compare_func {
  40. FUNC_NEVER = 0,
  41. FUNC_LESS = 1,
  42. FUNC_EQUAL = 2,
  43. FUNC_LEQUAL = 3,
  44. FUNC_GREATER = 4,
  45. FUNC_NOTEQUAL = 5,
  46. FUNC_GEQUAL = 6,
  47. FUNC_ALWAYS = 7,
  48. };
  49. enum adreno_stencil_op {
  50. STENCIL_KEEP = 0,
  51. STENCIL_ZERO = 1,
  52. STENCIL_REPLACE = 2,
  53. STENCIL_INCR_CLAMP = 3,
  54. STENCIL_DECR_CLAMP = 4,
  55. STENCIL_INVERT = 5,
  56. STENCIL_INCR_WRAP = 6,
  57. STENCIL_DECR_WRAP = 7,
  58. };
  59. enum adreno_rb_blend_factor {
  60. FACTOR_ZERO = 0,
  61. FACTOR_ONE = 1,
  62. FACTOR_SRC_COLOR = 4,
  63. FACTOR_ONE_MINUS_SRC_COLOR = 5,
  64. FACTOR_SRC_ALPHA = 6,
  65. FACTOR_ONE_MINUS_SRC_ALPHA = 7,
  66. FACTOR_DST_COLOR = 8,
  67. FACTOR_ONE_MINUS_DST_COLOR = 9,
  68. FACTOR_DST_ALPHA = 10,
  69. FACTOR_ONE_MINUS_DST_ALPHA = 11,
  70. FACTOR_CONSTANT_COLOR = 12,
  71. FACTOR_ONE_MINUS_CONSTANT_COLOR = 13,
  72. FACTOR_CONSTANT_ALPHA = 14,
  73. FACTOR_ONE_MINUS_CONSTANT_ALPHA = 15,
  74. FACTOR_SRC_ALPHA_SATURATE = 16,
  75. };
  76. enum adreno_rb_blend_opcode {
  77. BLEND_DST_PLUS_SRC = 0,
  78. BLEND_SRC_MINUS_DST = 1,
  79. BLEND_MIN_DST_SRC = 2,
  80. BLEND_MAX_DST_SRC = 3,
  81. BLEND_DST_MINUS_SRC = 4,
  82. BLEND_DST_PLUS_SRC_BIAS = 5,
  83. };
  84. enum adreno_rb_surface_endian {
  85. ENDIAN_NONE = 0,
  86. ENDIAN_8IN16 = 1,
  87. ENDIAN_8IN32 = 2,
  88. ENDIAN_16IN32 = 3,
  89. ENDIAN_8IN64 = 4,
  90. ENDIAN_8IN128 = 5,
  91. };
  92. enum adreno_rb_dither_mode {
  93. DITHER_DISABLE = 0,
  94. DITHER_ALWAYS = 1,
  95. DITHER_IF_ALPHA_OFF = 2,
  96. };
  97. enum adreno_rb_depth_format {
  98. DEPTHX_16 = 0,
  99. DEPTHX_24_8 = 1,
  100. };
  101. enum adreno_mmu_clnt_beh {
  102. BEH_NEVR = 0,
  103. BEH_TRAN_RNG = 1,
  104. BEH_TRAN_FLT = 2,
  105. };
  106. #define REG_AXXX_MH_MMU_CONFIG 0x00000040
  107. #define AXXX_MH_MMU_CONFIG_MMU_ENABLE 0x00000001
  108. #define AXXX_MH_MMU_CONFIG_SPLIT_MODE_ENABLE 0x00000002
  109. #define AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK 0x00000030
  110. #define AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT 4
  111. static inline uint32_t AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  112. {
  113. return ((val) << AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK;
  114. }
  115. #define AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK 0x000000c0
  116. #define AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT 6
  117. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  118. {
  119. return ((val) << AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK;
  120. }
  121. #define AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK 0x00000300
  122. #define AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT 8
  123. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  124. {
  125. return ((val) << AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK;
  126. }
  127. #define AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK 0x00000c00
  128. #define AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT 10
  129. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  130. {
  131. return ((val) << AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK;
  132. }
  133. #define AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK 0x00003000
  134. #define AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT 12
  135. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  136. {
  137. return ((val) << AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK;
  138. }
  139. #define AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK 0x0000c000
  140. #define AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT 14
  141. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  142. {
  143. return ((val) << AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK;
  144. }
  145. #define AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK 0x00030000
  146. #define AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT 16
  147. static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  148. {
  149. return ((val) << AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK;
  150. }
  151. #define AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK 0x000c0000
  152. #define AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT 18
  153. static inline uint32_t AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  154. {
  155. return ((val) << AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK;
  156. }
  157. #define AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK 0x00300000
  158. #define AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT 20
  159. static inline uint32_t AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  160. {
  161. return ((val) << AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK;
  162. }
  163. #define AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK 0x00c00000
  164. #define AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT 22
  165. static inline uint32_t AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  166. {
  167. return ((val) << AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK;
  168. }
  169. #define AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK 0x03000000
  170. #define AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT 24
  171. static inline uint32_t AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
  172. {
  173. return ((val) << AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK;
  174. }
  175. #define REG_AXXX_MH_MMU_VA_RANGE 0x00000041
  176. #define REG_AXXX_MH_MMU_PT_BASE 0x00000042
  177. #define REG_AXXX_MH_MMU_PAGE_FAULT 0x00000043
  178. #define REG_AXXX_MH_MMU_TRAN_ERROR 0x00000044
  179. #define REG_AXXX_MH_MMU_INVALIDATE 0x00000045
  180. #define REG_AXXX_MH_MMU_MPU_BASE 0x00000046
  181. #define REG_AXXX_MH_MMU_MPU_END 0x00000047
  182. #define REG_AXXX_CP_RB_BASE 0x000001c0
  183. #define REG_AXXX_CP_RB_CNTL 0x000001c1
  184. #define AXXX_CP_RB_CNTL_BUFSZ__MASK 0x0000003f
  185. #define AXXX_CP_RB_CNTL_BUFSZ__SHIFT 0
  186. static inline uint32_t AXXX_CP_RB_CNTL_BUFSZ(uint32_t val)
  187. {
  188. return ((val) << AXXX_CP_RB_CNTL_BUFSZ__SHIFT) & AXXX_CP_RB_CNTL_BUFSZ__MASK;
  189. }
  190. #define AXXX_CP_RB_CNTL_BLKSZ__MASK 0x00003f00
  191. #define AXXX_CP_RB_CNTL_BLKSZ__SHIFT 8
  192. static inline uint32_t AXXX_CP_RB_CNTL_BLKSZ(uint32_t val)
  193. {
  194. return ((val) << AXXX_CP_RB_CNTL_BLKSZ__SHIFT) & AXXX_CP_RB_CNTL_BLKSZ__MASK;
  195. }
  196. #define AXXX_CP_RB_CNTL_BUF_SWAP__MASK 0x00030000
  197. #define AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT 16
  198. static inline uint32_t AXXX_CP_RB_CNTL_BUF_SWAP(uint32_t val)
  199. {
  200. return ((val) << AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT) & AXXX_CP_RB_CNTL_BUF_SWAP__MASK;
  201. }
  202. #define AXXX_CP_RB_CNTL_POLL_EN 0x00100000
  203. #define AXXX_CP_RB_CNTL_NO_UPDATE 0x08000000
  204. #define AXXX_CP_RB_CNTL_RPTR_WR_EN 0x80000000
  205. #define REG_AXXX_CP_RB_RPTR_ADDR 0x000001c3
  206. #define AXXX_CP_RB_RPTR_ADDR_SWAP__MASK 0x00000003
  207. #define AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT 0
  208. static inline uint32_t AXXX_CP_RB_RPTR_ADDR_SWAP(uint32_t val)
  209. {
  210. return ((val) << AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT) & AXXX_CP_RB_RPTR_ADDR_SWAP__MASK;
  211. }
  212. #define AXXX_CP_RB_RPTR_ADDR_ADDR__MASK 0xfffffffc
  213. #define AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT 2
  214. static inline uint32_t AXXX_CP_RB_RPTR_ADDR_ADDR(uint32_t val)
  215. {
  216. return ((val >> 2) << AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT) & AXXX_CP_RB_RPTR_ADDR_ADDR__MASK;
  217. }
  218. #define REG_AXXX_CP_RB_RPTR 0x000001c4
  219. #define REG_AXXX_CP_RB_WPTR 0x000001c5
  220. #define REG_AXXX_CP_RB_WPTR_DELAY 0x000001c6
  221. #define REG_AXXX_CP_RB_RPTR_WR 0x000001c7
  222. #define REG_AXXX_CP_RB_WPTR_BASE 0x000001c8
  223. #define REG_AXXX_CP_QUEUE_THRESHOLDS 0x000001d5
  224. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK 0x0000000f
  225. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT 0
  226. static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START(uint32_t val)
  227. {
  228. return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK;
  229. }
  230. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK 0x00000f00
  231. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT 8
  232. static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START(uint32_t val)
  233. {
  234. return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK;
  235. }
  236. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK 0x000f0000
  237. #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT 16
  238. static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START(uint32_t val)
  239. {
  240. return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK;
  241. }
  242. #define REG_AXXX_CP_MEQ_THRESHOLDS 0x000001d6
  243. #define REG_AXXX_CP_CSQ_AVAIL 0x000001d7
  244. #define AXXX_CP_CSQ_AVAIL_RING__MASK 0x0000007f
  245. #define AXXX_CP_CSQ_AVAIL_RING__SHIFT 0
  246. static inline uint32_t AXXX_CP_CSQ_AVAIL_RING(uint32_t val)
  247. {
  248. return ((val) << AXXX_CP_CSQ_AVAIL_RING__SHIFT) & AXXX_CP_CSQ_AVAIL_RING__MASK;
  249. }
  250. #define AXXX_CP_CSQ_AVAIL_IB1__MASK 0x00007f00
  251. #define AXXX_CP_CSQ_AVAIL_IB1__SHIFT 8
  252. static inline uint32_t AXXX_CP_CSQ_AVAIL_IB1(uint32_t val)
  253. {
  254. return ((val) << AXXX_CP_CSQ_AVAIL_IB1__SHIFT) & AXXX_CP_CSQ_AVAIL_IB1__MASK;
  255. }
  256. #define AXXX_CP_CSQ_AVAIL_IB2__MASK 0x007f0000
  257. #define AXXX_CP_CSQ_AVAIL_IB2__SHIFT 16
  258. static inline uint32_t AXXX_CP_CSQ_AVAIL_IB2(uint32_t val)
  259. {
  260. return ((val) << AXXX_CP_CSQ_AVAIL_IB2__SHIFT) & AXXX_CP_CSQ_AVAIL_IB2__MASK;
  261. }
  262. #define REG_AXXX_CP_STQ_AVAIL 0x000001d8
  263. #define AXXX_CP_STQ_AVAIL_ST__MASK 0x0000007f
  264. #define AXXX_CP_STQ_AVAIL_ST__SHIFT 0
  265. static inline uint32_t AXXX_CP_STQ_AVAIL_ST(uint32_t val)
  266. {
  267. return ((val) << AXXX_CP_STQ_AVAIL_ST__SHIFT) & AXXX_CP_STQ_AVAIL_ST__MASK;
  268. }
  269. #define REG_AXXX_CP_MEQ_AVAIL 0x000001d9
  270. #define AXXX_CP_MEQ_AVAIL_MEQ__MASK 0x0000001f
  271. #define AXXX_CP_MEQ_AVAIL_MEQ__SHIFT 0
  272. static inline uint32_t AXXX_CP_MEQ_AVAIL_MEQ(uint32_t val)
  273. {
  274. return ((val) << AXXX_CP_MEQ_AVAIL_MEQ__SHIFT) & AXXX_CP_MEQ_AVAIL_MEQ__MASK;
  275. }
  276. #define REG_AXXX_SCRATCH_UMSK 0x000001dc
  277. #define AXXX_SCRATCH_UMSK_UMSK__MASK 0x000000ff
  278. #define AXXX_SCRATCH_UMSK_UMSK__SHIFT 0
  279. static inline uint32_t AXXX_SCRATCH_UMSK_UMSK(uint32_t val)
  280. {
  281. return ((val) << AXXX_SCRATCH_UMSK_UMSK__SHIFT) & AXXX_SCRATCH_UMSK_UMSK__MASK;
  282. }
  283. #define AXXX_SCRATCH_UMSK_SWAP__MASK 0x00030000
  284. #define AXXX_SCRATCH_UMSK_SWAP__SHIFT 16
  285. static inline uint32_t AXXX_SCRATCH_UMSK_SWAP(uint32_t val)
  286. {
  287. return ((val) << AXXX_SCRATCH_UMSK_SWAP__SHIFT) & AXXX_SCRATCH_UMSK_SWAP__MASK;
  288. }
  289. #define REG_AXXX_SCRATCH_ADDR 0x000001dd
  290. #define REG_AXXX_CP_ME_RDADDR 0x000001ea
  291. #define REG_AXXX_CP_STATE_DEBUG_INDEX 0x000001ec
  292. #define REG_AXXX_CP_STATE_DEBUG_DATA 0x000001ed
  293. #define REG_AXXX_CP_INT_CNTL 0x000001f2
  294. #define REG_AXXX_CP_INT_STATUS 0x000001f3
  295. #define REG_AXXX_CP_INT_ACK 0x000001f4
  296. #define REG_AXXX_CP_ME_CNTL 0x000001f6
  297. #define REG_AXXX_CP_ME_STATUS 0x000001f7
  298. #define REG_AXXX_CP_ME_RAM_WADDR 0x000001f8
  299. #define REG_AXXX_CP_ME_RAM_RADDR 0x000001f9
  300. #define REG_AXXX_CP_ME_RAM_DATA 0x000001fa
  301. #define REG_AXXX_CP_DEBUG 0x000001fc
  302. #define AXXX_CP_DEBUG_PREDICATE_DISABLE 0x00800000
  303. #define AXXX_CP_DEBUG_PROG_END_PTR_ENABLE 0x01000000
  304. #define AXXX_CP_DEBUG_MIU_128BIT_WRITE_ENABLE 0x02000000
  305. #define AXXX_CP_DEBUG_PREFETCH_PASS_NOPS 0x04000000
  306. #define AXXX_CP_DEBUG_DYNAMIC_CLK_DISABLE 0x08000000
  307. #define AXXX_CP_DEBUG_PREFETCH_MATCH_DISABLE 0x10000000
  308. #define AXXX_CP_DEBUG_SIMPLE_ME_FLOW_CONTROL 0x40000000
  309. #define AXXX_CP_DEBUG_MIU_WRITE_PACK_DISABLE 0x80000000
  310. #define REG_AXXX_CP_CSQ_RB_STAT 0x000001fd
  311. #define AXXX_CP_CSQ_RB_STAT_RPTR__MASK 0x0000007f
  312. #define AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT 0
  313. static inline uint32_t AXXX_CP_CSQ_RB_STAT_RPTR(uint32_t val)
  314. {
  315. return ((val) << AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_RPTR__MASK;
  316. }
  317. #define AXXX_CP_CSQ_RB_STAT_WPTR__MASK 0x007f0000
  318. #define AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT 16
  319. static inline uint32_t AXXX_CP_CSQ_RB_STAT_WPTR(uint32_t val)
  320. {
  321. return ((val) << AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_WPTR__MASK;
  322. }
  323. #define REG_AXXX_CP_CSQ_IB1_STAT 0x000001fe
  324. #define AXXX_CP_CSQ_IB1_STAT_RPTR__MASK 0x0000007f
  325. #define AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT 0
  326. static inline uint32_t AXXX_CP_CSQ_IB1_STAT_RPTR(uint32_t val)
  327. {
  328. return ((val) << AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_RPTR__MASK;
  329. }
  330. #define AXXX_CP_CSQ_IB1_STAT_WPTR__MASK 0x007f0000
  331. #define AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT 16
  332. static inline uint32_t AXXX_CP_CSQ_IB1_STAT_WPTR(uint32_t val)
  333. {
  334. return ((val) << AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_WPTR__MASK;
  335. }
  336. #define REG_AXXX_CP_CSQ_IB2_STAT 0x000001ff
  337. #define AXXX_CP_CSQ_IB2_STAT_RPTR__MASK 0x0000007f
  338. #define AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT 0
  339. static inline uint32_t AXXX_CP_CSQ_IB2_STAT_RPTR(uint32_t val)
  340. {
  341. return ((val) << AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_RPTR__MASK;
  342. }
  343. #define AXXX_CP_CSQ_IB2_STAT_WPTR__MASK 0x007f0000
  344. #define AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT 16
  345. static inline uint32_t AXXX_CP_CSQ_IB2_STAT_WPTR(uint32_t val)
  346. {
  347. return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK;
  348. }
  349. #define REG_AXXX_CP_SCRATCH_REG0 0x00000578
  350. #define REG_AXXX_CP_SCRATCH_REG1 0x00000579
  351. #define REG_AXXX_CP_SCRATCH_REG2 0x0000057a
  352. #define REG_AXXX_CP_SCRATCH_REG3 0x0000057b
  353. #define REG_AXXX_CP_SCRATCH_REG4 0x0000057c
  354. #define REG_AXXX_CP_SCRATCH_REG5 0x0000057d
  355. #define REG_AXXX_CP_SCRATCH_REG6 0x0000057e
  356. #define REG_AXXX_CP_SCRATCH_REG7 0x0000057f
  357. #define REG_AXXX_CP_ME_CF_EVENT_SRC 0x0000060a
  358. #define REG_AXXX_CP_ME_CF_EVENT_ADDR 0x0000060b
  359. #define REG_AXXX_CP_ME_CF_EVENT_DATA 0x0000060c
  360. #define REG_AXXX_CP_ME_NRT_ADDR 0x0000060d
  361. #define REG_AXXX_CP_ME_NRT_DATA 0x0000060e
  362. #endif /* ADRENO_COMMON_XML */