summaryrefslogtreecommitdiff
path: root/drivers/gpu/msm/a5xx_reg.h
blob: ef2861ca96dd52fb0534c086822b322513cfaccb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

#ifndef _A5XX_REG_H
#define _A5XX_REG_H

/* A5XX interrupt bits */
#define A5XX_INT_RBBM_GPU_IDLE           0
#define A5XX_INT_RBBM_AHB_ERROR          1
#define A5XX_INT_RBBM_TRANSFER_TIMEOUT   2
#define A5XX_INT_RBBM_ME_MS_TIMEOUT      3
#define A5XX_INT_RBBM_PFP_MS_TIMEOUT     4
#define A5XX_INT_RBBM_ETS_MS_TIMEOUT     5
#define A5XX_INT_RBBM_ATB_ASYNC_OVERFLOW 6
#define A5XX_INT_RBBM_GPC_ERROR          7
#define A5XX_INT_CP_SW                   8
#define A5XX_INT_CP_HW_ERROR             9
#define A5XX_INT_CP_CCU_FLUSH_DEPTH_TS   10
#define A5XX_INT_CP_CCU_FLUSH_COLOR_TS   11
#define A5XX_INT_CP_CCU_RESOLVE_TS       12
#define A5XX_INT_CP_IB2                  13
#define A5XX_INT_CP_IB1                  14
#define A5XX_INT_CP_RB                   15
#define A5XX_INT_CP_UNUSED_1             16
#define A5XX_INT_CP_RB_DONE_TS           17
#define A5XX_INT_CP_WT_DONE_TS           18
#define A5XX_INT_UNKNOWN_1               19
#define A5XX_INT_CP_CACHE_FLUSH_TS       20
#define A5XX_INT_UNUSED_2                21
#define A5XX_INT_RBBM_ATB_BUS_OVERFLOW   22
#define A5XX_INT_MISC_HANG_DETECT        23
#define A5XX_INT_UCHE_OOB_ACCESS         24
#define A5XX_INT_UCHE_TRAP_INTR          25
#define A5XX_INT_DEBBUS_INTR_0           26
#define A5XX_INT_DEBBUS_INTR_1           27
#define A5XX_INT_GPMU_VOLTAGE_DROOP      28
#define A5XX_INT_GPMU_FIRMWARE           29
#define A5XX_INT_ISDB_CPU_IRQ            30
#define A5XX_INT_ISDB_UNDER_DEBUG        31

/* CP Interrupt bits */
#define A5XX_CP_OPCODE_ERROR               0
#define A5XX_CP_RESERVED_BIT_ERROR         1
#define A5XX_CP_HW_FAULT_ERROR             2
#define A5XX_CP_DMA_ERROR                  3
#define A5XX_CP_REGISTER_PROTECTION_ERROR  4
#define A5XX_CP_AHB_ERROR                  5

/* CP registers */
#define A5XX_CP_RB_BASE                  0x800
#define A5XX_CP_RB_BASE_HI               0x801
#define A5XX_CP_RB_CNTL                  0x802
#define A5XX_CP_RB_RPTR_ADDR_LO          0x804
#define A5XX_CP_RB_RPTR_ADDR_HI          0x805
#define A5XX_CP_RB_RPTR                  0x806
#define A5XX_CP_RB_WPTR                  0x807
#define A5XX_CP_PFP_STAT_ADDR            0x808
#define A5XX_CP_PFP_STAT_DATA            0x809
#define A5XX_CP_DRAW_STATE_ADDR          0x80B
#define A5XX_CP_DRAW_STATE_DATA          0x80C
#define A5XX_CP_CRASH_SCRIPT_BASE_LO     0x817
#define A5XX_CP_CRASH_SCRIPT_BASE_HI     0x818
#define A5XX_CP_CRASH_DUMP_CNTL          0x819
#define A5XX_CP_ME_STAT_ADDR             0x81A
#define A5XX_CP_ROQ_THRESHOLDS_1         0x81F
#define A5XX_CP_ROQ_THRESHOLDS_2         0x820
#define A5XX_CP_ROQ_DBG_ADDR             0x821
#define A5XX_CP_ROQ_DBG_DATA             0x822
#define A5XX_CP_MEQ_DBG_ADDR             0x823
#define A5XX_CP_MEQ_DBG_DATA             0x824
#define A5XX_CP_MEQ_THRESHOLDS           0x825
#define A5XX_CP_MERCIU_SIZE              0x826
#define A5XX_CP_MERCIU_DBG_ADDR          0x827
#define A5XX_CP_MERCIU_DBG_DATA_1        0x828
#define A5XX_CP_MERCIU_DBG_DATA_2        0x829
#define A5XX_CP_PFP_UCODE_DBG_ADDR       0x82A
#define A5XX_CP_PFP_UCODE_DBG_DATA       0x82B
#define A5XX_CP_ME_UCODE_DBG_ADDR        0x82F
#define A5XX_CP_ME_UCODE_DBG_DATA        0x830
#define A5XX_CP_CNTL                     0x831
#define A5XX_CP_ME_CNTL                  0x832
#define A5XX_CP_CHICKEN_DBG              0x833
#define A5XX_CP_PFP_INSTR_BASE_LO        0x835
#define A5XX_CP_PFP_INSTR_BASE_HI        0x836
#define A5XX_CP_PM4_INSTR_BASE_LO        0x838
#define A5XX_CP_PM4_INSTR_BASE_HI        0x839
#define A5XX_CP_CONTEXT_SWITCH_CNTL      0x83B
#define A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_LO   0x83C
#define A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_HI   0x83D
#define A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_LO   0x83E
#define A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_HI   0x83F
#define A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO   0x840
#define A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI   0x841
#define A5XX_CP_ADDR_MODE_CNTL           0x860
#define A5XX_CP_ME_STAT_DATA             0xB14
#define A5XX_CP_WFI_PEND_CTR             0xB15
#define A5XX_CP_INTERRUPT_STATUS         0xB18
#define A5XX_CP_HW_FAULT                 0xB1A
#define A5XX_CP_PROTECT_STATUS           0xB1C
#define A5XX_CP_IB1_BASE                 0xB1F
#define A5XX_CP_IB1_BASE_HI              0xB20
#define A5XX_CP_IB1_BUFSZ                0xB21
#define A5XX_CP_IB2_BASE                 0xB22
#define A5XX_CP_IB2_BASE_HI              0xB23
#define A5XX_CP_IB2_BUFSZ                0xB24
#define A5XX_CP_PROTECT_REG_0            0x880
#define A5XX_CP_PROTECT_CNTL             0x8A0
#define A5XX_CP_AHB_FAULT                0xB1B
#define A5XX_CP_PERFCTR_CP_SEL_0         0xBB0
#define A5XX_CP_PERFCTR_CP_SEL_1         0xBB1
#define A5XX_CP_PERFCTR_CP_SEL_2         0xBB2
#define A5XX_CP_PERFCTR_CP_SEL_3         0xBB3
#define A5XX_CP_PERFCTR_CP_SEL_4         0xBB4
#define A5XX_CP_PERFCTR_CP_SEL_5         0xBB5
#define A5XX_CP_PERFCTR_CP_SEL_6         0xBB6
#define A5XX_CP_PERFCTR_CP_SEL_7         0xBB7

#define A5XX_VSC_ADDR_MODE_CNTL          0xBC1

/* CP Power Counter Registers Select */
#define A5XX_CP_POWERCTR_CP_SEL_0        0xBBA
#define A5XX_CP_POWERCTR_CP_SEL_1        0xBBB
#define A5XX_CP_POWERCTR_CP_SEL_2        0xBBC
#define A5XX_CP_POWERCTR_CP_SEL_3        0xBBD

