0001 #ifndef ADRENO_COMMON_XML
0002 #define ADRENO_COMMON_XML
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 enum chip {
0052 A2XX = 0,
0053 A3XX = 0,
0054 A4XX = 0,
0055 A5XX = 0,
0056 A6XX = 0,
0057 };
0058
0059 enum adreno_pa_su_sc_draw {
0060 PC_DRAW_POINTS = 0,
0061 PC_DRAW_LINES = 1,
0062 PC_DRAW_TRIANGLES = 2,
0063 };
0064
0065 enum adreno_compare_func {
0066 FUNC_NEVER = 0,
0067 FUNC_LESS = 1,
0068 FUNC_EQUAL = 2,
0069 FUNC_LEQUAL = 3,
0070 FUNC_GREATER = 4,
0071 FUNC_NOTEQUAL = 5,
0072 FUNC_GEQUAL = 6,
0073 FUNC_ALWAYS = 7,
0074 };
0075
0076 enum adreno_stencil_op {
0077 STENCIL_KEEP = 0,
0078 STENCIL_ZERO = 1,
0079 STENCIL_REPLACE = 2,
0080 STENCIL_INCR_CLAMP = 3,
0081 STENCIL_DECR_CLAMP = 4,
0082 STENCIL_INVERT = 5,
0083 STENCIL_INCR_WRAP = 6,
0084 STENCIL_DECR_WRAP = 7,
0085 };
0086
0087 enum adreno_rb_blend_factor {
0088 FACTOR_ZERO = 0,
0089 FACTOR_ONE = 1,
0090 FACTOR_SRC_COLOR = 4,
0091 FACTOR_ONE_MINUS_SRC_COLOR = 5,
0092 FACTOR_SRC_ALPHA = 6,
0093 FACTOR_ONE_MINUS_SRC_ALPHA = 7,
0094 FACTOR_DST_COLOR = 8,
0095 FACTOR_ONE_MINUS_DST_COLOR = 9,
0096 FACTOR_DST_ALPHA = 10,
0097 FACTOR_ONE_MINUS_DST_ALPHA = 11,
0098 FACTOR_CONSTANT_COLOR = 12,
0099 FACTOR_ONE_MINUS_CONSTANT_COLOR = 13,
0100 FACTOR_CONSTANT_ALPHA = 14,
0101 FACTOR_ONE_MINUS_CONSTANT_ALPHA = 15,
0102 FACTOR_SRC_ALPHA_SATURATE = 16,
0103 FACTOR_SRC1_COLOR = 20,
0104 FACTOR_ONE_MINUS_SRC1_COLOR = 21,
0105 FACTOR_SRC1_ALPHA = 22,
0106 FACTOR_ONE_MINUS_SRC1_ALPHA = 23,
0107 };
0108
0109 enum adreno_rb_surface_endian {
0110 ENDIAN_NONE = 0,
0111 ENDIAN_8IN16 = 1,
0112 ENDIAN_8IN32 = 2,
0113 ENDIAN_16IN32 = 3,
0114 ENDIAN_8IN64 = 4,
0115 ENDIAN_8IN128 = 5,
0116 };
0117
0118 enum adreno_rb_dither_mode {
0119 DITHER_DISABLE = 0,
0120 DITHER_ALWAYS = 1,
0121 DITHER_IF_ALPHA_OFF = 2,
0122 };
0123
0124 enum adreno_rb_depth_format {
0125 DEPTHX_16 = 0,
0126 DEPTHX_24_8 = 1,
0127 DEPTHX_32 = 2,
0128 };
0129
0130 enum adreno_rb_copy_control_mode {
0131 RB_COPY_RESOLVE = 1,
0132 RB_COPY_CLEAR = 2,
0133 RB_COPY_DEPTH_STENCIL = 5,
0134 };
0135
0136 enum a3xx_rop_code {
0137 ROP_CLEAR = 0,
0138 ROP_NOR = 1,
0139 ROP_AND_INVERTED = 2,
0140 ROP_COPY_INVERTED = 3,
0141 ROP_AND_REVERSE = 4,
0142 ROP_INVERT = 5,
0143 ROP_NAND = 7,
0144 ROP_AND = 8,
0145 ROP_EQUIV = 9,
0146 ROP_NOOP = 10,
0147 ROP_OR_INVERTED = 11,
0148 ROP_OR_REVERSE = 13,
0149 ROP_OR = 14,
0150 ROP_SET = 15,
0151 };
0152
0153 enum a3xx_render_mode {
0154 RB_RENDERING_PASS = 0,
0155 RB_TILING_PASS = 1,
0156 RB_RESOLVE_PASS = 2,
0157 RB_COMPUTE_PASS = 3,
0158 };
0159
0160 enum a3xx_msaa_samples {
0161 MSAA_ONE = 0,
0162 MSAA_TWO = 1,
0163 MSAA_FOUR = 2,
0164 MSAA_EIGHT = 3,
0165 };
0166
0167 enum a3xx_threadmode {
0168 MULTI = 0,
0169 SINGLE = 1,
0170 };
0171
0172 enum a3xx_instrbuffermode {
0173 CACHE = 0,
0174 BUFFER = 1,
0175 };
0176
0177 enum a3xx_threadsize {
0178 TWO_QUADS = 0,
0179 FOUR_QUADS = 1,
0180 };
0181
0182 enum a3xx_color_swap {
0183 WZYX = 0,
0184 WXYZ = 1,
0185 ZYXW = 2,
0186 XYZW = 3,
0187 };
0188
0189 enum a3xx_rb_blend_opcode {
0190 BLEND_DST_PLUS_SRC = 0,
0191 BLEND_SRC_MINUS_DST = 1,
0192 BLEND_DST_MINUS_SRC = 2,
0193 BLEND_MIN_DST_SRC = 3,
0194 BLEND_MAX_DST_SRC = 4,
0195 };
0196
0197 enum a4xx_tess_spacing {
0198 EQUAL_SPACING = 0,
0199 ODD_SPACING = 2,
0200 EVEN_SPACING = 3,
0201 };
0202
0203 enum a5xx_address_mode {
0204 ADDR_32B = 0,
0205 ADDR_64B = 1,
0206 };
0207
0208 enum a5xx_line_mode {
0209 BRESENHAM = 0,
0210 RECTANGULAR = 1,
0211 };
0212
0213 #define REG_AXXX_CP_RB_BASE 0x000001c0
0214
0215 #define REG_AXXX_CP_RB_CNTL 0x000001c1
0216 #define AXXX_CP_RB_CNTL_BUFSZ__MASK 0x0000003f
0217 #define AXXX_CP_RB_CNTL_BUFSZ__SHIFT 0
0218 static inline uint32_t AXXX_CP_RB_CNTL_BUFSZ(uint32_t val)
0219 {
0220 return ((val) << AXXX_CP_RB_CNTL_BUFSZ__SHIFT) & AXXX_CP_RB_CNTL_BUFSZ__MASK;
0221 }
0222 #define AXXX_CP_RB_CNTL_BLKSZ__MASK 0x00003f00
0223 #define AXXX_CP_RB_CNTL_BLKSZ__SHIFT 8
0224 static inline uint32_t AXXX_CP_RB_CNTL_BLKSZ(uint32_t val)
0225 {
0226 return ((val) << AXXX_CP_RB_CNTL_BLKSZ__SHIFT) & AXXX_CP_RB_CNTL_BLKSZ__MASK;
0227 }
0228 #define AXXX_CP_RB_CNTL_BUF_SWAP__MASK 0x00030000
0229 #define AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT 16
0230 static inline uint32_t AXXX_CP_RB_CNTL_BUF_SWAP(uint32_t val)
0231 {
0232 return ((val) << AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT) & AXXX_CP_RB_CNTL_BUF_SWAP__MASK;
0233 }
0234 #define AXXX_CP_RB_CNTL_POLL_EN 0x00100000
0235 #define AXXX_CP_RB_CNTL_NO_UPDATE 0x08000000
0236 #define AXXX_CP_RB_CNTL_RPTR_WR_EN 0x80000000
0237
0238 #define REG_AXXX_CP_RB_RPTR_ADDR 0x000001c3
0239 #define AXXX_CP_RB_RPTR_ADDR_SWAP__MASK 0x00000003
0240 #define AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT 0
0241 static inline uint32_t AXXX_CP_RB_RPTR_ADDR_SWAP(uint32_t val)
0242 {
0243 return ((val) << AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT) & AXXX_CP_RB_RPTR_ADDR_SWAP__MASK;
0244 }
0245 #define AXXX_CP_RB_RPTR_ADDR_ADDR__MASK 0xfffffffc
0246 #define AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT 2
0247 static inline uint32_t AXXX_CP_RB_RPTR_ADDR_ADDR(uint32_t val)
0248 {
0249 return ((val >> 2) << AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT) & AXXX_CP_RB_RPTR_ADDR_ADDR__MASK;
0250 }
0251
0252 #define REG_AXXX_CP_RB_RPTR 0x000001c4
0253
0254 #define REG_AXXX_CP_RB_WPTR 0x000001c5
0255
0256 #define REG_AXXX_CP_RB_WPTR_DELAY 0x000001c6
0257
0258 #define REG_AXXX_CP_RB_RPTR_WR 0x000001c7
0259
0260 #define REG_AXXX_CP_RB_WPTR_BASE 0x000001c8
0261
0262 #define REG_AXXX_CP_QUEUE_THRESHOLDS 0x000001d5
0263 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK 0x0000000f
0264 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT 0
0265 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START(uint32_t val)
0266 {
0267 return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK;
0268 }
0269 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK 0x00000f00
0270 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT 8
0271 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START(uint32_t val)
0272 {
0273 return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK;
0274 }
0275 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK 0x000f0000
0276 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT 16
0277 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START(uint32_t val)
0278 {
0279 return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK;
0280 }
0281
0282 #define REG_AXXX_CP_MEQ_THRESHOLDS 0x000001d6
0283 #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK 0x001f0000
0284 #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT 16
0285 static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_MEQ_END(uint32_t val)
0286 {
0287 return ((val) << AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK;
0288 }
0289 #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK 0x1f000000
0290 #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT 24
0291 static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_ROQ_END(uint32_t val)
0292 {
0293 return ((val) << AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK;
0294 }
0295
0296 #define REG_AXXX_CP_CSQ_AVAIL 0x000001d7
0297 #define AXXX_CP_CSQ_AVAIL_RING__MASK 0x0000007f
0298 #define AXXX_CP_CSQ_AVAIL_RING__SHIFT 0
0299 static inline uint32_t AXXX_CP_CSQ_AVAIL_RING(uint32_t val)
0300 {
0301 return ((val) << AXXX_CP_CSQ_AVAIL_RING__SHIFT) & AXXX_CP_CSQ_AVAIL_RING__MASK;
0302 }
0303 #define AXXX_CP_CSQ_AVAIL_IB1__MASK 0x00007f00
0304 #define AXXX_CP_CSQ_AVAIL_IB1__SHIFT 8
0305 static inline uint32_t AXXX_CP_CSQ_AVAIL_IB1(uint32_t val)
0306 {
0307 return ((val) << AXXX_CP_CSQ_AVAIL_IB1__SHIFT) & AXXX_CP_CSQ_AVAIL_IB1__MASK;
0308 }
0309 #define AXXX_CP_CSQ_AVAIL_IB2__MASK 0x007f0000
0310 #define AXXX_CP_CSQ_AVAIL_IB2__SHIFT 16
0311 static inline uint32_t AXXX_CP_CSQ_AVAIL_IB2(uint32_t val)
0312 {
0313 return ((val) << AXXX_CP_CSQ_AVAIL_IB2__SHIFT) & AXXX_CP_CSQ_AVAIL_IB2__MASK;
0314 }
0315
0316 #define REG_AXXX_CP_STQ_AVAIL 0x000001d8
0317 #define AXXX_CP_STQ_AVAIL_ST__MASK 0x0000007f
0318 #define AXXX_CP_STQ_AVAIL_ST__SHIFT 0
0319 static inline uint32_t AXXX_CP_STQ_AVAIL_ST(uint32_t val)
0320 {
0321 return ((val) << AXXX_CP_STQ_AVAIL_ST__SHIFT) & AXXX_CP_STQ_AVAIL_ST__MASK;
0322 }
0323
0324 #define REG_AXXX_CP_MEQ_AVAIL 0x000001d9
0325 #define AXXX_CP_MEQ_AVAIL_MEQ__MASK 0x0000001f
0326 #define AXXX_CP_MEQ_AVAIL_MEQ__SHIFT 0
0327 static inline uint32_t AXXX_CP_MEQ_AVAIL_MEQ(uint32_t val)
0328 {
0329 return ((val) << AXXX_CP_MEQ_AVAIL_MEQ__SHIFT) & AXXX_CP_MEQ_AVAIL_MEQ__MASK;
0330 }
0331
0332 #define REG_AXXX_SCRATCH_UMSK 0x000001dc
0333 #define AXXX_SCRATCH_UMSK_UMSK__MASK 0x000000ff
0334 #define AXXX_SCRATCH_UMSK_UMSK__SHIFT 0
0335 static inline uint32_t AXXX_SCRATCH_UMSK_UMSK(uint32_t val)
0336 {
0337 return ((val) << AXXX_SCRATCH_UMSK_UMSK__SHIFT) & AXXX_SCRATCH_UMSK_UMSK__MASK;
0338 }
0339 #define AXXX_SCRATCH_UMSK_SWAP__MASK 0x00030000
0340 #define AXXX_SCRATCH_UMSK_SWAP__SHIFT 16
0341 static inline uint32_t AXXX_SCRATCH_UMSK_SWAP(uint32_t val)
0342 {
0343 return ((val) << AXXX_SCRATCH_UMSK_SWAP__SHIFT) & AXXX_SCRATCH_UMSK_SWAP__MASK;
0344 }
0345
0346 #define REG_AXXX_SCRATCH_ADDR 0x000001dd
0347
0348 #define REG_AXXX_CP_ME_RDADDR 0x000001ea
0349
0350 #define REG_AXXX_CP_STATE_DEBUG_INDEX 0x000001ec
0351
0352 #define REG_AXXX_CP_STATE_DEBUG_DATA 0x000001ed
0353
0354 #define REG_AXXX_CP_INT_CNTL 0x000001f2
0355 #define AXXX_CP_INT_CNTL_SW_INT_MASK 0x00080000
0356 #define AXXX_CP_INT_CNTL_T0_PACKET_IN_IB_MASK 0x00800000
0357 #define AXXX_CP_INT_CNTL_OPCODE_ERROR_MASK 0x01000000
0358 #define AXXX_CP_INT_CNTL_PROTECTED_MODE_ERROR_MASK 0x02000000
0359 #define AXXX_CP_INT_CNTL_RESERVED_BIT_ERROR_MASK 0x04000000
0360 #define AXXX_CP_INT_CNTL_IB_ERROR_MASK 0x08000000
0361 #define AXXX_CP_INT_CNTL_IB2_INT_MASK 0x20000000
0362 #define AXXX_CP_INT_CNTL_IB1_INT_MASK 0x40000000
0363 #define AXXX_CP_INT_CNTL_RB_INT_MASK 0x80000000
0364
0365 #define REG_AXXX_CP_INT_STATUS 0x000001f3
0366
0367 #define REG_AXXX_CP_INT_ACK 0x000001f4
0368
0369 #define REG_AXXX_CP_ME_CNTL 0x000001f6
0370 #define AXXX_CP_ME_CNTL_BUSY 0x20000000
0371 #define AXXX_CP_ME_CNTL_HALT 0x10000000
0372
0373 #define REG_AXXX_CP_ME_STATUS 0x000001f7
0374
0375 #define REG_AXXX_CP_ME_RAM_WADDR 0x000001f8
0376
0377 #define REG_AXXX_CP_ME_RAM_RADDR 0x000001f9
0378
0379 #define REG_AXXX_CP_ME_RAM_DATA 0x000001fa
0380
0381 #define REG_AXXX_CP_DEBUG 0x000001fc
0382 #define AXXX_CP_DEBUG_PREDICATE_DISABLE 0x00800000
0383 #define AXXX_CP_DEBUG_PROG_END_PTR_ENABLE 0x01000000
0384 #define AXXX_CP_DEBUG_MIU_128BIT_WRITE_ENABLE 0x02000000
0385 #define AXXX_CP_DEBUG_PREFETCH_PASS_NOPS 0x04000000
0386 #define AXXX_CP_DEBUG_DYNAMIC_CLK_DISABLE 0x08000000
0387 #define AXXX_CP_DEBUG_PREFETCH_MATCH_DISABLE 0x10000000
0388 #define AXXX_CP_DEBUG_SIMPLE_ME_FLOW_CONTROL 0x40000000
0389 #define AXXX_CP_DEBUG_MIU_WRITE_PACK_DISABLE 0x80000000
0390
0391 #define REG_AXXX_CP_CSQ_RB_STAT 0x000001fd
0392 #define AXXX_CP_CSQ_RB_STAT_RPTR__MASK 0x0000007f
0393 #define AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT 0
0394 static inline uint32_t AXXX_CP_CSQ_RB_STAT_RPTR(uint32_t val)
0395 {
0396 return ((val) << AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_RPTR__MASK;
0397 }
0398 #define AXXX_CP_CSQ_RB_STAT_WPTR__MASK 0x007f0000
0399 #define AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT 16
0400 static inline uint32_t AXXX_CP_CSQ_RB_STAT_WPTR(uint32_t val)
0401 {
0402 return ((val) << AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_WPTR__MASK;
0403 }
0404
0405 #define REG_AXXX_CP_CSQ_IB1_STAT 0x000001fe
0406 #define AXXX_CP_CSQ_IB1_STAT_RPTR__MASK 0x0000007f
0407 #define AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT 0
0408 static inline uint32_t AXXX_CP_CSQ_IB1_STAT_RPTR(uint32_t val)
0409 {
0410 return ((val) << AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_RPTR__MASK;
0411 }
0412 #define AXXX_CP_CSQ_IB1_STAT_WPTR__MASK 0x007f0000
0413 #define AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT 16
0414 static inline uint32_t AXXX_CP_CSQ_IB1_STAT_WPTR(uint32_t val)
0415 {
0416 return ((val) << AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_WPTR__MASK;
0417 }
0418
0419 #define REG_AXXX_CP_CSQ_IB2_STAT 0x000001ff
0420 #define AXXX_CP_CSQ_IB2_STAT_RPTR__MASK 0x0000007f
0421 #define AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT 0
0422 static inline uint32_t AXXX_CP_CSQ_IB2_STAT_RPTR(uint32_t val)
0423 {
0424 return ((val) << AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_RPTR__MASK;
0425 }
0426 #define AXXX_CP_CSQ_IB2_STAT_WPTR__MASK 0x007f0000
0427 #define AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT 16
0428 static inline uint32_t AXXX_CP_CSQ_IB2_STAT_WPTR(uint32_t val)
0429 {
0430 return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK;
0431 }
0432
0433 #define REG_AXXX_CP_NON_PREFETCH_CNTRS 0x00000440
0434
0435 #define REG_AXXX_CP_STQ_ST_STAT 0x00000443
0436
0437 #define REG_AXXX_CP_ST_BASE 0x0000044d
0438
0439 #define REG_AXXX_CP_ST_BUFSZ 0x0000044e
0440
0441 #define REG_AXXX_CP_MEQ_STAT 0x0000044f
0442
0443 #define REG_AXXX_CP_MIU_TAG_STAT 0x00000452
0444
0445 #define REG_AXXX_CP_BIN_MASK_LO 0x00000454
0446
0447 #define REG_AXXX_CP_BIN_MASK_HI 0x00000455
0448
0449 #define REG_AXXX_CP_BIN_SELECT_LO 0x00000456
0450
0451 #define REG_AXXX_CP_BIN_SELECT_HI 0x00000457
0452
0453 #define REG_AXXX_CP_IB1_BASE 0x00000458
0454
0455 #define REG_AXXX_CP_IB1_BUFSZ 0x00000459
0456
0457 #define REG_AXXX_CP_IB2_BASE 0x0000045a
0458
0459 #define REG_AXXX_CP_IB2_BUFSZ 0x0000045b
0460
0461 #define REG_AXXX_CP_STAT 0x0000047f
0462 #define AXXX_CP_STAT_CP_BUSY__MASK 0x80000000
0463 #define AXXX_CP_STAT_CP_BUSY__SHIFT 31
0464 static inline uint32_t AXXX_CP_STAT_CP_BUSY(uint32_t val)
0465 {
0466 return ((val) << AXXX_CP_STAT_CP_BUSY__SHIFT) & AXXX_CP_STAT_CP_BUSY__MASK;
0467 }
0468 #define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__MASK 0x40000000
0469 #define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__SHIFT 30
0470 static inline uint32_t AXXX_CP_STAT_VS_EVENT_FIFO_BUSY(uint32_t val)
0471 {
0472 return ((val) << AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__MASK;
0473 }
0474 #define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__MASK 0x20000000
0475 #define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__SHIFT 29
0476 static inline uint32_t AXXX_CP_STAT_PS_EVENT_FIFO_BUSY(uint32_t val)
0477 {
0478 return ((val) << AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__MASK;
0479 }
0480 #define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__MASK 0x10000000
0481 #define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__SHIFT 28
0482 static inline uint32_t AXXX_CP_STAT_CF_EVENT_FIFO_BUSY(uint32_t val)
0483 {
0484 return ((val) << AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__MASK;
0485 }
0486 #define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__MASK 0x08000000
0487 #define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__SHIFT 27
0488 static inline uint32_t AXXX_CP_STAT_RB_EVENT_FIFO_BUSY(uint32_t val)
0489 {
0490 return ((val) << AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__MASK;
0491 }
0492 #define AXXX_CP_STAT_ME_BUSY__MASK 0x04000000
0493 #define AXXX_CP_STAT_ME_BUSY__SHIFT 26
0494 static inline uint32_t AXXX_CP_STAT_ME_BUSY(uint32_t val)
0495 {
0496 return ((val) << AXXX_CP_STAT_ME_BUSY__SHIFT) & AXXX_CP_STAT_ME_BUSY__MASK;
0497 }
0498 #define AXXX_CP_STAT_MIU_WR_C_BUSY__MASK 0x02000000
0499 #define AXXX_CP_STAT_MIU_WR_C_BUSY__SHIFT 25
0500 static inline uint32_t AXXX_CP_STAT_MIU_WR_C_BUSY(uint32_t val)
0501 {
0502 return ((val) << AXXX_CP_STAT_MIU_WR_C_BUSY__SHIFT) & AXXX_CP_STAT_MIU_WR_C_BUSY__MASK;
0503 }
0504 #define AXXX_CP_STAT_CP_3D_BUSY__MASK 0x00800000
0505 #define AXXX_CP_STAT_CP_3D_BUSY__SHIFT 23
0506 static inline uint32_t AXXX_CP_STAT_CP_3D_BUSY(uint32_t val)
0507 {
0508 return ((val) << AXXX_CP_STAT_CP_3D_BUSY__SHIFT) & AXXX_CP_STAT_CP_3D_BUSY__MASK;
0509 }
0510 #define AXXX_CP_STAT_CP_NRT_BUSY__MASK 0x00400000
0511 #define AXXX_CP_STAT_CP_NRT_BUSY__SHIFT 22
0512 static inline uint32_t AXXX_CP_STAT_CP_NRT_BUSY(uint32_t val)
0513 {
0514 return ((val) << AXXX_CP_STAT_CP_NRT_BUSY__SHIFT) & AXXX_CP_STAT_CP_NRT_BUSY__MASK;
0515 }
0516 #define AXXX_CP_STAT_RBIU_SCRATCH_BUSY__MASK 0x00200000
0517 #define AXXX_CP_STAT_RBIU_SCRATCH_BUSY__SHIFT 21
0518 static inline uint32_t AXXX_CP_STAT_RBIU_SCRATCH_BUSY(uint32_t val)
0519 {
0520 return ((val) << AXXX_CP_STAT_RBIU_SCRATCH_BUSY__SHIFT) & AXXX_CP_STAT_RBIU_SCRATCH_BUSY__MASK;
0521 }
0522 #define AXXX_CP_STAT_RCIU_ME_BUSY__MASK 0x00100000
0523 #define AXXX_CP_STAT_RCIU_ME_BUSY__SHIFT 20
0524 static inline uint32_t AXXX_CP_STAT_RCIU_ME_BUSY(uint32_t val)
0525 {
0526 return ((val) << AXXX_CP_STAT_RCIU_ME_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_ME_BUSY__MASK;
0527 }
0528 #define AXXX_CP_STAT_RCIU_PFP_BUSY__MASK 0x00080000
0529 #define AXXX_CP_STAT_RCIU_PFP_BUSY__SHIFT 19
0530 static inline uint32_t AXXX_CP_STAT_RCIU_PFP_BUSY(uint32_t val)
0531 {
0532 return ((val) << AXXX_CP_STAT_RCIU_PFP_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_PFP_BUSY__MASK;
0533 }
0534 #define AXXX_CP_STAT_MEQ_RING_BUSY__MASK 0x00040000
0535 #define AXXX_CP_STAT_MEQ_RING_BUSY__SHIFT 18
0536 static inline uint32_t AXXX_CP_STAT_MEQ_RING_BUSY(uint32_t val)
0537 {
0538 return ((val) << AXXX_CP_STAT_MEQ_RING_BUSY__SHIFT) & AXXX_CP_STAT_MEQ_RING_BUSY__MASK;
0539 }
0540 #define AXXX_CP_STAT_PFP_BUSY__MASK 0x00020000
0541 #define AXXX_CP_STAT_PFP_BUSY__SHIFT 17
0542 static inline uint32_t AXXX_CP_STAT_PFP_BUSY(uint32_t val)
0543 {
0544 return ((val) << AXXX_CP_STAT_PFP_BUSY__SHIFT) & AXXX_CP_STAT_PFP_BUSY__MASK;
0545 }
0546 #define AXXX_CP_STAT_ST_QUEUE_BUSY__MASK 0x00010000
0547 #define AXXX_CP_STAT_ST_QUEUE_BUSY__SHIFT 16
0548 static inline uint32_t AXXX_CP_STAT_ST_QUEUE_BUSY(uint32_t val)
0549 {
0550 return ((val) << AXXX_CP_STAT_ST_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_ST_QUEUE_BUSY__MASK;
0551 }
0552 #define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__MASK 0x00002000
0553 #define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__SHIFT 13
0554 static inline uint32_t AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY(uint32_t val)
0555 {
0556 return ((val) << AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__MASK;
0557 }
0558 #define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__MASK 0x00001000
0559 #define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__SHIFT 12
0560 static inline uint32_t AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY(uint32_t val)
0561 {
0562 return ((val) << AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__MASK;
0563 }
0564 #define AXXX_CP_STAT_RING_QUEUE_BUSY__MASK 0x00000800
0565 #define AXXX_CP_STAT_RING_QUEUE_BUSY__SHIFT 11
0566 static inline uint32_t AXXX_CP_STAT_RING_QUEUE_BUSY(uint32_t val)
0567 {
0568 return ((val) << AXXX_CP_STAT_RING_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_RING_QUEUE_BUSY__MASK;
0569 }
0570 #define AXXX_CP_STAT_CSF_BUSY__MASK 0x00000400
0571 #define AXXX_CP_STAT_CSF_BUSY__SHIFT 10
0572 static inline uint32_t AXXX_CP_STAT_CSF_BUSY(uint32_t val)
0573 {
0574 return ((val) << AXXX_CP_STAT_CSF_BUSY__SHIFT) & AXXX_CP_STAT_CSF_BUSY__MASK;
0575 }
0576 #define AXXX_CP_STAT_CSF_ST_BUSY__MASK 0x00000200
0577 #define AXXX_CP_STAT_CSF_ST_BUSY__SHIFT 9
0578 static inline uint32_t AXXX_CP_STAT_CSF_ST_BUSY(uint32_t val)
0579 {
0580 return ((val) << AXXX_CP_STAT_CSF_ST_BUSY__SHIFT) & AXXX_CP_STAT_CSF_ST_BUSY__MASK;
0581 }
0582 #define AXXX_CP_STAT_EVENT_BUSY__MASK 0x00000100
0583 #define AXXX_CP_STAT_EVENT_BUSY__SHIFT 8
0584 static inline uint32_t AXXX_CP_STAT_EVENT_BUSY(uint32_t val)
0585 {
0586 return ((val) << AXXX_CP_STAT_EVENT_BUSY__SHIFT) & AXXX_CP_STAT_EVENT_BUSY__MASK;
0587 }
0588 #define AXXX_CP_STAT_CSF_INDIRECT2_BUSY__MASK 0x00000080
0589 #define AXXX_CP_STAT_CSF_INDIRECT2_BUSY__SHIFT 7
0590 static inline uint32_t AXXX_CP_STAT_CSF_INDIRECT2_BUSY(uint32_t val)
0591 {
0592 return ((val) << AXXX_CP_STAT_CSF_INDIRECT2_BUSY__SHIFT) & AXXX_CP_STAT_CSF_INDIRECT2_BUSY__MASK;
0593 }
0594 #define AXXX_CP_STAT_CSF_INDIRECTS_BUSY__MASK 0x00000040
0595 #define AXXX_CP_STAT_CSF_INDIRECTS_BUSY__SHIFT 6
0596 static inline uint32_t AXXX_CP_STAT_CSF_INDIRECTS_BUSY(uint32_t val)
0597 {
0598 return ((val) << AXXX_CP_STAT_CSF_INDIRECTS_BUSY__SHIFT) & AXXX_CP_STAT_CSF_INDIRECTS_BUSY__MASK;
0599 }
0600 #define AXXX_CP_STAT_CSF_RING_BUSY__MASK 0x00000020
0601 #define AXXX_CP_STAT_CSF_RING_BUSY__SHIFT 5
0602 static inline uint32_t AXXX_CP_STAT_CSF_RING_BUSY(uint32_t val)
0603 {
0604 return ((val) << AXXX_CP_STAT_CSF_RING_BUSY__SHIFT) & AXXX_CP_STAT_CSF_RING_BUSY__MASK;
0605 }
0606 #define AXXX_CP_STAT_RCIU_BUSY__MASK 0x00000010
0607 #define AXXX_CP_STAT_RCIU_BUSY__SHIFT 4
0608 static inline uint32_t AXXX_CP_STAT_RCIU_BUSY(uint32_t val)
0609 {
0610 return ((val) << AXXX_CP_STAT_RCIU_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_BUSY__MASK;
0611 }
0612 #define AXXX_CP_STAT_RBIU_BUSY__MASK 0x00000008
0613 #define AXXX_CP_STAT_RBIU_BUSY__SHIFT 3
0614 static inline uint32_t AXXX_CP_STAT_RBIU_BUSY(uint32_t val)
0615 {
0616 return ((val) << AXXX_CP_STAT_RBIU_BUSY__SHIFT) & AXXX_CP_STAT_RBIU_BUSY__MASK;
0617 }
0618 #define AXXX_CP_STAT_MIU_RD_RETURN_BUSY__MASK 0x00000004
0619 #define AXXX_CP_STAT_MIU_RD_RETURN_BUSY__SHIFT 2
0620 static inline uint32_t AXXX_CP_STAT_MIU_RD_RETURN_BUSY(uint32_t val)
0621 {
0622 return ((val) << AXXX_CP_STAT_MIU_RD_RETURN_BUSY__SHIFT) & AXXX_CP_STAT_MIU_RD_RETURN_BUSY__MASK;
0623 }
0624 #define AXXX_CP_STAT_MIU_RD_REQ_BUSY__MASK 0x00000002
0625 #define AXXX_CP_STAT_MIU_RD_REQ_BUSY__SHIFT 1
0626 static inline uint32_t AXXX_CP_STAT_MIU_RD_REQ_BUSY(uint32_t val)
0627 {
0628 return ((val) << AXXX_CP_STAT_MIU_RD_REQ_BUSY__SHIFT) & AXXX_CP_STAT_MIU_RD_REQ_BUSY__MASK;
0629 }
0630 #define AXXX_CP_STAT_MIU_WR_BUSY 0x00000001
0631
0632 #define REG_AXXX_CP_SCRATCH_REG0 0x00000578
0633
0634 #define REG_AXXX_CP_SCRATCH_REG1 0x00000579
0635
0636 #define REG_AXXX_CP_SCRATCH_REG2 0x0000057a
0637
0638 #define REG_AXXX_CP_SCRATCH_REG3 0x0000057b
0639
0640 #define REG_AXXX_CP_SCRATCH_REG4 0x0000057c
0641
0642 #define REG_AXXX_CP_SCRATCH_REG5 0x0000057d
0643
0644 #define REG_AXXX_CP_SCRATCH_REG6 0x0000057e
0645
0646 #define REG_AXXX_CP_SCRATCH_REG7 0x0000057f
0647
0648 #define REG_AXXX_CP_ME_VS_EVENT_SRC 0x00000600
0649
0650 #define REG_AXXX_CP_ME_VS_EVENT_ADDR 0x00000601
0651
0652 #define REG_AXXX_CP_ME_VS_EVENT_DATA 0x00000602
0653
0654 #define REG_AXXX_CP_ME_VS_EVENT_ADDR_SWM 0x00000603
0655
0656 #define REG_AXXX_CP_ME_VS_EVENT_DATA_SWM 0x00000604
0657
0658 #define REG_AXXX_CP_ME_PS_EVENT_SRC 0x00000605
0659
0660 #define REG_AXXX_CP_ME_PS_EVENT_ADDR 0x00000606
0661
0662 #define REG_AXXX_CP_ME_PS_EVENT_DATA 0x00000607
0663
0664 #define REG_AXXX_CP_ME_PS_EVENT_ADDR_SWM 0x00000608
0665
0666 #define REG_AXXX_CP_ME_PS_EVENT_DATA_SWM 0x00000609
0667
0668 #define REG_AXXX_CP_ME_CF_EVENT_SRC 0x0000060a
0669
0670 #define REG_AXXX_CP_ME_CF_EVENT_ADDR 0x0000060b
0671
0672 #define REG_AXXX_CP_ME_CF_EVENT_DATA 0x0000060c
0673
0674 #define REG_AXXX_CP_ME_NRT_ADDR 0x0000060d
0675
0676 #define REG_AXXX_CP_ME_NRT_DATA 0x0000060e
0677
0678 #define REG_AXXX_CP_ME_VS_FETCH_DONE_SRC 0x00000612
0679
0680 #define REG_AXXX_CP_ME_VS_FETCH_DONE_ADDR 0x00000613
0681
0682 #define REG_AXXX_CP_ME_VS_FETCH_DONE_DATA 0x00000614
0683
0684
0685 #endif