1b8e80941Smrg#ifndef ADRENO_COMMON_XML 2b8e80941Smrg#define ADRENO_COMMON_XML 3b8e80941Smrg 4b8e80941Smrg/* Autogenerated file, DO NOT EDIT manually! 5b8e80941Smrg 6b8e80941SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository: 7b8e80941Smrghttp://github.com/freedreno/envytools/ 8b8e80941Smrggit clone https://github.com/freedreno/envytools.git 9b8e80941Smrg 10b8e80941SmrgThe rules-ng-ng source files this header was generated from are: 11b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno.xml ( 501 bytes, from 2018-07-03 19:37:13) 12b8e80941Smrg- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2018-07-03 19:37:13) 13b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml ( 79608 bytes, from 2019-01-21 14:36:17) 14b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml ( 14239 bytes, from 2018-12-05 15:25:53) 15b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml ( 43155 bytes, from 2019-05-03 18:24:29) 16b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2018-07-03 19:37:13) 17b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml ( 112086 bytes, from 2018-07-03 19:37:13) 18b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml ( 147240 bytes, from 2019-05-03 18:24:29) 19b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml ( 148461 bytes, from 2019-05-03 18:24:37) 20b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml ( 10431 bytes, from 2018-09-14 13:03:07) 21b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2018-07-03 19:37:13) 22b8e80941Smrg 23b8e80941SmrgCopyright (C) 2013-2018 by the following authors: 24b8e80941Smrg- Rob Clark <robdclark@gmail.com> (robclark) 25b8e80941Smrg- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 26b8e80941Smrg 27b8e80941SmrgPermission is hereby granted, free of charge, to any person obtaining 28b8e80941Smrga copy of this software and associated documentation files (the 29b8e80941Smrg"Software"), to deal in the Software without restriction, including 30b8e80941Smrgwithout limitation the rights to use, copy, modify, merge, publish, 31b8e80941Smrgdistribute, sublicense, and/or sell copies of the Software, and to 32b8e80941Smrgpermit persons to whom the Software is furnished to do so, subject to 33b8e80941Smrgthe following conditions: 34b8e80941Smrg 35b8e80941SmrgThe above copyright notice and this permission notice (including the 36b8e80941Smrgnext paragraph) shall be included in all copies or substantial 37b8e80941Smrgportions of the Software. 38b8e80941Smrg 39b8e80941SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 40b8e80941SmrgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 41b8e80941SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 42b8e80941SmrgIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 43b8e80941SmrgLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 44b8e80941SmrgOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 45b8e80941SmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 46b8e80941Smrg*/ 47b8e80941Smrg 48b8e80941Smrg 49b8e80941Smrgenum chip { 50b8e80941Smrg A2XX = 0, 51b8e80941Smrg A3XX = 0, 52b8e80941Smrg A4XX = 0, 53b8e80941Smrg A5XX = 0, 54b8e80941Smrg A6XX = 0, 55b8e80941Smrg}; 56b8e80941Smrg 57b8e80941Smrgenum adreno_pa_su_sc_draw { 58b8e80941Smrg PC_DRAW_POINTS = 0, 59b8e80941Smrg PC_DRAW_LINES = 1, 60b8e80941Smrg PC_DRAW_TRIANGLES = 2, 61b8e80941Smrg}; 62b8e80941Smrg 63b8e80941Smrgenum adreno_compare_func { 64b8e80941Smrg FUNC_NEVER = 0, 65b8e80941Smrg FUNC_LESS = 1, 66b8e80941Smrg FUNC_EQUAL = 2, 67b8e80941Smrg FUNC_LEQUAL = 3, 68b8e80941Smrg FUNC_GREATER = 4, 69b8e80941Smrg FUNC_NOTEQUAL = 5, 70b8e80941Smrg FUNC_GEQUAL = 6, 71b8e80941Smrg FUNC_ALWAYS = 7, 72b8e80941Smrg}; 73b8e80941Smrg 74b8e80941Smrgenum adreno_stencil_op { 75b8e80941Smrg STENCIL_KEEP = 0, 76b8e80941Smrg STENCIL_ZERO = 1, 77b8e80941Smrg STENCIL_REPLACE = 2, 78b8e80941Smrg STENCIL_INCR_CLAMP = 3, 79b8e80941Smrg STENCIL_DECR_CLAMP = 4, 80b8e80941Smrg STENCIL_INVERT = 5, 81b8e80941Smrg STENCIL_INCR_WRAP = 6, 82b8e80941Smrg STENCIL_DECR_WRAP = 7, 83b8e80941Smrg}; 84b8e80941Smrg 85b8e80941Smrgenum adreno_rb_blend_factor { 86b8e80941Smrg FACTOR_ZERO = 0, 87b8e80941Smrg FACTOR_ONE = 1, 88b8e80941Smrg FACTOR_SRC_COLOR = 4, 89b8e80941Smrg FACTOR_ONE_MINUS_SRC_COLOR = 5, 90b8e80941Smrg FACTOR_SRC_ALPHA = 6, 91b8e80941Smrg FACTOR_ONE_MINUS_SRC_ALPHA = 7, 92b8e80941Smrg FACTOR_DST_COLOR = 8, 93b8e80941Smrg FACTOR_ONE_MINUS_DST_COLOR = 9, 94b8e80941Smrg FACTOR_DST_ALPHA = 10, 95b8e80941Smrg FACTOR_ONE_MINUS_DST_ALPHA = 11, 96b8e80941Smrg FACTOR_CONSTANT_COLOR = 12, 97b8e80941Smrg FACTOR_ONE_MINUS_CONSTANT_COLOR = 13, 98b8e80941Smrg FACTOR_CONSTANT_ALPHA = 14, 99b8e80941Smrg FACTOR_ONE_MINUS_CONSTANT_ALPHA = 15, 100b8e80941Smrg FACTOR_SRC_ALPHA_SATURATE = 16, 101b8e80941Smrg FACTOR_SRC1_COLOR = 20, 102b8e80941Smrg FACTOR_ONE_MINUS_SRC1_COLOR = 21, 103b8e80941Smrg FACTOR_SRC1_ALPHA = 22, 104b8e80941Smrg FACTOR_ONE_MINUS_SRC1_ALPHA = 23, 105b8e80941Smrg}; 106b8e80941Smrg 107b8e80941Smrgenum adreno_rb_surface_endian { 108b8e80941Smrg ENDIAN_NONE = 0, 109b8e80941Smrg ENDIAN_8IN16 = 1, 110b8e80941Smrg ENDIAN_8IN32 = 2, 111b8e80941Smrg ENDIAN_16IN32 = 3, 112b8e80941Smrg ENDIAN_8IN64 = 4, 113b8e80941Smrg ENDIAN_8IN128 = 5, 114b8e80941Smrg}; 115b8e80941Smrg 116b8e80941Smrgenum adreno_rb_dither_mode { 117b8e80941Smrg DITHER_DISABLE = 0, 118b8e80941Smrg DITHER_ALWAYS = 1, 119b8e80941Smrg DITHER_IF_ALPHA_OFF = 2, 120b8e80941Smrg}; 121b8e80941Smrg 122b8e80941Smrgenum adreno_rb_depth_format { 123b8e80941Smrg DEPTHX_16 = 0, 124b8e80941Smrg DEPTHX_24_8 = 1, 125b8e80941Smrg DEPTHX_32 = 2, 126b8e80941Smrg}; 127b8e80941Smrg 128b8e80941Smrgenum adreno_rb_copy_control_mode { 129b8e80941Smrg RB_COPY_RESOLVE = 1, 130b8e80941Smrg RB_COPY_CLEAR = 2, 131b8e80941Smrg RB_COPY_DEPTH_STENCIL = 5, 132b8e80941Smrg}; 133b8e80941Smrg 134b8e80941Smrgenum a3xx_rop_code { 135b8e80941Smrg ROP_CLEAR = 0, 136b8e80941Smrg ROP_NOR = 1, 137b8e80941Smrg ROP_AND_INVERTED = 2, 138b8e80941Smrg ROP_COPY_INVERTED = 3, 139b8e80941Smrg ROP_AND_REVERSE = 4, 140b8e80941Smrg ROP_INVERT = 5, 141b8e80941Smrg ROP_XOR = 6, 142b8e80941Smrg ROP_NAND = 7, 143b8e80941Smrg ROP_AND = 8, 144b8e80941Smrg ROP_EQUIV = 9, 145b8e80941Smrg ROP_NOOP = 10, 146b8e80941Smrg ROP_OR_INVERTED = 11, 147b8e80941Smrg ROP_COPY = 12, 148b8e80941Smrg ROP_OR_REVERSE = 13, 149b8e80941Smrg ROP_OR = 14, 150b8e80941Smrg ROP_SET = 15, 151b8e80941Smrg}; 152b8e80941Smrg 153b8e80941Smrgenum a3xx_render_mode { 154b8e80941Smrg RB_RENDERING_PASS = 0, 155b8e80941Smrg RB_TILING_PASS = 1, 156b8e80941Smrg RB_RESOLVE_PASS = 2, 157b8e80941Smrg RB_COMPUTE_PASS = 3, 158b8e80941Smrg}; 159b8e80941Smrg 160b8e80941Smrgenum a3xx_msaa_samples { 161b8e80941Smrg MSAA_ONE = 0, 162b8e80941Smrg MSAA_TWO = 1, 163b8e80941Smrg MSAA_FOUR = 2, 164b8e80941Smrg MSAA_EIGHT = 3, 165b8e80941Smrg}; 166b8e80941Smrg 167b8e80941Smrgenum a3xx_threadmode { 168b8e80941Smrg MULTI = 0, 169b8e80941Smrg SINGLE = 1, 170b8e80941Smrg}; 171b8e80941Smrg 172b8e80941Smrgenum a3xx_instrbuffermode { 173b8e80941Smrg CACHE = 0, 174b8e80941Smrg BUFFER = 1, 175b8e80941Smrg}; 176b8e80941Smrg 177b8e80941Smrgenum a3xx_threadsize { 178b8e80941Smrg TWO_QUADS = 0, 179b8e80941Smrg FOUR_QUADS = 1, 180b8e80941Smrg}; 181b8e80941Smrg 182b8e80941Smrgenum a3xx_color_swap { 183b8e80941Smrg WZYX = 0, 184b8e80941Smrg WXYZ = 1, 185b8e80941Smrg ZYXW = 2, 186b8e80941Smrg XYZW = 3, 187b8e80941Smrg}; 188b8e80941Smrg 189b8e80941Smrgenum a3xx_rb_blend_opcode { 190b8e80941Smrg BLEND_DST_PLUS_SRC = 0, 191b8e80941Smrg BLEND_SRC_MINUS_DST = 1, 192b8e80941Smrg BLEND_DST_MINUS_SRC = 2, 193b8e80941Smrg BLEND_MIN_DST_SRC = 3, 194b8e80941Smrg BLEND_MAX_DST_SRC = 4, 195b8e80941Smrg}; 196b8e80941Smrg 197b8e80941Smrgenum a4xx_tess_spacing { 198b8e80941Smrg EQUAL_SPACING = 0, 199b8e80941Smrg ODD_SPACING = 2, 200b8e80941Smrg EVEN_SPACING = 3, 201b8e80941Smrg}; 202b8e80941Smrg 203b8e80941Smrg#define REG_AXXX_CP_RB_BASE 0x000001c0 204b8e80941Smrg 205b8e80941Smrg#define REG_AXXX_CP_RB_CNTL 0x000001c1 206b8e80941Smrg#define AXXX_CP_RB_CNTL_BUFSZ__MASK 0x0000003f 207b8e80941Smrg#define AXXX_CP_RB_CNTL_BUFSZ__SHIFT 0 208b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BUFSZ(uint32_t val) 209b8e80941Smrg{ 210b8e80941Smrg return ((val) << AXXX_CP_RB_CNTL_BUFSZ__SHIFT) & AXXX_CP_RB_CNTL_BUFSZ__MASK; 211b8e80941Smrg} 212b8e80941Smrg#define AXXX_CP_RB_CNTL_BLKSZ__MASK 0x00003f00 213b8e80941Smrg#define AXXX_CP_RB_CNTL_BLKSZ__SHIFT 8 214b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BLKSZ(uint32_t val) 215b8e80941Smrg{ 216b8e80941Smrg return ((val) << AXXX_CP_RB_CNTL_BLKSZ__SHIFT) & AXXX_CP_RB_CNTL_BLKSZ__MASK; 217b8e80941Smrg} 218b8e80941Smrg#define AXXX_CP_RB_CNTL_BUF_SWAP__MASK 0x00030000 219b8e80941Smrg#define AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT 16 220b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_CNTL_BUF_SWAP(uint32_t val) 221b8e80941Smrg{ 222b8e80941Smrg return ((val) << AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT) & AXXX_CP_RB_CNTL_BUF_SWAP__MASK; 223b8e80941Smrg} 224b8e80941Smrg#define AXXX_CP_RB_CNTL_POLL_EN 0x00100000 225b8e80941Smrg#define AXXX_CP_RB_CNTL_NO_UPDATE 0x08000000 226b8e80941Smrg#define AXXX_CP_RB_CNTL_RPTR_WR_EN 0x80000000 227b8e80941Smrg 228b8e80941Smrg#define REG_AXXX_CP_RB_RPTR_ADDR 0x000001c3 229b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_SWAP__MASK 0x00000003 230b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT 0 231b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_RPTR_ADDR_SWAP(uint32_t val) 232b8e80941Smrg{ 233b8e80941Smrg return ((val) << AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT) & AXXX_CP_RB_RPTR_ADDR_SWAP__MASK; 234b8e80941Smrg} 235b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_ADDR__MASK 0xfffffffc 236b8e80941Smrg#define AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT 2 237b8e80941Smrgstatic inline uint32_t AXXX_CP_RB_RPTR_ADDR_ADDR(uint32_t val) 238b8e80941Smrg{ 239b8e80941Smrg assert(!(val & 0x3)); 240b8e80941Smrg return ((val >> 2) << AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT) & AXXX_CP_RB_RPTR_ADDR_ADDR__MASK; 241b8e80941Smrg} 242b8e80941Smrg 243b8e80941Smrg#define REG_AXXX_CP_RB_RPTR 0x000001c4 244b8e80941Smrg 245b8e80941Smrg#define REG_AXXX_CP_RB_WPTR 0x000001c5 246b8e80941Smrg 247b8e80941Smrg#define REG_AXXX_CP_RB_WPTR_DELAY 0x000001c6 248b8e80941Smrg 249b8e80941Smrg#define REG_AXXX_CP_RB_RPTR_WR 0x000001c7 250b8e80941Smrg 251b8e80941Smrg#define REG_AXXX_CP_RB_WPTR_BASE 0x000001c8 252b8e80941Smrg 253b8e80941Smrg#define REG_AXXX_CP_QUEUE_THRESHOLDS 0x000001d5 254b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK 0x0000000f 255b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT 0 256b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START(uint32_t val) 257b8e80941Smrg{ 258b8e80941Smrg return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK; 259b8e80941Smrg} 260b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK 0x00000f00 261b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT 8 262b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START(uint32_t val) 263b8e80941Smrg{ 264b8e80941Smrg return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK; 265b8e80941Smrg} 266b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK 0x000f0000 267b8e80941Smrg#define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT 16 268b8e80941Smrgstatic inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START(uint32_t val) 269b8e80941Smrg{ 270b8e80941Smrg return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK; 271b8e80941Smrg} 272b8e80941Smrg 273b8e80941Smrg#define REG_AXXX_CP_MEQ_THRESHOLDS 0x000001d6 274b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK 0x001f0000 275b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT 16 276b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_THRESHOLDS_MEQ_END(uint32_t val) 277b8e80941Smrg{ 278b8e80941Smrg return ((val) << AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK; 279b8e80941Smrg} 280b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK 0x1f000000 281b8e80941Smrg#define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT 24 282b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_THRESHOLDS_ROQ_END(uint32_t val) 283b8e80941Smrg{ 284b8e80941Smrg return ((val) << AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK; 285b8e80941Smrg} 286b8e80941Smrg 287b8e80941Smrg#define REG_AXXX_CP_CSQ_AVAIL 0x000001d7 288b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_RING__MASK 0x0000007f 289b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_RING__SHIFT 0 290b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_RING(uint32_t val) 291b8e80941Smrg{ 292b8e80941Smrg return ((val) << AXXX_CP_CSQ_AVAIL_RING__SHIFT) & AXXX_CP_CSQ_AVAIL_RING__MASK; 293b8e80941Smrg} 294b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB1__MASK 0x00007f00 295b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB1__SHIFT 8 296b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_IB1(uint32_t val) 297b8e80941Smrg{ 298b8e80941Smrg return ((val) << AXXX_CP_CSQ_AVAIL_IB1__SHIFT) & AXXX_CP_CSQ_AVAIL_IB1__MASK; 299b8e80941Smrg} 300b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB2__MASK 0x007f0000 301b8e80941Smrg#define AXXX_CP_CSQ_AVAIL_IB2__SHIFT 16 302b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_AVAIL_IB2(uint32_t val) 303b8e80941Smrg{ 304b8e80941Smrg return ((val) << AXXX_CP_CSQ_AVAIL_IB2__SHIFT) & AXXX_CP_CSQ_AVAIL_IB2__MASK; 305b8e80941Smrg} 306b8e80941Smrg 307b8e80941Smrg#define REG_AXXX_CP_STQ_AVAIL 0x000001d8 308b8e80941Smrg#define AXXX_CP_STQ_AVAIL_ST__MASK 0x0000007f 309b8e80941Smrg#define AXXX_CP_STQ_AVAIL_ST__SHIFT 0 310b8e80941Smrgstatic inline uint32_t AXXX_CP_STQ_AVAIL_ST(uint32_t val) 311b8e80941Smrg{ 312b8e80941Smrg return ((val) << AXXX_CP_STQ_AVAIL_ST__SHIFT) & AXXX_CP_STQ_AVAIL_ST__MASK; 313b8e80941Smrg} 314b8e80941Smrg 315b8e80941Smrg#define REG_AXXX_CP_MEQ_AVAIL 0x000001d9 316b8e80941Smrg#define AXXX_CP_MEQ_AVAIL_MEQ__MASK 0x0000001f 317b8e80941Smrg#define AXXX_CP_MEQ_AVAIL_MEQ__SHIFT 0 318b8e80941Smrgstatic inline uint32_t AXXX_CP_MEQ_AVAIL_MEQ(uint32_t val) 319b8e80941Smrg{ 320b8e80941Smrg return ((val) << AXXX_CP_MEQ_AVAIL_MEQ__SHIFT) & AXXX_CP_MEQ_AVAIL_MEQ__MASK; 321b8e80941Smrg} 322b8e80941Smrg 323b8e80941Smrg#define REG_AXXX_SCRATCH_UMSK 0x000001dc 324b8e80941Smrg#define AXXX_SCRATCH_UMSK_UMSK__MASK 0x000000ff 325b8e80941Smrg#define AXXX_SCRATCH_UMSK_UMSK__SHIFT 0 326b8e80941Smrgstatic inline uint32_t AXXX_SCRATCH_UMSK_UMSK(uint32_t val) 327b8e80941Smrg{ 328b8e80941Smrg return ((val) << AXXX_SCRATCH_UMSK_UMSK__SHIFT) & AXXX_SCRATCH_UMSK_UMSK__MASK; 329b8e80941Smrg} 330b8e80941Smrg#define AXXX_SCRATCH_UMSK_SWAP__MASK 0x00030000 331b8e80941Smrg#define AXXX_SCRATCH_UMSK_SWAP__SHIFT 16 332b8e80941Smrgstatic inline uint32_t AXXX_SCRATCH_UMSK_SWAP(uint32_t val) 333b8e80941Smrg{ 334b8e80941Smrg return ((val) << AXXX_SCRATCH_UMSK_SWAP__SHIFT) & AXXX_SCRATCH_UMSK_SWAP__MASK; 335b8e80941Smrg} 336b8e80941Smrg 337b8e80941Smrg#define REG_AXXX_SCRATCH_ADDR 0x000001dd 338b8e80941Smrg 339b8e80941Smrg#define REG_AXXX_CP_ME_RDADDR 0x000001ea 340b8e80941Smrg 341b8e80941Smrg#define REG_AXXX_CP_STATE_DEBUG_INDEX 0x000001ec 342b8e80941Smrg 343b8e80941Smrg#define REG_AXXX_CP_STATE_DEBUG_DATA 0x000001ed 344b8e80941Smrg 345b8e80941Smrg#define REG_AXXX_CP_INT_CNTL 0x000001f2 346b8e80941Smrg#define AXXX_CP_INT_CNTL_SW_INT_MASK 0x00080000 347b8e80941Smrg#define AXXX_CP_INT_CNTL_T0_PACKET_IN_IB_MASK 0x00800000 348b8e80941Smrg#define AXXX_CP_INT_CNTL_OPCODE_ERROR_MASK 0x01000000 349b8e80941Smrg#define AXXX_CP_INT_CNTL_PROTECTED_MODE_ERROR_MASK 0x02000000 350b8e80941Smrg#define AXXX_CP_INT_CNTL_RESERVED_BIT_ERROR_MASK 0x04000000 351b8e80941Smrg#define AXXX_CP_INT_CNTL_IB_ERROR_MASK 0x08000000 352b8e80941Smrg#define AXXX_CP_INT_CNTL_IB2_INT_MASK 0x20000000 353b8e80941Smrg#define AXXX_CP_INT_CNTL_IB1_INT_MASK 0x40000000 354b8e80941Smrg#define AXXX_CP_INT_CNTL_RB_INT_MASK 0x80000000 355b8e80941Smrg 356b8e80941Smrg#define REG_AXXX_CP_INT_STATUS 0x000001f3 357b8e80941Smrg 358b8e80941Smrg#define REG_AXXX_CP_INT_ACK 0x000001f4 359b8e80941Smrg 360b8e80941Smrg#define REG_AXXX_CP_ME_CNTL 0x000001f6 361b8e80941Smrg#define AXXX_CP_ME_CNTL_BUSY 0x20000000 362b8e80941Smrg#define AXXX_CP_ME_CNTL_HALT 0x10000000 363b8e80941Smrg 364b8e80941Smrg#define REG_AXXX_CP_ME_STATUS 0x000001f7 365b8e80941Smrg 366b8e80941Smrg#define REG_AXXX_CP_ME_RAM_WADDR 0x000001f8 367b8e80941Smrg 368b8e80941Smrg#define REG_AXXX_CP_ME_RAM_RADDR 0x000001f9 369b8e80941Smrg 370b8e80941Smrg#define REG_AXXX_CP_ME_RAM_DATA 0x000001fa 371b8e80941Smrg 372b8e80941Smrg#define REG_AXXX_CP_DEBUG 0x000001fc 373b8e80941Smrg#define AXXX_CP_DEBUG_PREDICATE_DISABLE 0x00800000 374b8e80941Smrg#define AXXX_CP_DEBUG_PROG_END_PTR_ENABLE 0x01000000 375b8e80941Smrg#define AXXX_CP_DEBUG_MIU_128BIT_WRITE_ENABLE 0x02000000 376b8e80941Smrg#define AXXX_CP_DEBUG_PREFETCH_PASS_NOPS 0x04000000 377b8e80941Smrg#define AXXX_CP_DEBUG_DYNAMIC_CLK_DISABLE 0x08000000 378b8e80941Smrg#define AXXX_CP_DEBUG_PREFETCH_MATCH_DISABLE 0x10000000 379b8e80941Smrg#define AXXX_CP_DEBUG_SIMPLE_ME_FLOW_CONTROL 0x40000000 380b8e80941Smrg#define AXXX_CP_DEBUG_MIU_WRITE_PACK_DISABLE 0x80000000 381b8e80941Smrg 382b8e80941Smrg#define REG_AXXX_CP_CSQ_RB_STAT 0x000001fd 383b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_RPTR__MASK 0x0000007f 384b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT 0 385b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_RB_STAT_RPTR(uint32_t val) 386b8e80941Smrg{ 387b8e80941Smrg return ((val) << AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_RPTR__MASK; 388b8e80941Smrg} 389b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_WPTR__MASK 0x007f0000 390b8e80941Smrg#define AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT 16 391b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_RB_STAT_WPTR(uint32_t val) 392b8e80941Smrg{ 393b8e80941Smrg return ((val) << AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_WPTR__MASK; 394b8e80941Smrg} 395b8e80941Smrg 396b8e80941Smrg#define REG_AXXX_CP_CSQ_IB1_STAT 0x000001fe 397b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_RPTR__MASK 0x0000007f 398b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT 0 399b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB1_STAT_RPTR(uint32_t val) 400b8e80941Smrg{ 401b8e80941Smrg return ((val) << AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_RPTR__MASK; 402b8e80941Smrg} 403b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_WPTR__MASK 0x007f0000 404b8e80941Smrg#define AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT 16 405b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB1_STAT_WPTR(uint32_t val) 406b8e80941Smrg{ 407b8e80941Smrg return ((val) << AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_WPTR__MASK; 408b8e80941Smrg} 409b8e80941Smrg 410b8e80941Smrg#define REG_AXXX_CP_CSQ_IB2_STAT 0x000001ff 411b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_RPTR__MASK 0x0000007f 412b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT 0 413b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB2_STAT_RPTR(uint32_t val) 414b8e80941Smrg{ 415b8e80941Smrg return ((val) << AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_RPTR__MASK; 416b8e80941Smrg} 417b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_WPTR__MASK 0x007f0000 418b8e80941Smrg#define AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT 16 419b8e80941Smrgstatic inline uint32_t AXXX_CP_CSQ_IB2_STAT_WPTR(uint32_t val) 420b8e80941Smrg{ 421b8e80941Smrg return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK; 422b8e80941Smrg} 423b8e80941Smrg 424b8e80941Smrg#define REG_AXXX_CP_NON_PREFETCH_CNTRS 0x00000440 425b8e80941Smrg 426b8e80941Smrg#define REG_AXXX_CP_STQ_ST_STAT 0x00000443 427b8e80941Smrg 428b8e80941Smrg#define REG_AXXX_CP_ST_BASE 0x0000044d 429b8e80941Smrg 430b8e80941Smrg#define REG_AXXX_CP_ST_BUFSZ 0x0000044e 431b8e80941Smrg 432b8e80941Smrg#define REG_AXXX_CP_MEQ_STAT 0x0000044f 433b8e80941Smrg 434b8e80941Smrg#define REG_AXXX_CP_MIU_TAG_STAT 0x00000452 435b8e80941Smrg 436b8e80941Smrg#define REG_AXXX_CP_BIN_MASK_LO 0x00000454 437b8e80941Smrg 438b8e80941Smrg#define REG_AXXX_CP_BIN_MASK_HI 0x00000455 439b8e80941Smrg 440b8e80941Smrg#define REG_AXXX_CP_BIN_SELECT_LO 0x00000456 441b8e80941Smrg 442b8e80941Smrg#define REG_AXXX_CP_BIN_SELECT_HI 0x00000457 443b8e80941Smrg 444b8e80941Smrg#define REG_AXXX_CP_IB1_BASE 0x00000458 445b8e80941Smrg 446b8e80941Smrg#define REG_AXXX_CP_IB1_BUFSZ 0x00000459 447b8e80941Smrg 448b8e80941Smrg#define REG_AXXX_CP_IB2_BASE 0x0000045a 449b8e80941Smrg 450b8e80941Smrg#define REG_AXXX_CP_IB2_BUFSZ 0x0000045b 451b8e80941Smrg 452b8e80941Smrg#define REG_AXXX_CP_STAT 0x0000047f 453b8e80941Smrg#define AXXX_CP_STAT_CP_BUSY 0x80000000 454b8e80941Smrg#define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY 0x40000000 455b8e80941Smrg#define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY 0x20000000 456b8e80941Smrg#define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY 0x10000000 457b8e80941Smrg#define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY 0x08000000 458b8e80941Smrg#define AXXX_CP_STAT_ME_BUSY 0x04000000 459b8e80941Smrg#define AXXX_CP_STAT_MIU_WR_C_BUSY 0x02000000 460b8e80941Smrg#define AXXX_CP_STAT_CP_3D_BUSY 0x00800000 461b8e80941Smrg#define AXXX_CP_STAT_CP_NRT_BUSY 0x00400000 462b8e80941Smrg#define AXXX_CP_STAT_RBIU_SCRATCH_BUSY 0x00200000 463b8e80941Smrg#define AXXX_CP_STAT_RCIU_ME_BUSY 0x00100000 464b8e80941Smrg#define AXXX_CP_STAT_RCIU_PFP_BUSY 0x00080000 465b8e80941Smrg#define AXXX_CP_STAT_MEQ_RING_BUSY 0x00040000 466b8e80941Smrg#define AXXX_CP_STAT_PFP_BUSY 0x00020000 467b8e80941Smrg#define AXXX_CP_STAT_ST_QUEUE_BUSY 0x00010000 468b8e80941Smrg#define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY 0x00002000 469b8e80941Smrg#define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY 0x00001000 470b8e80941Smrg#define AXXX_CP_STAT_RING_QUEUE_BUSY 0x00000800 471b8e80941Smrg#define AXXX_CP_STAT_CSF_BUSY 0x00000400 472b8e80941Smrg#define AXXX_CP_STAT_CSF_ST_BUSY 0x00000200 473b8e80941Smrg#define AXXX_CP_STAT_EVENT_BUSY 0x00000100 474b8e80941Smrg#define AXXX_CP_STAT_CSF_INDIRECT2_BUSY 0x00000080 475b8e80941Smrg#define AXXX_CP_STAT_CSF_INDIRECTS_BUSY 0x00000040 476b8e80941Smrg#define AXXX_CP_STAT_CSF_RING_BUSY 0x00000020 477b8e80941Smrg#define AXXX_CP_STAT_RCIU_BUSY 0x00000010 478b8e80941Smrg#define AXXX_CP_STAT_RBIU_BUSY 0x00000008 479b8e80941Smrg#define AXXX_CP_STAT_MIU_RD_RETURN_BUSY 0x00000004 480b8e80941Smrg#define AXXX_CP_STAT_MIU_RD_REQ_BUSY 0x00000002 481b8e80941Smrg#define AXXX_CP_STAT_MIU_WR_BUSY 0x00000001 482b8e80941Smrg 483b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG0 0x00000578 484b8e80941Smrg 485b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG1 0x00000579 486b8e80941Smrg 487b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG2 0x0000057a 488b8e80941Smrg 489b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG3 0x0000057b 490b8e80941Smrg 491b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG4 0x0000057c 492b8e80941Smrg 493b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG5 0x0000057d 494b8e80941Smrg 495b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG6 0x0000057e 496b8e80941Smrg 497b8e80941Smrg#define REG_AXXX_CP_SCRATCH_REG7 0x0000057f 498b8e80941Smrg 499b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_SRC 0x00000600 500b8e80941Smrg 501b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_ADDR 0x00000601 502b8e80941Smrg 503b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_DATA 0x00000602 504b8e80941Smrg 505b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_ADDR_SWM 0x00000603 506b8e80941Smrg 507b8e80941Smrg#define REG_AXXX_CP_ME_VS_EVENT_DATA_SWM 0x00000604 508b8e80941Smrg 509b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_SRC 0x00000605 510b8e80941Smrg 511b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_ADDR 0x00000606 512b8e80941Smrg 513b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_DATA 0x00000607 514b8e80941Smrg 515b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_ADDR_SWM 0x00000608 516b8e80941Smrg 517b8e80941Smrg#define REG_AXXX_CP_ME_PS_EVENT_DATA_SWM 0x00000609 518b8e80941Smrg 519b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_SRC 0x0000060a 520b8e80941Smrg 521b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_ADDR 0x0000060b 522b8e80941Smrg 523b8e80941Smrg#define REG_AXXX_CP_ME_CF_EVENT_DATA 0x0000060c 524b8e80941Smrg 525b8e80941Smrg#define REG_AXXX_CP_ME_NRT_ADDR 0x0000060d 526b8e80941Smrg 527b8e80941Smrg#define REG_AXXX_CP_ME_NRT_DATA 0x0000060e 528b8e80941Smrg 529b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_SRC 0x00000612 530b8e80941Smrg 531b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_ADDR 0x00000613 532b8e80941Smrg 533b8e80941Smrg#define REG_AXXX_CP_ME_VS_FETCH_DONE_DATA 0x00000614 534b8e80941Smrg 535b8e80941Smrg 536b8e80941Smrg#endif /* ADRENO_COMMON_XML */ 537