/* RBBM registers */
#define A5XX_RBBM_CFG_DBGBUS_SEL_A               0x4
#define A5XX_RBBM_CFG_DBGBUS_SEL_B               0x5
#define A5XX_RBBM_CFG_DBGBUS_SEL_C               0x6
#define A5XX_RBBM_CFG_DBGBUS_SEL_D               0x7
#define A5XX_RBBM_CFG_DBGBUS_SEL_PING_INDEX_SHIFT    0x0
#define A5XX_RBBM_CFG_DBGBUS_SEL_PING_BLK_SEL_SHIFT  0x8

#define A5XX_RBBM_CFG_DBGBUS_CNTLT               0x8
#define A5XX_RBBM_CFG_DBGBUS_CNTLM               0x9
#define A5XX_RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT  0x18
#define A5XX_RBBM_CFG_DBGBUS_OPL                 0xA
#define A5XX_RBBM_CFG_DBGBUS_OPE                 0xB
#define A5XX_RBBM_CFG_DBGBUS_IVTL_0              0xC
#define A5XX_RBBM_CFG_DBGBUS_IVTL_1              0xD
#define A5XX_RBBM_CFG_DBGBUS_IVTL_2              0xE
#define A5XX_RBBM_CFG_DBGBUS_IVTL_3              0xF
#define A5XX_RBBM_CFG_DBGBUS_MASKL_0             0x10
#define A5XX_RBBM_CFG_DBGBUS_MASKL_1             0x11
#define A5XX_RBBM_CFG_DBGBUS_MASKL_2             0x12
#define A5XX_RBBM_CFG_DBGBUS_MASKL_3             0x13
#define A5XX_RBBM_CFG_DBGBUS_BYTEL_0             0x14
#define A5XX_RBBM_CFG_DBGBUS_BYTEL_1             0x15
#define A5XX_RBBM_CFG_DBGBUS_IVTE_0              0x16
#define A5XX_RBBM_CFG_DBGBUS_IVTE_1              0x17
#define A5XX_RBBM_CFG_DBGBUS_IVTE_2              0x18
#define A5XX_RBBM_CFG_DBGBUS_IVTE_3              0x19
#define A5XX_RBBM_CFG_DBGBUS_MASKE_0             0x1A
#define A5XX_RBBM_CFG_DBGBUS_MASKE_1             0x1B
#define A5XX_RBBM_CFG_DBGBUS_MASKE_2             0x1C
#define A5XX_RBBM_CFG_DBGBUS_MASKE_3             0x1D
#define A5XX_RBBM_CFG_DBGBUS_NIBBLEE             0x1E
#define A5XX_RBBM_CFG_DBGBUS_PTRC0               0x1F
#define A5XX_RBBM_CFG_DBGBUS_PTRC1               0x20
#define A5XX_RBBM_CFG_DBGBUS_LOADREG             0x21
#define A5XX_RBBM_CFG_DBGBUS_IDX                 0x22
#define A5XX_RBBM_CFG_DBGBUS_CLRC                0x23
#define A5XX_RBBM_CFG_DBGBUS_LOADIVT             0x24
#define A5XX_RBBM_INTERFACE_HANG_INT_CNTL        0x2F
#define A5XX_RBBM_INT_CLEAR_CMD                  0x37
#define A5XX_RBBM_INT_0_MASK                     0x38
#define A5XX_RBBM_AHB_DBG_CNTL                   0x3F
#define A5XX_RBBM_EXT_VBIF_DBG_CNTL              0x41
#define A5XX_RBBM_SW_RESET_CMD                   0x43
#define A5XX_RBBM_BLOCK_SW_RESET_CMD             0x45
#define A5XX_RBBM_BLOCK_SW_RESET_CMD2            0x46
#define A5XX_RBBM_DBG_LO_HI_GPIO                 0x48
#define A5XX_RBBM_EXT_TRACE_BUS_CNTL             0x49
#define A5XX_RBBM_CLOCK_CNTL_TP0                 0x4A
#define A5XX_RBBM_CLOCK_CNTL_TP1                 0x4B
#define A5XX_RBBM_CLOCK_CNTL_TP2                 0x4C
#define A5XX_RBBM_CLOCK_CNTL_TP3                 0x4D
#define A5XX_RBBM_CLOCK_CNTL2_TP0                0x4E
#define A5XX_RBBM_CLOCK_CNTL2_TP1                0x4F
#define A5XX_RBBM_CLOCK_CNTL2_TP2                0x50
#define A5XX_RBBM_CLOCK_CNTL2_TP3                0x51
#define A5XX_RBBM_CLOCK_CNTL3_TP0                0x52
#define A5XX_RBBM_CLOCK_CNTL3_TP1                0x53
#define A5XX_RBBM_CLOCK_CNTL3_TP2                0x54
#define A5XX_RBBM_CLOCK_CNTL3_TP3                0x55
#define A5XX_RBBM_READ_AHB_THROUGH_DBG           0x59
#define A5XX_RBBM_CLOCK_CNTL_UCHE                0x5A
#define A5XX_RBBM_CLOCK_CNTL2_UCHE               0x5B
#define A5XX_RBBM_CLOCK_CNTL3_UCHE               0x5C
#define A5XX_RBBM_CLOCK_CNTL4_UCHE               0x5D
#define A5XX_RBBM_CLOCK_HYST_UCHE                0x5E
#define A5XX_RBBM_CLOCK_DELAY_UCHE               0x5F
#define A5XX_RBBM_CLOCK_MODE_GPC                 0x60
#define A5XX_RBBM_CLOCK_DELAY_GPC                0x61
#define A5XX_RBBM_CLOCK_HYST_GPC                 0x62
#define A5XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM        0x63
#define A5XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM        0x64
#define A5XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM       0x65
#define A5XX_RBBM_CLOCK_DELAY_HLSQ               0x66
#define A5XX_RBBM_CLOCK_CNTL                     0x67
#define A5XX_RBBM_CLOCK_CNTL_SP0                 0x68
#define A5XX_RBBM_CLOCK_CNTL_SP1                 0x69
#define A5XX_RBBM_CLOCK_CNTL_SP2                 0x6A
#define A5XX_RBBM_CLOCK_CNTL_SP3                 0x6B
#define A5XX_RBBM_CLOCK_CNTL2_SP0                0x6C
#define A5XX_RBBM_CLOCK_CNTL2_SP1                0x6D
#define A5XX_RBBM_CLOCK_CNTL2_SP2                0x6E
#define A5XX_RBBM_CLOCK_CNTL2_SP3                0x6F
#define A5XX_RBBM_CLOCK_HYST_SP0                 0x70
#define A5XX_RBBM_CLOCK_HYST_SP1                 0x71
#define A5XX_RBBM_CLOCK_HYST_SP2                 0x72
#define A5XX_RBBM_CLOCK_HYST_SP3                 0x73
#define A5XX_RBBM_CLOCK_DELAY_SP0                0x74
#define A5XX_RBBM_CLOCK_DELAY_SP1                0x75
#define A5XX_RBBM_CLOCK_DELAY_SP2                0x76
#define A5XX_RBBM_CLOCK_DELAY_SP3                0x77
#define A5XX_RBBM_CLOCK_CNTL_RB0                 0x78
#define A5XX_RBBM_CLOCK_CNTL_RB1                 0x79
#define A5XX_RBBM_CLOCK_CNTL_RB2                 0x7a
#define A5XX_RBBM_CLOCK_CNTL_RB3                 0x7B
#define A5XX_RBBM_CLOCK_CNTL2_RB0                0x7C
#define A5XX_RBBM_CLOCK_CNTL2_RB1                0x7D
#define A5XX_RBBM_CLOCK_CNTL2_RB2                0x7E
#define A5XX_RBBM_CLOCK_CNTL2_RB3                0x7F
#define A5XX_RBBM_CLOCK_HYST_RAC                 0x80
#define A5XX_RBBM_CLOCK_DELAY_RAC                0x81
#define A5XX_RBBM_CLOCK_CNTL_CCU0                0x82
#define A5XX_RBBM_CLOCK_CNTL_CCU1                0x83
#define A5XX_RBBM_CLOCK_CNTL_CCU2                0x84
#define A5XX_RBBM_CLOCK_CNTL_CCU3                0x85
#define A5XX_RBBM_CLOCK_HYST_RB_CCU0             0x86
#define A5XX_RBBM_CLOCK_HYST_RB_CCU1             0x87
#define A5XX_RBBM_CLOCK_HYST_RB_CCU2             0x88
#define A5XX_RBBM_CLOCK_HYST_RB_CCU3             0x89
#define A5XX_RBBM_CLOCK_CNTL_RAC                 0x8A
#define A5XX_RBBM_CLOCK_CNTL2_RAC                0x8B
#define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_0        0x8C
#define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_1        0x8D
#define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_2        0x8E
#define A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_3        0x8F
#define A5XX_RBBM_CLOCK_HYST_VFD                 0x90
#define A5XX_RBBM_CLOCK_MODE_VFD                 0x91
#define A5XX_RBBM_CLOCK_DELAY_VFD                0x92
#define A5XX_RBBM_AHB_CNTL0                      0x93
#define A5XX_RBBM_AHB_CNTL1                      0x94
#define A5XX_RBBM_AHB_CNTL2                      0x95
#define A5XX_RBBM_AHB_CMD                        0x96
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL11     0x9C
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL12     0x9D
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL13     0x9E
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL14     0x9F
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL15     0xA0
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL16     0xA1
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL17     0xA2
#define A5XX_RBBM_INTERFACE_HANG_MASK_CNTL18     0xA3
#define A5XX_RBBM_CLOCK_DELAY_TP0                0xA4
#define A5XX_RBBM_CLOCK_DELAY_TP1                0xA5
#define A5XX_RBBM_CLOCK_DELAY_TP2                0xA6
#define A5XX_RBBM_CLOCK_DELAY_TP3                0xA7
#define A5XX_RBBM_CLOCK_DELAY2_TP0               0xA8
#define A5XX_RBBM_CLOCK_DELAY2_TP1               0xA9
#define A5XX_RBBM_CLOCK_DELAY2_TP2               0xAA
#define A5XX_RBBM_CLOCK_DELAY2_TP3               0xAB
#define A5XX_RBBM_CLOCK_DELAY3_TP0               0xAC
#define A5XX_RBBM_CLOCK_DELAY3_TP1               0xAD
#define A5XX_RBBM_CLOCK_DELAY3_TP2               0xAE
#define A5XX_RBBM_CLOCK_DELAY3_TP3               0xAF
#define A5XX_RBBM_CLOCK_HYST_TP0                 0xB0
#define A5XX_RBBM_CLOCK_HYST_TP1                 0xB1
#define A5XX_RBBM_CLOCK_HYST_TP2                 0xB2
#define A5XX_RBBM_CLOCK_HYST_TP3                 0xB3
#define A5XX_RBBM_CLOCK_HYST2_TP0                0xB4
#define A5XX_RBBM_CLOCK_HYST2_TP1                0xB5
#define A5XX_RBBM_CLOCK_HYST2_TP2                0xB6
#define A5XX_RBBM_CLOCK_HYST2_TP3                0xB7
#define A5XX_RBBM_CLOCK_HYST3_TP0                0xB8
#define A5XX_RBBM_CLOCK_HYST3_TP1                0xB9
#define A5XX_RBBM_CLOCK_HYST3_TP2                0xBA
#define A5XX_RBBM_CLOCK_HYST3_TP3                0xBB
#define A5XX_RBBM_CLOCK_CNTL_GPMU                0xC8
#define A5XX_RBBM_CLOCK_DELAY_GPMU               0xC9
#define A5XX_RBBM_CLOCK_HYST_GPMU                0xCA
#define A5XX_RBBM_PERFCTR_CP_0_LO                0x3A0
#define A5XX_RBBM_PERFCTR_CP_0_HI                0x3A1
#define A5XX_RBBM_PERFCTR_CP_1_LO                0x3A2
#define A5XX_RBBM_PERFCTR_CP_1_HI                0x3A3
#define A5XX_RBBM_PERFCTR_CP_2_LO                0x3A4
#define A5XX_RBBM_PERFCTR_CP_2_HI                0x3A5
#define A5XX_RBBM_PERFCTR_CP_3_LO                0x3A6
#define A5XX_RBBM_PERFCTR_CP_3_HI                0x3A7
#define A5XX_RBBM_PERFCTR_CP_4_LO                0x3A8
#define A5XX_RBBM_PERFCTR_CP_4_HI                0x3A9
#define A5XX_RBBM_PERFCTR_CP_5_LO                0x3AA
#define A5XX_RBBM_PERFCTR_CP_5_HI                0x3AB
#define A5XX_RBBM_PERFCTR_CP_6_LO                0x3AC
#define A5XX_RBBM_PERFCTR_CP_6_HI                0x3AD
#define A5XX_RBBM_PERFCTR_CP_7_LO                0x3AE
#define A5XX_RBBM_PERFCTR_CP_7_HI                0x3AF
#define A5XX_RBBM_PERFCTR_RBBM_0_LO              0x3B0
#define A5XX_RBBM_PERFCTR_RBBM_0_HI              0x3B1
#define A5XX_RBBM_PERFCTR_RBBM_1_LO              0x3B2
#define A5XX_RBBM_PERFCTR_RBBM_1_HI              0x3B3
#define A5XX_RBBM_PERFCTR_RBBM_2_LO              0x3B4
#define A5XX_RBBM_PERFCTR_RBBM_2_HI              0x3B5
#define A5XX_RBBM_PERFCTR_RBBM_3_LO              0x3B6
#define A5XX_RBBM_PERFCTR_RBBM_3_HI              0x3B7
#define A5XX_RBBM_PERFCTR_PC_0_LO                0x3B8
#define A5XX_RBBM_PERFCTR_PC_0_HI                0x3B9
#define A5XX_RBBM_PERFCTR_PC_1_LO                0x3BA
#define A5XX_RBBM_PERFCTR_PC_1_HI                0x3BB
#define A5XX_RBBM_PERFCTR_PC_2_LO                0x3BC
#define A5XX_RBBM_PERFCTR_PC_2_HI                0x3BD
#define A5XX_RBBM_PERFCTR_PC_3_LO                0x3BE
#define A5XX_RBBM_PERFCTR_PC_3_HI                0x3BF
#define A5XX_RBBM_PERFCTR_PC_4_LO                0x3C0
#define A5XX_RBBM_PERFCTR_PC_4_HI                0x3C1
#define A5XX_RBBM_PERFCTR_PC_5_LO                0x3C2
#define A5XX_RBBM_PERFCTR_PC_5_HI                0x3C3
#define A5XX_RBBM_PERFCTR_PC_6_LO                0x3C4
#define A5XX_RBBM_PERFCTR_PC_6_HI                0x3C5
#define A5XX_RBBM_PERFCTR_PC_7_LO                0x3C6
#define A5XX_RBBM_PERFCTR_PC_7_HI                0x3C7
#define A5XX_RBBM_PERFCTR_VFD_0_LO               0x3C8
#define A5XX_RBBM_PERFCTR_VFD_0_HI               0x3C9
#define A5XX_RBBM_PERFCTR_VFD_1_LO               0x3CA
#define A5XX_RBBM_PERFCTR_VFD_1_HI               0x3CB
#define A5XX_RBBM_PERFCTR_VFD_2_LO               0x3CC
#define A5XX_RBBM_PERFCTR_VFD_2_HI               0x3CD
#define A5XX_RBBM_PERFCTR_VFD_3_LO               0x3CE
#define A5XX_RBBM_PERFCTR_VFD_3_HI               0x3CF
#define A5XX_RBBM_PERFCTR_VFD_4_LO               0x3D0
#define A5XX_RBBM_PERFCTR_VFD_4_HI               0x3D1
#define A5XX_RBBM_PERFCTR_VFD_5_LO               0x3D2
#define A5XX_RBBM_PERFCTR_VFD_5_HI               0x3D3
#define A5XX_RBBM_PERFCTR_VFD_6_LO               0x3D4
#define A5XX_RBBM_PERFCTR_VFD_6_HI               0x3D5
#define A5XX_RBBM_PERFCTR_VFD_7_LO               0x3D6
#define A5XX_RBBM_PERFCTR_VFD_7_HI               0x3D7
#define A5XX_RBBM_PERFCTR_HLSQ_0_LO              0x3D8
#define A5XX_RBBM_PERFCTR_HLSQ_0_HI              0x3D9
#define A5XX_RBBM_PERFCTR_HLSQ_1_LO              0x3DA
#define A5XX_RBBM_PERFCTR_HLSQ_1_HI              0x3DB
#define A5XX_RBBM_PERFCTR_HLSQ_2_LO              0x3DC
#define A5XX_RBBM_PERFCTR_HLSQ_2_HI              0x3DD
#define A5XX_RBBM_PERFCTR_HLSQ_3_LO              0x3DE
#define A5XX_RBBM_PERFCTR_HLSQ_3_HI              0x3DF
#define A5XX_RBBM_PERFCTR_HLSQ_4_LO              0x3E0
#define A5XX_RBBM_PERFCTR_HLSQ_4_HI              0x3E1
#define A5XX_RBBM_PERFCTR_HLSQ_5_LO              0x3E2
#define A5XX_RBBM_PERFCTR_HLSQ_5_HI              0x3E3
#define A5XX_RBBM_PERFCTR_HLSQ_6_LO              0x3E4
#define A5XX_RBBM_PERFCTR_HLSQ_6_HI              0x3E5
#define A5XX_RBBM_PERFCTR_HLSQ_7_LO              0x3E6
#define A5XX_RBBM_PERFCTR_HLSQ_7_HI              0x3E7
#define A5XX_RBBM_PERFCTR_VPC_0_LO               0x3E8
#define A5XX_RBBM_PERFCTR_VPC_0_HI               0x3E9
#define A5XX_RBBM_PERFCTR_VPC_1_LO               0x3EA
#define A5XX_RBBM_PERFCTR_VPC_1_HI               0x3EB
#define A5XX_RBBM_PERFCTR_VPC_2_LO               0x3EC
#define A5XX_RBBM_PERFCTR_VPC_2_HI               0x3ED
#define A5XX_RBBM_PERFCTR_VPC_3_LO               0x3EE
#define A5XX_RBBM_PERFCTR_VPC_3_HI               0x3EF
#define A5XX_RBBM_PERFCTR_CCU_0_LO               0x3F0
#define A5XX_RBBM_PERFCTR_CCU_0_HI               0x3F1
#define A5XX_RBBM_PERFCTR_CCU_1_LO               0x3F2
#define A5XX_RBBM_PERFCTR_CCU_1_HI               0x3F3
#define A5XX_RBBM_PERFCTR_CCU_2_LO               0x3F4
#define A5XX_RBBM_PERFCTR_CCU_2_HI               0x3F5
#define A5XX_RBBM_PERFCTR_CCU_3_LO               0x3F6
#define A5XX_RBBM_PERFCTR_CCU_3_HI               0x3F7
#define A5XX_RBBM_PERFCTR_TSE_0_LO               0x3F8
#define A5XX_RBBM_PERFCTR_TSE_0_HI               0x3F9
#define A5XX_RBBM_PERFCTR_TSE_1_LO               0x3FA
#define A5XX_RBBM_PERFCTR_TSE_1_HI               0x3FB
#define A5XX_RBBM_PERFCTR_TSE_2_LO               0x3FC
#define A5XX_RBBM_PERFCTR_TSE_2_HI               0x3FD
#define A5XX_RBBM_PERFCTR_TSE_3_LO               0x3FE
#define A5XX_RBBM_PERFCTR_TSE_3_HI               0x3FF
#define A5XX_RBBM_PERFCTR_RAS_0_LO               0x400
#define A5XX_RBBM_PERFCTR_RAS_0_HI               0x401
#define A5XX_RBBM_PERFCTR_RAS_1_LO               0x402
#define A5XX_RBBM_PERFCTR_RAS_1_HI               0x403
#define A5XX_RBBM_PERFCTR_RAS_2_LO               0x404
#define A5XX_RBBM_PERFCTR_RAS_2_HI               0x405
#define A5XX_RBBM_PERFCTR_RAS_3_LO               0x406
#define A5XX_RBBM_PERFCTR_RAS_3_HI               0x407
#define A5XX_RBBM_PERFCTR_UCHE_0_LO              0x408
#define A5XX_RBBM_PERFCTR_UCHE_0_HI              0x409
#define A5XX_RBBM_PERFCTR_UCHE_1_LO              0x40A
#define A5XX_RBBM_PERFCTR_UCHE_1_HI              0x40B
#define A5XX_RBBM_PERFCTR_UCHE_2_LO              0x40C
#define A5XX_RBBM_PERFCTR_UCHE_2_HI              0x40D
#define A5XX_RBBM_PERFCTR_UCHE_3_LO              0x40E
#define A5XX_RBBM_PERFCTR_UCHE_3_HI              0x40F
#define A5XX_RBBM_PERFCTR_UCHE_4_LO              0x410
#define A5XX_RBBM_PERFCTR_UCHE_4_HI              0x411
#define A5XX_RBBM_PERFCTR_UCHE_5_LO              0x412
#define A5XX_RBBM_PERFCTR_UCHE_5_HI              0x413
#define A5XX_RBBM_PERFCTR_UCHE_6_LO              0x414
#define A5XX_RBBM_PERFCTR_UCHE_6_HI              0x415
#define A5XX_RBBM_PERFCTR_UCHE_7_LO              0x416
#define A5XX_RBBM_PERFCTR_UCHE_7_HI              0x417
#define A5XX_RBBM_PERFCTR_TP_0_LO                0x418
#define A5XX_RBBM_PERFCTR_TP_0_HI                0x419
#define A5XX_RBBM_PERFCTR_TP_1_LO                0x41A
#define A5XX_RBBM_PERFCTR_TP_1_HI                0x41B
#define A5XX_RBBM_PERFCTR_TP_2_LO                0x41C
#define A5XX_RBBM_PERFCTR_TP_2_HI                0x41D
#define A5XX_RBBM_PERFCTR_TP_3_LO                0x41E
#define A5XX_RBBM_PERFCTR_TP_3_HI                0x41F
#define A5XX_RBBM_PERFCTR_TP_4_LO                0x420
#define A5XX_RBBM_PERFCTR_TP_4_HI                0x421
#define A5XX_RBBM_PERFCTR_TP_5_LO                0x422
#define A5XX_RBBM_PERFCTR_TP_5_HI                0x423
#define A5XX_RBBM_PERFCTR_TP_6_LO                0x424
#define A5XX_RBBM_PERFCTR_TP_6_HI                0x425
#define A5XX_RBBM_PERFCTR_TP_7_LO                0x426
#define A5XX_RBBM_PERFCTR_TP_7_HI                0x427
#define A5XX_RBBM_PERFCTR_SP_0_LO                0x428
#define A5XX_RBBM_PERFCTR_SP_0_HI                0x429
#define A5XX_RBBM_PERFCTR_SP_1_LO                0x42A
#define A5XX_RBBM_PERFCTR_SP_1_HI                0x42B
#define A5XX_RBBM_PERFCTR_SP_2_LO                0x42C
#define A5XX_RBBM_PERFCTR_SP_2_HI                0x42D
#define A5XX_RBBM_PERFCTR_SP_3_LO                0x42E
#define A5XX_RBBM_PERFCTR_SP_3_HI                0x42F
#define A5XX_RBBM_PERFCTR_SP_4_LO                0x430
#define A5XX_RBBM_PERFCTR_SP_4_HI                0x431
#define A5XX_RBBM_PERFCTR_SP_5_LO                0x432
#define A5XX_RBBM_PERFCTR_SP_5_HI                0x433
#define A5XX_RBBM_PERFCTR_SP_6_LO                0x434
#define A5XX_RBBM_PERFCTR_SP_6_HI                0x435
#define A5XX_RBBM_PERFCTR_SP_7_LO                0x436
#define A5XX_RBBM_PERFCTR_SP_7_HI                0x437
#define A5XX_RBBM_PERFCTR_SP_8_LO                0x438
#define A5XX_RBBM_PERFCTR_SP_8_HI                0x439
#define A5XX_RBBM_PERFCTR_SP_9_LO                0x43A
#define A5XX_RBBM_PERFCTR_SP_9_HI                0x43B
#define A5XX_RBBM_PERFCTR_SP_10_LO               0x43C
#define A5XX_RBBM_PERFCTR_SP_10_HI               0x43D
#define A5XX_RBBM_PERFCTR_SP_11_LO               0x43E
#define A5XX_RBBM_PERFCTR_SP_11_HI               0x43F
#define A5XX_RBBM_PERFCTR_RB_0_LO                0x440
#define A5XX_RBBM_PERFCTR_RB_0_HI                0x441
#define A5XX_RBBM_PERFCTR_RB_1_LO                0x442
#define A5XX_RBBM_PERFCTR_RB_1_HI                0x443
#define A5XX_RBBM_PERFCTR_RB_2_LO                0x444
#define A5XX_RBBM_PERFCTR_RB_2_HI                0x445
#define A5XX_RBBM_PERFCTR_RB_3_LO                0x446
#define A5XX_RBBM_PERFCTR_RB_3_HI                0x447
#define A5XX_RBBM_PERFCTR_RB_4_LO                0x448
#define A5XX_RBBM_PERFCTR_RB_4_HI                0x449
#define A5XX_RBBM_PERFCTR_RB_5_LO                0x44A
#define A5XX_RBBM_PERFCTR_RB_5_HI                0x44B
#define A5XX_RBBM_PERFCTR_RB_6_LO                0x44C
#define A5XX_RBBM_PERFCTR_RB_6_HI                0x44D
#define A5XX_RBBM_PERFCTR_RB_7_LO                0x44E
#define A5XX_RBBM_PERFCTR_RB_7_HI                0x44F
#define A5XX_RBBM_PERFCTR_VSC_0_LO               0x450
#define A5XX_RBBM_PERFCTR_VSC_0_HI               0x451
#define A5XX_RBBM_PERFCTR_VSC_1_LO               0x452
#define A5XX_RBBM_PERFCTR_VSC_1_HI               0x453
#define A5XX_RBBM_PERFCTR_LRZ_0_LO               0x454
#define A5XX_RBBM_PERFCTR_LRZ_0_HI               0x455
#define A5XX_RBBM_PERFCTR_LRZ_1_LO               0x456
#define A5XX_RBBM_PERFCTR_LRZ_1_HI               0x457
#define A5XX_RBBM_PERFCTR_LRZ_2_LO               0x458
#define A5XX_RBBM_PERFCTR_LRZ_2_HI               0x459
#define A5XX_RBBM_PERFCTR_LRZ_3_LO               0x45A
#define A5XX_RBBM_PERFCTR_LRZ_3_HI               0x45B
#define A5XX_RBBM_PERFCTR_CMP_0_LO               0x45C
#define A5XX_RBBM_PERFCTR_CMP_0_HI               0x45D
#define A5XX_RBBM_PERFCTR_CMP_1_LO               0x45E
#define A5XX_RBBM_PERFCTR_CMP_1_HI               0x45F
#define A5XX_RBBM_PERFCTR_CMP_2_LO               0x460
#define A5XX_RBBM_PERFCTR_CMP_2_HI               0x461
#define A5XX_RBBM_PERFCTR_CMP_3_LO               0x462
#define A5XX_RBBM_PERFCTR_CMP_3_HI               0x463
#define A5XX_RBBM_PERFCTR_RBBM_SEL_0             0x46B
#define A5XX_RBBM_PERFCTR_RBBM_SEL_1             0x46C
#define A5XX_RBBM_PERFCTR_RBBM_SEL_2             0x46D
#define A5XX_RBBM_PERFCTR_RBBM_SEL_3             0x46E
#define A5XX_RBBM_ALWAYSON_COUNTER_LO            0x4D2
#define A5XX_RBBM_ALWAYSON_COUNTER_HI            0x4D3
#define A5XX_RBBM_STATUS                         0x4F5
#define A5XX_RBBM_STATUS3                        0x530
#define A5XX_RBBM_INT_0_STATUS                   0x4E1
#define A5XX_RBBM_AHB_ME_SPLIT_STATUS            0x4F0
#define A5XX_RBBM_AHB_PFP_SPLIT_STATUS           0x4F1
#define A5XX_RBBM_AHB_ERROR_STATUS               0x4F4
#define A5XX_RBBM_PERFCTR_CNTL                   0x464
#define A5XX_RBBM_PERFCTR_LOAD_CMD0              0x465
#define A5XX_RBBM_PERFCTR_LOAD_CMD1              0x466
#define A5XX_RBBM_PERFCTR_LOAD_CMD2              0x467
#define A5XX_RBBM_PERFCTR_LOAD_CMD3              0x468
#define A5XX_RBBM_PERFCTR_LOAD_VALUE_LO          0x469
#define A5XX_RBBM_PERFCTR_LOAD_VALUE_HI          0x46A
#define A5XX_RBBM_PERFCTR_RBBM_SEL_0             0x46B
#define A5XX_RBBM_PERFCTR_RBBM_SEL_1             0x46C
#define A5XX_RBBM_PERFCTR_RBBM_SEL_2             0x46D
#define A5XX_RBBM_PERFCTR_RBBM_SEL_3             0x46E
#define A5XX_RBBM_PERFCTR_GPU_BUSY_MASKED        0x46F
#define A5XX_RBBM_CFG_DBGBUS_EVENT_LOGIC         0x504
#define A5XX_RBBM_CFG_DBGBUS_OVER                0x505
#define A5XX_RBBM_CFG_DBGBUS_COUNT0              0x506
#define A5XX_RBBM_CFG_DBGBUS_COUNT1              0x507
#define A5XX_RBBM_CFG_DBGBUS_COUNT2              0x508
#define A5XX_RBBM_CFG_DBGBUS_COUNT3              0x509
#define A5XX_RBBM_CFG_DBGBUS_COUNT4              0x50A
#define A5XX_RBBM_CFG_DBGBUS_COUNT5              0x50B
#define A5XX_RBBM_CFG_DBGBUS_TRACE_ADDR          0x50C
#define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF0          0x50D
#define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF1          0x50E
#define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF2          0x50F
#define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF3          0x510
#define A5XX_RBBM_CFG_DBGBUS_TRACE_BUF4          0x511
#define A5XX_RBBM_CFG_DBGBUS_MISR0               0x512
#define A5XX_RBBM_CFG_DBGBUS_MISR1               0x513
#define A5XX_RBBM_ISDB_CNT                       0x533
#define A5XX_RBBM_SECVID_TRUST_CONFIG            0xF000
#define A5XX_RBBM_SECVID_TRUST_CNTL              0xF400
#define A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO     0xF800
#define A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI     0xF801
#define A5XX_RBBM_SECVID_TSB_TRUSTED_SIZE        0xF802
#define A5XX_RBBM_SECVID_TSB_CNTL                0xF803
#define A5XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL      0xF810

/* VSC registers */
#define A5XX_VSC_PERFCTR_VSC_SEL_0          0xC60
#define A5XX_VSC_PERFCTR_VSC_SEL_1          0xC61

#define A5XX_GRAS_ADDR_MODE_CNTL            0xC81

/* TSE registers */
#define A5XX_GRAS_PERFCTR_TSE_SEL_0         0xC90
#define A5XX_GRAS_PERFCTR_TSE_SEL_1         0xC91
#define A5XX_GRAS_PERFCTR_TSE_SEL_2         0xC92
#define A5XX_GRAS_PERFCTR_TSE_SEL_3         0xC93

/* RAS registers */
#define A5XX_GRAS_PERFCTR_RAS_SEL_0         0xC94
#define A5XX_GRAS_PERFCTR_RAS_SEL_1         0xC95
#define A5XX_GRAS_PERFCTR_RAS_SEL_2         0xC96
#define A5XX_GRAS_PERFCTR_RAS_SEL_3         0xC97

/* LRZ registers */
#define A5XX_GRAS_PERFCTR_LRZ_SEL_0         0xC98
#define A5XX_GRAS_PERFCTR_LRZ_SEL_1         0xC99
#define A5XX_GRAS_PERFCTR_LRZ_SEL_2         0xC9A
#define A5XX_GRAS_PERFCTR_LRZ_SEL_3         0xC9B


/* RB registers */
#define A5XX_RB_DBG_ECO_CNT                 0xCC4
#define A5XX_RB_ADDR_MODE_CNTL              0xCC5
#define A5XX_RB_MODE_CNTL                   0xCC6
#define A5XX_RB_PERFCTR_RB_SEL_0            0xCD0
#define A5XX_RB_PERFCTR_RB_SEL_1            0xCD1
#define A5XX_RB_PERFCTR_RB_SEL_2            0xCD2
#define A5XX_RB_PERFCTR_RB_SEL_3            0xCD3
#define A5XX_RB_PERFCTR_RB_SEL_4            0xCD4
#define A5XX_RB_PERFCTR_RB_SEL_5            0xCD5
#define A5XX_RB_PERFCTR_RB_SEL_6            0xCD6
#define A5XX_RB_PERFCTR_RB_SEL_7            0xCD7

/* CCU registers */
#define A5XX_RB_PERFCTR_CCU_SEL_0           0xCD8
#define A5XX_RB_PERFCTR_CCU_SEL_1           0xCD9
#define A5XX_RB_PERFCTR_CCU_SEL_2           0xCDA
#define A5XX_RB_PERFCTR_CCU_SEL_3           0xCDB

/* RB Power Counter RB Registers Select */
#define A5XX_RB_POWERCTR_RB_SEL_0           0xCE0
#define A5XX_RB_POWERCTR_RB_SEL_1           0xCE1
#define A5XX_RB_POWERCTR_RB_SEL_2           0xCE2
#define A5XX_RB_POWERCTR_RB_SEL_3           0xCE3

/* RB Power Counter CCU Registers Select */
#define A5XX_RB_POWERCTR_CCU_SEL_0          0xCE4
#define A5XX_RB_POWERCTR_CCU_SEL_1          0xCE5

/* CMP registers */
#define A5XX_RB_PERFCTR_CMP_SEL_0           0xCEC
#define A5XX_RB_PERFCTR_CMP_SEL_1           0xCED
#define A5XX_RB_PERFCTR_CMP_SEL_2           0xCEE
#define A5XX_RB_PERFCTR_CMP_SEL_3           0xCEF

/* PC registers */
#define A5XX_PC_DBG_ECO_CNTL                0xD00
#define A5XX_PC_ADDR_MODE_CNTL              0xD01
#define A5XX_PC_PERFCTR_PC_SEL_0            0xD10
#define A5XX_PC_PERFCTR_PC_SEL_1            0xD11
#define A5XX_PC_PERFCTR_PC_SEL_2            0xD12
#define A5XX_PC_PERFCTR_PC_SEL_3            0xD13
#define A5XX_PC_PERFCTR_PC_SEL_4            0xD14
#define A5XX_PC_PERFCTR_PC_SEL_5            0xD15
#define A5XX_PC_PERFCTR_PC_SEL_6            0xD16
#define A5XX_PC_PERFCTR_PC_SEL_7            0xD17

/* HLSQ registers */
#define A5XX_HLSQ_DBG_ECO_CNTL		    0xE04
#define A5XX_HLSQ_ADDR_MODE_CNTL            0xE05
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_0        0xE10
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_1        0xE11
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_2        0xE12
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_3        0xE13
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_4        0xE14
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_5        0xE15
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_6        0xE16
#define A5XX_HLSQ_PERFCTR_HLSQ_SEL_7        0xE17
#define A5XX_HLSQ_DBG_READ_SEL              0xBC00
#define A5XX_HLSQ_DBG_AHB_READ_APERTURE     0xA000

/* VFD registers */
#define A5XX_VFD_ADDR_MODE_CNTL             0xE41
#define A5XX_VFD_PERFCTR_VFD_SEL_0          0xE50
#define A5XX_VFD_PERFCTR_VFD_SEL_1          0xE51
#define A5XX_VFD_PERFCTR_VFD_SEL_2          0xE52
#define A5XX_VFD_PERFCTR_VFD_SEL_3          0xE53
#define A5XX_VFD_PERFCTR_VFD_SEL_4          0xE54
#define A5XX_VFD_PERFCTR_VFD_SEL_5          0xE55
#define A5XX_VFD_PERFCTR_VFD_SEL_6          0xE56
#define A5XX_VFD_PERFCTR_VFD_SEL_7          0xE57

/* VPC registers */
#define A5XX_VPC_DBG_ECO_CNTL		    0xE60
#define A5XX_VPC_ADDR_MODE_CNTL             0xE61
#define A5XX_VPC_PERFCTR_VPC_SEL_0          0xE64
#define A5XX_VPC_PERFCTR_VPC_SEL_1          0xE65
#define A5XX_VPC_PERFCTR_VPC_SEL_2          0xE66
#define A5XX_VPC_PERFCTR_VPC_SEL_3          0xE67

/* UCHE registers */
#define A5XX_UCHE_ADDR_MODE_CNTL            0xE80
#define A5XX_UCHE_MODE_CNTL                 0xE81
#define A5XX_UCHE_WRITE_THRU_BASE_LO        0xE87
#define A5XX_UCHE_WRITE_THRU_BASE_HI        0xE88
#define A5XX_UCHE_TRAP_BASE_LO              0xE89
#define A5XX_UCHE_TRAP_BASE_HI              0xE8A
#define A5XX_UCHE_GMEM_RANGE_MIN_LO         0xE8B
#define A5XX_UCHE_GMEM_RANGE_MIN_HI         0xE8C
#define A5XX_UCHE_GMEM_RANGE_MAX_LO         0xE8D
#define A5XX_UCHE_GMEM_RANGE_MAX_HI         0xE8E
#define A5XX_UCHE_DBG_ECO_CNTL_2            0xE8F
#define A5XX_UCHE_INVALIDATE0               0xE95
#define A5XX_UCHE_CACHE_WAYS                0xE96
#define A5XX_UCHE_PERFCTR_UCHE_SEL_0        0xEA0
#define A5XX_UCHE_PERFCTR_UCHE_SEL_1        0xEA1
#define A5XX_UCHE_PERFCTR_UCHE_SEL_2        0xEA2
#define A5XX_UCHE_PERFCTR_UCHE_SEL_3        0xEA3
#define A5XX_UCHE_PERFCTR_UCHE_SEL_4        0xEA4
#define A5XX_UCHE_PERFCTR_UCHE_SEL_5        0xEA5
#define A5XX_UCHE_PERFCTR_UCHE_SEL_6        0xEA6
#define A5XX_UCHE_PERFCTR_UCHE_SEL_7        0xEA7

/* UCHE Power Counter UCHE Registers Select */
#define A5XX_UCHE_POWERCTR_UCHE_SEL_0       0xEA8
#define A5XX_UCHE_POWERCTR_UCHE_SEL_1       0xEA9
#define A5XX_UCHE_POWERCTR_UCHE_SEL_2       0xEAA
#define A5XX_UCHE_POWERCTR_UCHE_SEL_3       0xEAB

/* SP registers */
#define A5XX_SP_DBG_ECO_CNTL                0xEC0
#define A5XX_SP_ADDR_MODE_CNTL              0xEC1
#define A5XX_SP_PERFCTR_SP_SEL_0            0xED0
#define A5XX_SP_PERFCTR_SP_SEL_1            0xED1
#define A5XX_SP_PERFCTR_SP_SEL_2            0xED2
#define A5XX_SP_PERFCTR_SP_SEL_3            0xED3
#define A5XX_SP_PERFCTR_SP_SEL_4            0xED4
#define A5XX_SP_PERFCTR_SP_SEL_5            0xED5
#define A5XX_SP_PERFCTR_SP_SEL_6            0xED6
#define A5XX_SP_PERFCTR_SP_SEL_7            0xED7
#define A5XX_SP_PERFCTR_SP_SEL_8            0xED8
#define A5XX_SP_PERFCTR_SP_SEL_9            0xED9
#define A5XX_SP_PERFCTR_SP_SEL_10           0xEDA
#define A5XX_SP_PERFCTR_SP_SEL_11           0xEDB

/* SP Power Counter SP Registers Select */
#define A5XX_SP_POWERCTR_SP_SEL_0           0xEDC
#define A5XX_SP_POWERCTR_SP_SEL_1           0xEDD
#define A5XX_SP_POWERCTR_SP_SEL_2           0xEDE
#define A5XX_SP_POWERCTR_SP_SEL_3           0xEDF

/* TP registers */
#define A5XX_TPL1_ADDR_MODE_CNTL            0xF01
#define A5XX_TPL1_MODE_CNTL                 0xF02
#define A5XX_TPL1_PERFCTR_TP_SEL_0          0xF10
#define A5XX_TPL1_PERFCTR_TP_SEL_1          0xF11
#define A5XX_TPL1_PERFCTR_TP_SEL_2          0xF12
#define A5XX_TPL1_PERFCTR_TP_SEL_3          0xF13
#define A5XX_TPL1_PERFCTR_TP_SEL_4          0xF14
#define A5XX_TPL1_PERFCTR_TP_SEL_5          0xF15
#define A5XX_TPL1_PERFCTR_TP_SEL_6          0xF16
#define A5XX_TPL1_PERFCTR_TP_SEL_7          0xF17

/* TP Power Counter TP Registers Select */
#define A5XX_TPL1_POWERCTR_TP_SEL_0         0xF18
#define A5XX_TPL1_POWERCTR_TP_SEL_1         0xF19
#define A5XX_TPL1_POWERCTR_TP_SEL_2         0xF1A
#define A5XX_TPL1_POWERCTR_TP_SEL_3         0xF1B

/* VBIF registers */
#define A5XX_VBIF_VERSION                       0x3000
#define A5XX_VBIF_CLKON                         0x3001
#define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_MASK   0x1
#define A5XX_VBIF_CLKON_FORCE_ON_TESTBUS_SHIFT  0x1

#define A5XX_VBIF_ROUND_ROBIN_QOS_ARB      0x3049
#define A5XX_VBIF_GATE_OFF_WRREQ_EN        0x302A

#define A5XX_VBIF_XIN_HALT_CTRL0	   0x3080
#define A5XX_VBIF_XIN_HALT_CTRL0_MASK	   0xF
#define A510_VBIF_XIN_HALT_CTRL0_MASK	   0x7
#define A5XX_VBIF_XIN_HALT_CTRL1	   0x3081

#define A5XX_VBIF_TEST_BUS_OUT_CTRL            0x3084
#define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_MASK    0x1
#define A5XX_VBIF_TEST_BUS_OUT_CTRL_EN_SHIFT   0x0

#define A5XX_VBIF_TEST_BUS1_CTRL0                0x3085
#define A5XX_VBIF_TEST_BUS1_CTRL1                0x3086
#define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_MASK  0xF
#define A5XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL_SHIFT 0x0

#define A5XX_VBIF_TEST_BUS2_CTRL0                   0x3087
#define A5XX_VBIF_TEST_BUS2_CTRL1                   0x3088
#define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_MASK     0x1FF
#define A5XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL_SHIFT    0x0

#define A5XX_VBIF_TEST_BUS_OUT             0x308c

#define A5XX_VBIF_PERF_CNT_SEL0            0x30D0
#define A5XX_VBIF_PERF_CNT_SEL1            0x30D1
#define A5XX_VBIF_PERF_CNT_SEL2            0x30D2
#define A5XX_VBIF_PERF_CNT_SEL3            0x30D3
#define A5XX_VBIF_PERF_CNT_LOW0            0x30D8
#define A5XX_VBIF_PERF_CNT_LOW1            0x30D9
#define A5XX_VBIF_PERF_CNT_LOW2            0x30DA
#define A5XX_VBIF_PERF_CNT_LOW3            0x30DB
#define A5XX_VBIF_PERF_CNT_HIGH0           0x30E0
#define A5XX_VBIF_PERF_CNT_HIGH1           0x30E1
#define A5XX_VBIF_PERF_CNT_HIGH2           0x30E2
#define A5XX_VBIF_PERF_CNT_HIGH3           0x30E3

#define A5XX_VBIF_PERF_PWR_CNT_EN0         0x3100
#define A5XX_VBIF_PERF_PWR_CNT_EN1         0x3101
#define A5XX_VBIF_PERF_PWR_CNT_EN2         0x3102

#define A5XX_VBIF_PERF_PWR_CNT_LOW0        0x3110
#define A5XX_VBIF_PERF_PWR_CNT_LOW1        0x3111
#define A5XX_VBIF_PERF_PWR_CNT_LOW2        0x3112

#define A5XX_VBIF_PERF_PWR_CNT_HIGH0       0x3118
#define A5XX_VBIF_PERF_PWR_CNT_HIGH1       0x3119
#define A5XX_VBIF_PERF_PWR_CNT_HIGH2       0x311A

/* GPMU registers */
#define A5XX_GPMU_INST_RAM_BASE            0x8800
#define A5XX_GPMU_DATA_RAM_BASE            0x9800
#define A5XX_GPMU_SP_POWER_CNTL            0xA881
#define A5XX_GPMU_RBCCU_CLOCK_CNTL         0xA886
#define A5XX_GPMU_RBCCU_POWER_CNTL         0xA887
#define A5XX_GPMU_SP_PWR_CLK_STATUS        0xA88B
#define A5XX_GPMU_RBCCU_PWR_CLK_STATUS     0xA88D
#define A5XX_GPMU_PWR_COL_STAGGER_DELAY    0xA891
#define A5XX_GPMU_PWR_COL_INTER_FRAME_CTRL 0xA892
#define A5XX_GPMU_PWR_COL_INTER_FRAME_HYST 0xA893
#define A5XX_GPMU_PWR_COL_BINNING_CTRL     0xA894
#define A5XX_GPMU_CLOCK_THROTTLE_CTRL      0xA8A3
#define A5XX_GPMU_WFI_CONFIG               0xA8C1
#define A5XX_GPMU_RBBM_INTR_INFO           0xA8D6
#define A5XX_GPMU_CM3_SYSRESET             0xA8D8
#define A5XX_GPMU_GENERAL_0                0xA8E0
#define A5XX_GPMU_GENERAL_1                0xA8E1

/* COUNTABLE FOR SP PERFCOUNTER */
#define A5XX_SP_ALU_ACTIVE_CYCLES          0x1
#define A5XX_SP0_ICL1_MISSES               0x35
#define A5XX_SP_FS_CFLOW_INSTRUCTIONS      0x27

/* COUNTABLE FOR TSE PERFCOUNTER */
#define A5XX_TSE_INPUT_PRIM_NUM            0x6

/* COUNTABLE FOR RBBM PERFCOUNTER */
#define A5XX_RBBM_ALWAYS_COUNT		0x0

/* GPMU POWER COUNTERS */
#define A5XX_SP_POWER_COUNTER_0_LO		0xA840
#define A5XX_SP_POWER_COUNTER_0_HI		0xA841
#define A5XX_SP_POWER_COUNTER_1_LO		0xA842
#define A5XX_SP_POWER_COUNTER_1_HI		0xA843
#define A5XX_SP_POWER_COUNTER_2_LO		0xA844
#define A5XX_SP_POWER_COUNTER_2_HI		0xA845
#define A5XX_SP_POWER_COUNTER_3_LO		0xA846
#define A5XX_SP_POWER_COUNTER_3_HI		0xA847

#define A5XX_TP_POWER_COUNTER_0_LO		0xA848
#define A5XX_TP_POWER_COUNTER_0_HI		0xA849
#define A5XX_TP_POWER_COUNTER_1_LO		0xA84A
#define A5XX_TP_POWER_COUNTER_1_HI		0xA84B
#define A5XX_TP_POWER_COUNTER_2_LO		0xA84C
#define A5XX_TP_POWER_COUNTER_2_HI		0xA84D
#define A5XX_TP_POWER_COUNTER_3_LO		0xA84E
#define A5XX_TP_POWER_COUNTER_3_HI		0xA84F

#define A5XX_RB_POWER_COUNTER_0_LO		0xA850
#define A5XX_RB_POWER_COUNTER_0_HI		0xA851
#define A5XX_RB_POWER_COUNTER_1_LO		0xA852
#define A5XX_RB_POWER_COUNTER_1_HI		0xA853
#define A5XX_RB_POWER_COUNTER_2_LO		0xA854
#define A5XX_RB_POWER_COUNTER_2_HI		0xA855
#define A5XX_RB_POWER_COUNTER_3_LO		0xA856
#define A5XX_RB_POWER_COUNTER_3_HI		0xA857

#define A5XX_CCU_POWER_COUNTER_0_LO		0xA858
#define A5XX_CCU_POWER_COUNTER_0_HI		0xA859
#define A5XX_CCU_POWER_COUNTER_1_LO		0xA85A
#define A5XX_CCU_POWER_COUNTER_1_HI		0xA85B

#define A5XX_UCHE_POWER_COUNTER_0_LO		0xA85C
#define A5XX_UCHE_POWER_COUNTER_0_HI		0xA85D
#define A5XX_UCHE_POWER_COUNTER_1_LO		0xA85E
#define A5XX_UCHE_POWER_COUNTER_1_HI		0xA85F
#define A5XX_UCHE_POWER_COUNTER_2_LO		0xA860
#define A5XX_UCHE_POWER_COUNTER_2_HI		0xA861
#define A5XX_UCHE_POWER_COUNTER_3_LO		0xA862
#define A5XX_UCHE_POWER_COUNTER_3_HI		0xA863

#define A5XX_CP_POWER_COUNTER_0_LO		0xA864
#define A5XX_CP_POWER_COUNTER_0_HI		0xA865
#define A5XX_CP_POWER_COUNTER_1_LO		0xA866
#define A5XX_CP_POWER_COUNTER_1_HI		0xA867
#define A5XX_CP_POWER_COUNTER_2_LO		0xA868
#define A5XX_CP_POWER_COUNTER_2_HI		0xA869
#define A5XX_CP_POWER_COUNTER_3_LO		0xA86A
#define A5XX_CP_POWER_COUNTER_3_HI		0xA86B

#define A5XX_GPMU_POWER_COUNTER_0_LO		0xA86C
#define A5XX_GPMU_POWER_COUNTER_0_HI		0xA86D
#define A5XX_GPMU_POWER_COUNTER_1_LO		0xA86E
#define A5XX_GPMU_POWER_COUNTER_1_HI		0xA86F
#define A5XX_GPMU_POWER_COUNTER_2_LO		0xA870
#define A5XX_GPMU_POWER_COUNTER_2_HI		0xA871
#define A5XX_GPMU_POWER_COUNTER_3_LO		0xA872
#define A5XX_GPMU_POWER_COUNTER_3_HI		0xA873
#define A5XX_GPMU_POWER_COUNTER_4_LO		0xA874
#define A5XX_GPMU_POWER_COUNTER_4_HI		0xA875
#define A5XX_GPMU_POWER_COUNTER_5_LO		0xA876
#define A5XX_GPMU_POWER_COUNTER_5_HI		0xA877

#define A5XX_GPMU_POWER_COUNTER_ENABLE		0xA878
#define A5XX_GPMU_ALWAYS_ON_COUNTER_LO		0xA879
#define A5XX_GPMU_ALWAYS_ON_COUNTER_HI		0xA87A
#define A5XX_GPMU_ALWAYS_ON_COUNTER_RESET	0xA87B
#define A5XX_GPMU_POWER_COUNTER_SELECT_0	0xA87C
#define A5XX_GPMU_POWER_COUNTER_SELECT_1	0xA87D
#define A5XX_GPMU_GPMU_SP_CLOCK_CONTROL		0xA880

#define A5XX_GPMU_CLOCK_THROTTLE_CTRL		0xA8A3
#define A5XX_GPMU_THROTTLE_UNMASK_FORCE_CTRL	0xA8A8

#define A5XX_GPMU_TEMP_SENSOR_ID		0xAC00
#define A5XX_GPMU_TEMP_SENSOR_CONFIG		0xAC01
#define A5XX_GPMU_DELTA_TEMP_THRESHOLD		0xAC03
#define A5XX_GPMU_TEMP_THRESHOLD_INTR_EN_MASK	0xAC06

#define A5XX_GPMU_LEAKAGE_TEMP_COEFF_0_1	0xAC40
#define A5XX_GPMU_LEAKAGE_TEMP_COEFF_2_3	0xAC41
#define A5XX_GPMU_LEAKAGE_VTG_COEFF_0_1		0xAC42
#define A5XX_GPMU_LEAKAGE_VTG_COEFF_2_3		0xAC43
#define A5XX_GPMU_BASE_LEAKAGE			0xAC46

#define A5XX_GPMU_GPMU_VOLTAGE			0xAC60
#define A5XX_GPMU_GPMU_VOLTAGE_INTR_STATUS	0xAC61
#define A5XX_GPMU_GPMU_VOLTAGE_INTR_EN_MASK	0xAC62
#define A5XX_GPMU_GPMU_PWR_THRESHOLD		0xAC80
#define A5XX_GPMU_GPMU_LLM_GLM_SLEEP_CTRL	0xACC4
#define A5XX_GPMU_GPMU_LLM_GLM_SLEEP_STATUS	0xACC5
#define A5XX_GPMU_GPMU_ISENSE_CTRL		0xACD0

#define A5XX_GDPM_CONFIG1			0xB80C
#define A5XX_GDPM_INT_EN			0xB80F
#define A5XX_GDPM_INT_MASK			0xB811
#define A5XX_GPMU_BEC_ENABLE			0xB9A0

/* ISENSE registers */
#define A5XX_GPU_CS_DECIMAL_ALIGN		0xC16A
#define A5XX_GPU_CS_SENSOR_PARAM_CORE_1	0xC126
#define A5XX_GPU_CS_SENSOR_PARAM_CORE_2	0xC127
#define A5XX_GPU_CS_SW_OV_FUSE_EN		0xC168
#define A5XX_GPU_CS_SENSOR_GENERAL_STATUS	0xC41A
#define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_0	0xC41D
#define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_2	0xC41F
#define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4	0xC421
#define A5XX_GPU_CS_ENABLE_REG			0xC520
#define A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1	0xC557
#define A5XX_GPU_CS_AMP_CALIBRATION_DONE	0xC565
#define A5XX_GPU_CS_ENDPOINT_CALIBRATION_DONE   0xC556
#endif /* _A5XX_REG_H */