1/*
2 * Copyright (C) 2019  Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef _vcn_2_5_OFFSET_HEADER
23#define _vcn_2_5_OFFSET_HEADER
24
25// addressBlock: uvd0_mmsch_dec
26// base address: 0x1e000
27#define mmMMSCH_VF_VMID                                                                                0x000b
28#define mmMMSCH_VF_VMID_BASE_IDX                                                                       0
29#define mmMMSCH_VF_CTX_ADDR_LO                                                                         0x000c
30#define mmMMSCH_VF_CTX_ADDR_LO_BASE_IDX                                                                0
31#define mmMMSCH_VF_CTX_ADDR_HI                                                                         0x000d
32#define mmMMSCH_VF_CTX_ADDR_HI_BASE_IDX                                                                0
33#define mmMMSCH_VF_CTX_SIZE                                                                            0x000e
34#define mmMMSCH_VF_CTX_SIZE_BASE_IDX                                                                   0
35#define mmMMSCH_VF_MAILBOX_HOST                                                                        0x0012
36#define mmMMSCH_VF_MAILBOX_HOST_BASE_IDX                                                               0
37#define mmMMSCH_VF_MAILBOX_RESP                                                                        0x0013
38#define mmMMSCH_VF_MAILBOX_RESP_BASE_IDX                                                               0
39
40
41// addressBlock: uvd0_jpegnpdec
42// base address: 0x1e200
43#define mmUVD_JPEG_CNTL                                                                                0x0080
44#define mmUVD_JPEG_CNTL_BASE_IDX                                                                       0
45#define mmUVD_JPEG_RB_BASE                                                                             0x0081
46#define mmUVD_JPEG_RB_BASE_BASE_IDX                                                                    0
47#define mmUVD_JPEG_RB_WPTR                                                                             0x0082
48#define mmUVD_JPEG_RB_WPTR_BASE_IDX                                                                    0
49#define mmUVD_JPEG_RB_RPTR                                                                             0x0083
50#define mmUVD_JPEG_RB_RPTR_BASE_IDX                                                                    0
51#define mmUVD_JPEG_RB_SIZE                                                                             0x0084
52#define mmUVD_JPEG_RB_SIZE_BASE_IDX                                                                    0
53#define mmUVD_JPEG_DEC_SCRATCH0                                                                        0x0089
54#define mmUVD_JPEG_DEC_SCRATCH0_BASE_IDX                                                               0
55#define mmUVD_JPEG_INT_EN                                                                              0x008a
56#define mmUVD_JPEG_INT_EN_BASE_IDX                                                                     0
57#define mmUVD_JPEG_INT_STAT                                                                            0x008b
58#define mmUVD_JPEG_INT_STAT_BASE_IDX                                                                   0
59#define mmUVD_JPEG_PITCH                                                                               0x009f
60#define mmUVD_JPEG_PITCH_BASE_IDX                                                                      0
61#define mmUVD_JPEG_UV_PITCH                                                                            0x00a0
62#define mmUVD_JPEG_UV_PITCH_BASE_IDX                                                                   0
63#define mmJPEG_DEC_Y_GFX8_TILING_SURFACE                                                               0x00a1
64#define mmJPEG_DEC_Y_GFX8_TILING_SURFACE_BASE_IDX                                                      0
65#define mmJPEG_DEC_UV_GFX8_TILING_SURFACE                                                              0x00a2
66#define mmJPEG_DEC_UV_GFX8_TILING_SURFACE_BASE_IDX                                                     0
67#define mmJPEG_DEC_GFX8_ADDR_CONFIG                                                                    0x00a3
68#define mmJPEG_DEC_GFX8_ADDR_CONFIG_BASE_IDX                                                           0
69#define mmJPEG_DEC_Y_GFX10_TILING_SURFACE                                                              0x00a4
70#define mmJPEG_DEC_Y_GFX10_TILING_SURFACE_BASE_IDX                                                     0
71#define mmJPEG_DEC_UV_GFX10_TILING_SURFACE                                                             0x00a5
72#define mmJPEG_DEC_UV_GFX10_TILING_SURFACE_BASE_IDX                                                    0
73#define mmJPEG_DEC_GFX10_ADDR_CONFIG                                                                   0x00a6
74#define mmJPEG_DEC_GFX10_ADDR_CONFIG_BASE_IDX                                                          0
75#define mmJPEG_DEC_ADDR_MODE                                                                           0x00a7
76#define mmJPEG_DEC_ADDR_MODE_BASE_IDX                                                                  0
77#define mmUVD_JPEG_GPCOM_CMD                                                                           0x00a9
78#define mmUVD_JPEG_GPCOM_CMD_BASE_IDX                                                                  0
79#define mmUVD_JPEG_GPCOM_DATA0                                                                         0x00aa
80#define mmUVD_JPEG_GPCOM_DATA0_BASE_IDX                                                                0
81#define mmUVD_JPEG_GPCOM_DATA1                                                                         0x00ab
82#define mmUVD_JPEG_GPCOM_DATA1_BASE_IDX                                                                0
83#define mmUVD_JPEG_SCRATCH1                                                                            0x00ae
84#define mmUVD_JPEG_SCRATCH1_BASE_IDX                                                                   0
85#define mmUVD_JPEG_DEC_SOFT_RST                                                                        0x00af
86#define mmUVD_JPEG_DEC_SOFT_RST_BASE_IDX                                                               0
87
88
89// addressBlock: uvd0_uvd_jpeg_enc_dec
90// base address: 0x1e300
91#define mmUVD_JPEG_ENC_INT_EN                                                                          0x00c1
92#define mmUVD_JPEG_ENC_INT_EN_BASE_IDX                                                                 0
93#define mmUVD_JPEG_ENC_INT_STATUS                                                                      0x00c2
94#define mmUVD_JPEG_ENC_INT_STATUS_BASE_IDX                                                             0
95#define mmUVD_JPEG_ENC_ENGINE_CNTL                                                                     0x00c5
96#define mmUVD_JPEG_ENC_ENGINE_CNTL_BASE_IDX                                                            0
97#define mmUVD_JPEG_ENC_SCRATCH1                                                                        0x00ce
98#define mmUVD_JPEG_ENC_SCRATCH1_BASE_IDX                                                               0
99
100
101// addressBlock: uvd0_uvd_jpeg_enc_sclk_dec
102// base address: 0x1e380
103#define mmUVD_JPEG_ENC_STATUS                                                                          0x00e5
104#define mmUVD_JPEG_ENC_STATUS_BASE_IDX                                                                 0
105#define mmUVD_JPEG_ENC_PITCH                                                                           0x00e6
106#define mmUVD_JPEG_ENC_PITCH_BASE_IDX                                                                  0
107#define mmUVD_JPEG_ENC_LUMA_BASE                                                                       0x00e7
108#define mmUVD_JPEG_ENC_LUMA_BASE_BASE_IDX                                                              0
109#define mmUVD_JPEG_ENC_CHROMAU_BASE                                                                    0x00e8
110#define mmUVD_JPEG_ENC_CHROMAU_BASE_BASE_IDX                                                           0
111#define mmUVD_JPEG_ENC_CHROMAV_BASE                                                                    0x00e9
112#define mmUVD_JPEG_ENC_CHROMAV_BASE_BASE_IDX                                                           0
113#define mmJPEG_ENC_Y_GFX10_TILING_SURFACE                                                              0x00ea
114#define mmJPEG_ENC_Y_GFX10_TILING_SURFACE_BASE_IDX                                                     0
115#define mmJPEG_ENC_UV_GFX10_TILING_SURFACE                                                             0x00eb
116#define mmJPEG_ENC_UV_GFX10_TILING_SURFACE_BASE_IDX                                                    0
117#define mmJPEG_ENC_GFX10_ADDR_CONFIG                                                                   0x00ec
118#define mmJPEG_ENC_GFX10_ADDR_CONFIG_BASE_IDX                                                          0
119#define mmJPEG_ENC_ADDR_MODE                                                                           0x00ed
120#define mmJPEG_ENC_ADDR_MODE_BASE_IDX                                                                  0
121#define mmUVD_JPEG_ENC_GPCOM_CMD                                                                       0x00ee
122#define mmUVD_JPEG_ENC_GPCOM_CMD_BASE_IDX                                                              0
123#define mmUVD_JPEG_ENC_GPCOM_DATA0                                                                     0x00ef
124#define mmUVD_JPEG_ENC_GPCOM_DATA0_BASE_IDX                                                            0
125#define mmUVD_JPEG_ENC_GPCOM_DATA1                                                                     0x00f0
126#define mmUVD_JPEG_ENC_GPCOM_DATA1_BASE_IDX                                                            0
127#define mmUVD_JPEG_ENC_CGC_CNTL                                                                        0x00f5
128#define mmUVD_JPEG_ENC_CGC_CNTL_BASE_IDX                                                               0
129#define mmUVD_JPEG_ENC_SCRATCH0                                                                        0x00f6
130#define mmUVD_JPEG_ENC_SCRATCH0_BASE_IDX                                                               0
131#define mmUVD_JPEG_ENC_SOFT_RST                                                                        0x00f7
132#define mmUVD_JPEG_ENC_SOFT_RST_BASE_IDX                                                               0
133
134
135// addressBlock: uvd0_uvd_jrbc_dec
136// base address: 0x1e400
137#define mmUVD_JRBC_RB_WPTR                                                                             0x0100
138#define mmUVD_JRBC_RB_WPTR_BASE_IDX                                                                    0
139#define mmUVD_JRBC_RB_CNTL                                                                             0x0101
140#define mmUVD_JRBC_RB_CNTL_BASE_IDX                                                                    0
141#define mmUVD_JRBC_IB_SIZE                                                                             0x0102
142#define mmUVD_JRBC_IB_SIZE_BASE_IDX                                                                    0
143#define mmUVD_JRBC_URGENT_CNTL                                                                         0x0103
144#define mmUVD_JRBC_URGENT_CNTL_BASE_IDX                                                                0
145#define mmUVD_JRBC_RB_REF_DATA                                                                         0x0104
146#define mmUVD_JRBC_RB_REF_DATA_BASE_IDX                                                                0
147#define mmUVD_JRBC_RB_COND_RD_TIMER                                                                    0x0105
148#define mmUVD_JRBC_RB_COND_RD_TIMER_BASE_IDX                                                           0
149#define mmUVD_JRBC_SOFT_RESET                                                                          0x0108
150#define mmUVD_JRBC_SOFT_RESET_BASE_IDX                                                                 0
151#define mmUVD_JRBC_STATUS                                                                              0x0109
152#define mmUVD_JRBC_STATUS_BASE_IDX                                                                     0
153#define mmUVD_JRBC_RB_RPTR                                                                             0x010a
154#define mmUVD_JRBC_RB_RPTR_BASE_IDX                                                                    0
155#define mmUVD_JRBC_RB_BUF_STATUS                                                                       0x010b
156#define mmUVD_JRBC_RB_BUF_STATUS_BASE_IDX                                                              0
157#define mmUVD_JRBC_IB_BUF_STATUS                                                                       0x010c
158#define mmUVD_JRBC_IB_BUF_STATUS_BASE_IDX                                                              0
159#define mmUVD_JRBC_IB_SIZE_UPDATE                                                                      0x010d
160#define mmUVD_JRBC_IB_SIZE_UPDATE_BASE_IDX                                                             0
161#define mmUVD_JRBC_IB_COND_RD_TIMER                                                                    0x010e
162#define mmUVD_JRBC_IB_COND_RD_TIMER_BASE_IDX                                                           0
163#define mmUVD_JRBC_IB_REF_DATA                                                                         0x010f
164#define mmUVD_JRBC_IB_REF_DATA_BASE_IDX                                                                0
165#define mmUVD_JPEG_PREEMPT_CMD                                                                         0x0110
166#define mmUVD_JPEG_PREEMPT_CMD_BASE_IDX                                                                0
167#define mmUVD_JPEG_PREEMPT_FENCE_DATA0                                                                 0x0111
168#define mmUVD_JPEG_PREEMPT_FENCE_DATA0_BASE_IDX                                                        0
169#define mmUVD_JPEG_PREEMPT_FENCE_DATA1                                                                 0x0112
170#define mmUVD_JPEG_PREEMPT_FENCE_DATA1_BASE_IDX                                                        0
171#define mmUVD_JRBC_RB_SIZE                                                                             0x0113
172#define mmUVD_JRBC_RB_SIZE_BASE_IDX                                                                    0
173#define mmUVD_JRBC_SCRATCH0                                                                            0x0114
174#define mmUVD_JRBC_SCRATCH0_BASE_IDX                                                                   0
175
176
177// addressBlock: uvd0_uvd_jrbc_enc_dec
178// base address: 0x1e480
179#define mmUVD_JRBC_ENC_RB_WPTR                                                                         0x0120
180#define mmUVD_JRBC_ENC_RB_WPTR_BASE_IDX                                                                0
181#define mmUVD_JRBC_ENC_RB_CNTL                                                                         0x0121
182#define mmUVD_JRBC_ENC_RB_CNTL_BASE_IDX                                                                0
183#define mmUVD_JRBC_ENC_IB_SIZE                                                                         0x0122
184#define mmUVD_JRBC_ENC_IB_SIZE_BASE_IDX                                                                0
185#define mmUVD_JRBC_ENC_URGENT_CNTL                                                                     0x0123
186#define mmUVD_JRBC_ENC_URGENT_CNTL_BASE_IDX                                                            0
187#define mmUVD_JRBC_ENC_RB_REF_DATA                                                                     0x0124
188#define mmUVD_JRBC_ENC_RB_REF_DATA_BASE_IDX                                                            0
189#define mmUVD_JRBC_ENC_RB_COND_RD_TIMER                                                                0x0125
190#define mmUVD_JRBC_ENC_RB_COND_RD_TIMER_BASE_IDX                                                       0
191#define mmUVD_JRBC_ENC_SOFT_RESET                                                                      0x0128
192#define mmUVD_JRBC_ENC_SOFT_RESET_BASE_IDX                                                             0
193#define mmUVD_JRBC_ENC_STATUS                                                                          0x0129
194#define mmUVD_JRBC_ENC_STATUS_BASE_IDX                                                                 0
195#define mmUVD_JRBC_ENC_RB_RPTR                                                                         0x012a
196#define mmUVD_JRBC_ENC_RB_RPTR_BASE_IDX                                                                0
197#define mmUVD_JRBC_ENC_RB_BUF_STATUS                                                                   0x012b
198#define mmUVD_JRBC_ENC_RB_BUF_STATUS_BASE_IDX                                                          0
199#define mmUVD_JRBC_ENC_IB_BUF_STATUS                                                                   0x012c
200#define mmUVD_JRBC_ENC_IB_BUF_STATUS_BASE_IDX                                                          0
201#define mmUVD_JRBC_ENC_IB_SIZE_UPDATE                                                                  0x012d
202#define mmUVD_JRBC_ENC_IB_SIZE_UPDATE_BASE_IDX                                                         0
203#define mmUVD_JRBC_ENC_IB_COND_RD_TIMER                                                                0x012e
204#define mmUVD_JRBC_ENC_IB_COND_RD_TIMER_BASE_IDX                                                       0
205#define mmUVD_JRBC_ENC_IB_REF_DATA                                                                     0x012f
206#define mmUVD_JRBC_ENC_IB_REF_DATA_BASE_IDX                                                            0
207#define mmUVD_JPEG_ENC_PREEMPT_CMD                                                                     0x0130
208#define mmUVD_JPEG_ENC_PREEMPT_CMD_BASE_IDX                                                            0
209#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA0                                                             0x0131
210#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA0_BASE_IDX                                                    0
211#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA1                                                             0x0132
212#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA1_BASE_IDX                                                    0
213#define mmUVD_JRBC_ENC_RB_SIZE                                                                         0x0133
214#define mmUVD_JRBC_ENC_RB_SIZE_BASE_IDX                                                                0
215#define mmUVD_JRBC_ENC_SCRATCH0                                                                        0x0134
216#define mmUVD_JRBC_ENC_SCRATCH0_BASE_IDX                                                               0
217
218
219// addressBlock: uvd0_uvd_jmi_dec
220// base address: 0x1e500
221#define mmUVD_JMI_CTRL                                                                                 0x0145
222#define mmUVD_JMI_CTRL_BASE_IDX                                                                        0
223#define mmUVD_LMI_JRBC_CTRL                                                                            0x0146
224#define mmUVD_LMI_JRBC_CTRL_BASE_IDX                                                                   0
225#define mmUVD_LMI_JPEG_CTRL                                                                            0x0147
226#define mmUVD_LMI_JPEG_CTRL_BASE_IDX                                                                   0
227#define mmUVD_JMI_EJRBC_CTRL                                                                           0x0148
228#define mmUVD_JMI_EJRBC_CTRL_BASE_IDX                                                                  0
229#define mmUVD_LMI_EJPEG_CTRL                                                                           0x0149
230#define mmUVD_LMI_EJPEG_CTRL_BASE_IDX                                                                  0
231#define mmUVD_LMI_JRBC_IB_VMID                                                                         0x014f
232#define mmUVD_LMI_JRBC_IB_VMID_BASE_IDX                                                                0
233#define mmUVD_LMI_JRBC_RB_VMID                                                                         0x0150
234#define mmUVD_LMI_JRBC_RB_VMID_BASE_IDX                                                                0
235#define mmUVD_LMI_JPEG_VMID                                                                            0x0151
236#define mmUVD_LMI_JPEG_VMID_BASE_IDX                                                                   0
237#define mmUVD_JMI_ENC_JRBC_IB_VMID                                                                     0x0152
238#define mmUVD_JMI_ENC_JRBC_IB_VMID_BASE_IDX                                                            0
239#define mmUVD_JMI_ENC_JRBC_RB_VMID                                                                     0x0153
240#define mmUVD_JMI_ENC_JRBC_RB_VMID_BASE_IDX                                                            0
241#define mmUVD_JMI_ENC_JPEG_VMID                                                                        0x0154
242#define mmUVD_JMI_ENC_JPEG_VMID_BASE_IDX                                                               0
243#define mmUVD_JMI_PERFMON_CTRL                                                                         0x015c
244#define mmUVD_JMI_PERFMON_CTRL_BASE_IDX                                                                0
245#define mmUVD_JMI_PERFMON_COUNT_LO                                                                     0x015d
246#define mmUVD_JMI_PERFMON_COUNT_LO_BASE_IDX                                                            0
247#define mmUVD_JMI_PERFMON_COUNT_HI                                                                     0x015e
248#define mmUVD_JMI_PERFMON_COUNT_HI_BASE_IDX                                                            0
249#define mmUVD_LMI_JPEG_READ_64BIT_BAR_LOW                                                              0x0160
250#define mmUVD_LMI_JPEG_READ_64BIT_BAR_LOW_BASE_IDX                                                     0
251#define mmUVD_LMI_JPEG_READ_64BIT_BAR_HIGH                                                             0x0161
252#define mmUVD_LMI_JPEG_READ_64BIT_BAR_HIGH_BASE_IDX                                                    0
253#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_LOW                                                             0x0162
254#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_LOW_BASE_IDX                                                    0
255#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_HIGH                                                            0x0163
256#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_HIGH_BASE_IDX                                                   0
257#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_LOW                                                     0x0164
258#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_LOW_BASE_IDX                                            0
259#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_HIGH                                                    0x0165
260#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_HIGH_BASE_IDX                                           0
261#define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW                                                                0x0166
262#define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW_BASE_IDX                                                       0
263#define mmUVD_LMI_JRBC_RB_64BIT_BAR_HIGH                                                               0x0167
264#define mmUVD_LMI_JRBC_RB_64BIT_BAR_HIGH_BASE_IDX                                                      0
265#define mmUVD_LMI_JRBC_IB_64BIT_BAR_LOW                                                                0x0168
266#define mmUVD_LMI_JRBC_IB_64BIT_BAR_LOW_BASE_IDX                                                       0
267#define mmUVD_LMI_JRBC_IB_64BIT_BAR_HIGH                                                               0x0169
268#define mmUVD_LMI_JRBC_IB_64BIT_BAR_HIGH_BASE_IDX                                                      0
269#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_LOW                                                         0x016a
270#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_LOW_BASE_IDX                                                0
271#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_HIGH                                                        0x016b
272#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX                                               0
273#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_LOW                                                         0x016c
274#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_LOW_BASE_IDX                                                0
275#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_HIGH                                                        0x016d
276#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX                                               0
277#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_LOW                                                         0x016e
278#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_LOW_BASE_IDX                                                0
279#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_HIGH                                                        0x016f
280#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX                                               0
281#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_LOW                                                         0x0170
282#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_LOW_BASE_IDX                                                0
283#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_HIGH                                                        0x0171
284#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX                                               0
285#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_LOW                                                    0x017a
286#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_LOW_BASE_IDX                                           0
287#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_HIGH                                                   0x017b
288#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_HIGH_BASE_IDX                                          0
289#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_LOW                                                               0x017c
290#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_LOW_BASE_IDX                                                      0
291#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_HIGH                                                              0x017d
292#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_HIGH_BASE_IDX                                                     0
293#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_LOW                                                               0x017e
294#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_LOW_BASE_IDX                                                      0
295#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_HIGH                                                              0x017f
296#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_HIGH_BASE_IDX                                                     0
297#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_LOW                                                        0x0180
298#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_LOW_BASE_IDX                                               0
299#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_HIGH                                                       0x0181
300#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX                                              0
301#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_LOW                                                        0x0182
302#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_LOW_BASE_IDX                                               0
303#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_HIGH                                                       0x0183
304#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX                                              0
305#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_LOW                                                        0x0184
306#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_LOW_BASE_IDX                                               0
307#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_HIGH                                                       0x0185
308#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX                                              0
309#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_LOW                                                        0x0186
310#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_LOW_BASE_IDX                                               0
311#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_HIGH                                                       0x0187
312#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX                                              0
313#define mmUVD_LMI_JPEG_PREEMPT_VMID                                                                    0x0188
314#define mmUVD_LMI_JPEG_PREEMPT_VMID_BASE_IDX                                                           0
315#define mmUVD_LMI_ENC_JPEG_PREEMPT_VMID                                                                0x0189
316#define mmUVD_LMI_ENC_JPEG_PREEMPT_VMID_BASE_IDX                                                       0
317#define mmUVD_LMI_JPEG2_VMID                                                                           0x018a
318#define mmUVD_LMI_JPEG2_VMID_BASE_IDX                                                                  0
319#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_LOW                                                             0x018b
320#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_LOW_BASE_IDX                                                    0
321#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_HIGH                                                            0x018c
322#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_HIGH_BASE_IDX                                                   0
323#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_LOW                                                            0x018d
324#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_LOW_BASE_IDX                                                   0
325#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_HIGH                                                           0x018e
326#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_HIGH_BASE_IDX                                                  0
327#define mmUVD_LMI_JPEG_CTRL2                                                                           0x018f
328#define mmUVD_LMI_JPEG_CTRL2_BASE_IDX                                                                  0
329#define mmUVD_JMI_DEC_SWAP_CNTL                                                                        0x0190
330#define mmUVD_JMI_DEC_SWAP_CNTL_BASE_IDX                                                               0
331#define mmUVD_JMI_ENC_SWAP_CNTL                                                                        0x0191
332#define mmUVD_JMI_ENC_SWAP_CNTL_BASE_IDX                                                               0
333#define mmUVD_JMI_CNTL                                                                                 0x0192
334#define mmUVD_JMI_CNTL_BASE_IDX                                                                        0
335#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_LOW                                                             0x019a
336#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_LOW_BASE_IDX                                                    0
337#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_HIGH                                                            0x019b
338#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_HIGH_BASE_IDX                                                   0
339#define mmUVD_JMI_DEC_SWAP_CNTL2                                                                       0x019c
340#define mmUVD_JMI_DEC_SWAP_CNTL2_BASE_IDX                                                              0
341
342
343// addressBlock: uvd0_uvd_jpeg_common_dec
344// base address: 0x1e700
345#define mmJPEG_SOFT_RESET_STATUS                                                                       0x01c0
346#define mmJPEG_SOFT_RESET_STATUS_BASE_IDX                                                              0
347#define mmJPEG_SYS_INT_EN                                                                              0x01c1
348#define mmJPEG_SYS_INT_EN_BASE_IDX                                                                     0
349#define mmJPEG_SYS_INT_STATUS                                                                          0x01c2
350#define mmJPEG_SYS_INT_STATUS_BASE_IDX                                                                 0
351#define mmJPEG_SYS_INT_ACK                                                                             0x01c3
352#define mmJPEG_SYS_INT_ACK_BASE_IDX                                                                    0
353#define mmJPEG_MASTINT_EN                                                                              0x01c8
354#define mmJPEG_MASTINT_EN_BASE_IDX                                                                     0
355#define mmJPEG_IH_CTRL                                                                                 0x01c9
356#define mmJPEG_IH_CTRL_BASE_IDX                                                                        0
357#define mmJRBBM_ARB_CTRL                                                                               0x01cb
358#define mmJRBBM_ARB_CTRL_BASE_IDX                                                                      0
359
360
361// addressBlock: uvd0_uvd_jpeg_common_sclk_dec
362// base address: 0x1e780
363#define mmJPEG_CGC_GATE                                                                                0x01e0
364#define mmJPEG_CGC_GATE_BASE_IDX                                                                       0
365#define mmJPEG_CGC_CTRL                                                                                0x01e1
366#define mmJPEG_CGC_CTRL_BASE_IDX                                                                       0
367#define mmJPEG_CGC_STATUS                                                                              0x01e2
368#define mmJPEG_CGC_STATUS_BASE_IDX                                                                     0
369#define mmJPEG_COMN_CGC_MEM_CTRL                                                                       0x01e3
370#define mmJPEG_COMN_CGC_MEM_CTRL_BASE_IDX                                                              0
371#define mmJPEG_DEC_CGC_MEM_CTRL                                                                        0x01e4
372#define mmJPEG_DEC_CGC_MEM_CTRL_BASE_IDX                                                               0
373#define mmJPEG2_DEC_CGC_MEM_CTRL                                                                       0x01e5
374#define mmJPEG2_DEC_CGC_MEM_CTRL_BASE_IDX                                                              0
375#define mmJPEG_ENC_CGC_MEM_CTRL                                                                        0x01e6
376#define mmJPEG_ENC_CGC_MEM_CTRL_BASE_IDX                                                               0
377#define mmJPEG_SOFT_RESET2                                                                             0x01e7
378#define mmJPEG_SOFT_RESET2_BASE_IDX                                                                    0
379#define mmJPEG_PERF_BANK_CONF                                                                          0x01e8
380#define mmJPEG_PERF_BANK_CONF_BASE_IDX                                                                 0
381#define mmJPEG_PERF_BANK_EVENT_SEL                                                                     0x01e9
382#define mmJPEG_PERF_BANK_EVENT_SEL_BASE_IDX                                                            0
383#define mmJPEG_PERF_BANK_COUNT0                                                                        0x01ea
384#define mmJPEG_PERF_BANK_COUNT0_BASE_IDX                                                               0
385#define mmJPEG_PERF_BANK_COUNT1                                                                        0x01eb
386#define mmJPEG_PERF_BANK_COUNT1_BASE_IDX                                                               0
387#define mmJPEG_PERF_BANK_COUNT2                                                                        0x01ec
388#define mmJPEG_PERF_BANK_COUNT2_BASE_IDX                                                               0
389#define mmJPEG_PERF_BANK_COUNT3                                                                        0x01ed
390#define mmJPEG_PERF_BANK_COUNT3_BASE_IDX                                                               0
391
392
393// addressBlock: uvd0_uvd_pg_dec
394// base address: 0x1f800
395#define mmUVD_PGFSM_CONFIG                                                                             0x0000
396#define mmUVD_PGFSM_CONFIG_BASE_IDX                                                                    1
397#define mmUVD_PGFSM_STATUS                                                                             0x0001
398#define mmUVD_PGFSM_STATUS_BASE_IDX                                                                    1
399#define mmUVD_POWER_STATUS                                                                             0x0004
400#define mmUVD_POWER_STATUS_BASE_IDX                                                                    1
401#define mmUVD_PG_IND_INDEX                                                                             0x0005
402#define mmUVD_PG_IND_INDEX_BASE_IDX                                                                    1
403#define mmUVD_PG_IND_DATA                                                                              0x0006
404#define mmUVD_PG_IND_DATA_BASE_IDX                                                                     1
405#define mmCC_UVD_HARVESTING                                                                            0x0007
406#define mmCC_UVD_HARVESTING_BASE_IDX                                                                   1
407#define mmUVD_JPEG_POWER_STATUS                                                                        0x000a
408#define mmUVD_JPEG_POWER_STATUS_BASE_IDX                                                               1
409#define mmUVD_DPG_LMA_CTL                                                                              0x0011
410#define mmUVD_DPG_LMA_CTL_BASE_IDX                                                                     1
411#define mmUVD_DPG_LMA_DATA                                                                             0x0012
412#define mmUVD_DPG_LMA_DATA_BASE_IDX                                                                    1
413#define mmUVD_DPG_LMA_MASK                                                                             0x0013
414#define mmUVD_DPG_LMA_MASK_BASE_IDX                                                                    1
415#define mmUVD_DPG_PAUSE                                                                                0x0014
416#define mmUVD_DPG_PAUSE_BASE_IDX                                                                       1
417#define mmUVD_SCRATCH1                                                                                 0x0015
418#define mmUVD_SCRATCH1_BASE_IDX                                                                        1
419#define mmUVD_SCRATCH2                                                                                 0x0016
420#define mmUVD_SCRATCH2_BASE_IDX                                                                        1
421#define mmUVD_SCRATCH3                                                                                 0x0017
422#define mmUVD_SCRATCH3_BASE_IDX                                                                        1
423#define mmUVD_SCRATCH4                                                                                 0x0018
424#define mmUVD_SCRATCH4_BASE_IDX                                                                        1
425#define mmUVD_SCRATCH5                                                                                 0x0019
426#define mmUVD_SCRATCH5_BASE_IDX                                                                        1
427#define mmUVD_SCRATCH6                                                                                 0x001a
428#define mmUVD_SCRATCH6_BASE_IDX                                                                        1
429#define mmUVD_SCRATCH7                                                                                 0x001b
430#define mmUVD_SCRATCH7_BASE_IDX                                                                        1
431#define mmUVD_SCRATCH8                                                                                 0x001c
432#define mmUVD_SCRATCH8_BASE_IDX                                                                        1
433#define mmUVD_SCRATCH9                                                                                 0x001d
434#define mmUVD_SCRATCH9_BASE_IDX                                                                        1
435#define mmUVD_SCRATCH10                                                                                0x001e
436#define mmUVD_SCRATCH10_BASE_IDX                                                                       1
437#define mmUVD_SCRATCH11                                                                                0x001f
438#define mmUVD_SCRATCH11_BASE_IDX                                                                       1
439#define mmUVD_SCRATCH12                                                                                0x0020
440#define mmUVD_SCRATCH12_BASE_IDX                                                                       1
441#define mmUVD_SCRATCH13                                                                                0x0021
442#define mmUVD_SCRATCH13_BASE_IDX                                                                       1
443#define mmUVD_SCRATCH14                                                                                0x0022
444#define mmUVD_SCRATCH14_BASE_IDX                                                                       1
445#define mmUVD_FREE_COUNTER_REG                                                                         0x0024
446#define mmUVD_FREE_COUNTER_REG_BASE_IDX                                                                1
447#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW                                                         0x0025
448#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX                                                1
449#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH                                                        0x0026
450#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX                                               1
451#define mmUVD_DPG_VCPU_CACHE_OFFSET0                                                                   0x0027
452#define mmUVD_DPG_VCPU_CACHE_OFFSET0_BASE_IDX                                                          1
453#define mmUVD_DPG_LMI_VCPU_CACHE_VMID                                                                  0x0028
454#define mmUVD_DPG_LMI_VCPU_CACHE_VMID_BASE_IDX                                                         1
455#define mmUVD_PF_STATUS                                                                                0x0039
456#define mmUVD_PF_STATUS_BASE_IDX                                                                       1
457#define mmUVD_DPG_CLK_EN_VCPU_REPORT                                                                   0x003c
458#define mmUVD_DPG_CLK_EN_VCPU_REPORT_BASE_IDX                                                          1
459#define mmUVD_GFX8_ADDR_CONFIG                                                                         0x0049
460#define mmUVD_GFX8_ADDR_CONFIG_BASE_IDX                                                                1
461#define mmUVD_GFX10_ADDR_CONFIG                                                                        0x004a
462#define mmUVD_GFX10_ADDR_CONFIG_BASE_IDX                                                               1
463#define mmUVD_GPCNT2_CNTL                                                                              0x004b
464#define mmUVD_GPCNT2_CNTL_BASE_IDX                                                                     1
465#define mmUVD_GPCNT2_TARGET_LOWER                                                                      0x004c
466#define mmUVD_GPCNT2_TARGET_LOWER_BASE_IDX                                                             1
467#define mmUVD_GPCNT2_STATUS_LOWER                                                                      0x004d
468#define mmUVD_GPCNT2_STATUS_LOWER_BASE_IDX                                                             1
469#define mmUVD_GPCNT2_TARGET_UPPER                                                                      0x004e
470#define mmUVD_GPCNT2_TARGET_UPPER_BASE_IDX                                                             1
471#define mmUVD_GPCNT2_STATUS_UPPER                                                                      0x004f
472#define mmUVD_GPCNT2_STATUS_UPPER_BASE_IDX                                                             1
473#define mmUVD_GPCNT3_CNTL                                                                              0x0050
474#define mmUVD_GPCNT3_CNTL_BASE_IDX                                                                     1
475#define mmUVD_GPCNT3_TARGET_LOWER                                                                      0x0051
476#define mmUVD_GPCNT3_TARGET_LOWER_BASE_IDX                                                             1
477#define mmUVD_GPCNT3_STATUS_LOWER                                                                      0x0052
478#define mmUVD_GPCNT3_STATUS_LOWER_BASE_IDX                                                             1
479#define mmUVD_GPCNT3_TARGET_UPPER                                                                      0x0053
480#define mmUVD_GPCNT3_TARGET_UPPER_BASE_IDX                                                             1
481#define mmUVD_GPCNT3_STATUS_UPPER                                                                      0x0054
482#define mmUVD_GPCNT3_STATUS_UPPER_BASE_IDX                                                             1
483
484
485// addressBlock: uvd0_uvddec
486// base address: 0x1fa00
487#define mmUVD_STATUS                                                                                   0x0080
488#define mmUVD_STATUS_BASE_IDX                                                                          1
489#define mmUVD_ENC_PIPE_BUSY                                                                            0x0081
490#define mmUVD_ENC_PIPE_BUSY_BASE_IDX                                                                   1
491#define mmUVD_SOFT_RESET                                                                               0x0084
492#define mmUVD_SOFT_RESET_BASE_IDX                                                                      1
493#define mmUVD_SOFT_RESET2                                                                              0x0085
494#define mmUVD_SOFT_RESET2_BASE_IDX                                                                     1
495#define mmUVD_MMSCH_SOFT_RESET                                                                         0x0086
496#define mmUVD_MMSCH_SOFT_RESET_BASE_IDX                                                                1
497#define mmUVD_CGC_GATE                                                                                 0x0088
498#define mmUVD_CGC_GATE_BASE_IDX                                                                        1
499#define mmUVD_CGC_STATUS                                                                               0x0089
500#define mmUVD_CGC_STATUS_BASE_IDX                                                                      1
501#define mmUVD_CGC_CTRL                                                                                 0x008a
502#define mmUVD_CGC_CTRL_BASE_IDX                                                                        1
503#define mmUVD_CGC_UDEC_STATUS                                                                          0x008b
504#define mmUVD_CGC_UDEC_STATUS_BASE_IDX                                                                 1
505#define mmUVD_SUVD_CGC_GATE                                                                            0x008c
506#define mmUVD_SUVD_CGC_GATE_BASE_IDX                                                                   1
507#define mmUVD_SUVD_CGC_STATUS                                                                          0x008d
508#define mmUVD_SUVD_CGC_STATUS_BASE_IDX                                                                 1
509#define mmUVD_SUVD_CGC_CTRL                                                                            0x008e
510#define mmUVD_SUVD_CGC_CTRL_BASE_IDX                                                                   1
511#define mmUVD_GPCOM_VCPU_CMD                                                                           0x008f
512#define mmUVD_GPCOM_VCPU_CMD_BASE_IDX                                                                  1
513#define mmUVD_GPCOM_VCPU_DATA0                                                                         0x0090
514#define mmUVD_GPCOM_VCPU_DATA0_BASE_IDX                                                                1
515#define mmUVD_GPCOM_VCPU_DATA1                                                                         0x0091
516#define mmUVD_GPCOM_VCPU_DATA1_BASE_IDX                                                                1
517#define mmUVD_GPCOM_SYS_CMD                                                                            0x0092
518#define mmUVD_GPCOM_SYS_CMD_BASE_IDX                                                                   1
519#define mmUVD_GPCOM_SYS_DATA0                                                                          0x0093
520#define mmUVD_GPCOM_SYS_DATA0_BASE_IDX                                                                 1
521#define mmUVD_GPCOM_SYS_DATA1                                                                          0x0094
522#define mmUVD_GPCOM_SYS_DATA1_BASE_IDX                                                                 1
523#define mmUVD_VCPU_INT_EN                                                                              0x0095
524#define mmUVD_VCPU_INT_EN_BASE_IDX                                                                     1
525#define mmUVD_VCPU_INT_ACK                                                                             0x0097
526#define mmUVD_VCPU_INT_ACK_BASE_IDX                                                                    1
527#define mmUVD_VCPU_INT_ROUTE                                                                           0x0098
528#define mmUVD_VCPU_INT_ROUTE_BASE_IDX                                                                  1
529#define mmUVD_ENC_VCPU_INT_EN                                                                          0x009e
530#define mmUVD_ENC_VCPU_INT_EN_BASE_IDX                                                                 1
531#define mmUVD_ENC_VCPU_INT_ACK                                                                         0x00a0
532#define mmUVD_ENC_VCPU_INT_ACK_BASE_IDX                                                                1
533#define mmUVD_MASTINT_EN                                                                               0x00a1
534#define mmUVD_MASTINT_EN_BASE_IDX                                                                      1
535#define mmUVD_SYS_INT_EN                                                                               0x00a2
536#define mmUVD_SYS_INT_EN_BASE_IDX                                                                      1
537#define mmUVD_SYS_INT_STATUS                                                                           0x00a3
538#define mmUVD_SYS_INT_STATUS_BASE_IDX                                                                  1
539#define mmUVD_SYS_INT_ACK                                                                              0x00a4
540#define mmUVD_SYS_INT_ACK_BASE_IDX                                                                     1
541#define mmUVD_JOB_DONE                                                                                 0x00a5
542#define mmUVD_JOB_DONE_BASE_IDX                                                                        1
543#define mmUVD_CBUF_ID                                                                                  0x00a6
544#define mmUVD_CBUF_ID_BASE_IDX                                                                         1
545#define mmUVD_CONTEXT_ID                                                                               0x00a7
546#define mmUVD_CONTEXT_ID_BASE_IDX                                                                      1
547#define mmUVD_CONTEXT_ID2                                                                              0x00a8
548#define mmUVD_CONTEXT_ID2_BASE_IDX                                                                     1
549#define mmUVD_NO_OP                                                                                    0x00a9
550#define mmUVD_NO_OP_BASE_IDX                                                                           1
551#define mmUVD_RB_BASE_LO                                                                               0x00aa
552#define mmUVD_RB_BASE_LO_BASE_IDX                                                                      1
553#define mmUVD_RB_BASE_HI                                                                               0x00ab
554#define mmUVD_RB_BASE_HI_BASE_IDX                                                                      1
555#define mmUVD_RB_SIZE                                                                                  0x00ac
556#define mmUVD_RB_SIZE_BASE_IDX                                                                         1
557#define mmUVD_RB_RPTR                                                                                  0x00ad
558#define mmUVD_RB_RPTR_BASE_IDX                                                                         1
559#define mmUVD_RB_WPTR                                                                                  0x00ae
560#define mmUVD_RB_WPTR_BASE_IDX                                                                         1
561#define mmUVD_RB_BASE_LO2                                                                              0x00af
562#define mmUVD_RB_BASE_LO2_BASE_IDX                                                                     1
563#define mmUVD_RB_BASE_HI2                                                                              0x00b0
564#define mmUVD_RB_BASE_HI2_BASE_IDX                                                                     1
565#define mmUVD_RB_SIZE2                                                                                 0x00b1
566#define mmUVD_RB_SIZE2_BASE_IDX                                                                        1
567#define mmUVD_RB_RPTR2                                                                                 0x00b2
568#define mmUVD_RB_RPTR2_BASE_IDX                                                                        1
569#define mmUVD_RB_WPTR2                                                                                 0x00b3
570#define mmUVD_RB_WPTR2_BASE_IDX                                                                        1
571#define mmUVD_RB_BASE_LO3                                                                              0x00b4
572#define mmUVD_RB_BASE_LO3_BASE_IDX                                                                     1
573#define mmUVD_RB_BASE_HI3                                                                              0x00b5
574#define mmUVD_RB_BASE_HI3_BASE_IDX                                                                     1
575#define mmUVD_RB_SIZE3                                                                                 0x00b6
576#define mmUVD_RB_SIZE3_BASE_IDX                                                                        1
577#define mmUVD_RB_RPTR3                                                                                 0x00b7
578#define mmUVD_RB_RPTR3_BASE_IDX                                                                        1
579#define mmUVD_RB_WPTR3                                                                                 0x00b8
580#define mmUVD_RB_WPTR3_BASE_IDX                                                                        1
581#define mmUVD_RB_BASE_LO4                                                                              0x00b9
582#define mmUVD_RB_BASE_LO4_BASE_IDX                                                                     1
583#define mmUVD_RB_BASE_HI4                                                                              0x00ba
584#define mmUVD_RB_BASE_HI4_BASE_IDX                                                                     1
585#define mmUVD_RB_SIZE4                                                                                 0x00bb
586#define mmUVD_RB_SIZE4_BASE_IDX                                                                        1
587#define mmUVD_RB_RPTR4                                                                                 0x00bc
588#define mmUVD_RB_RPTR4_BASE_IDX                                                                        1
589#define mmUVD_RB_WPTR4                                                                                 0x00bd
590#define mmUVD_RB_WPTR4_BASE_IDX                                                                        1
591#define mmUVD_OUT_RB_BASE_LO                                                                           0x00be
592#define mmUVD_OUT_RB_BASE_LO_BASE_IDX                                                                  1
593#define mmUVD_OUT_RB_BASE_HI                                                                           0x00bf
594#define mmUVD_OUT_RB_BASE_HI_BASE_IDX                                                                  1
595#define mmUVD_OUT_RB_SIZE                                                                              0x00c0
596#define mmUVD_OUT_RB_SIZE_BASE_IDX                                                                     1
597#define mmUVD_OUT_RB_RPTR                                                                              0x00c1
598#define mmUVD_OUT_RB_RPTR_BASE_IDX                                                                     1
599#define mmUVD_OUT_RB_WPTR                                                                              0x00c2
600#define mmUVD_OUT_RB_WPTR_BASE_IDX                                                                     1
601#define mmUVD_RB_ARB_CTRL                                                                              0x00c6
602#define mmUVD_RB_ARB_CTRL_BASE_IDX                                                                     1
603#define mmUVD_CTX_INDEX                                                                                0x00c7
604#define mmUVD_CTX_INDEX_BASE_IDX                                                                       1
605#define mmUVD_CTX_DATA                                                                                 0x00c8
606#define mmUVD_CTX_DATA_BASE_IDX                                                                        1
607#define mmUVD_CXW_WR                                                                                   0x00c9
608#define mmUVD_CXW_WR_BASE_IDX                                                                          1
609#define mmUVD_CXW_WR_INT_ID                                                                            0x00ca
610#define mmUVD_CXW_WR_INT_ID_BASE_IDX                                                                   1
611#define mmUVD_CXW_WR_INT_CTX_ID                                                                        0x00cb
612#define mmUVD_CXW_WR_INT_CTX_ID_BASE_IDX                                                               1
613#define mmUVD_CXW_INT_ID                                                                               0x00cc
614#define mmUVD_CXW_INT_ID_BASE_IDX                                                                      1
615#define mmUVD_TOP_CTRL                                                                                 0x00cf
616#define mmUVD_TOP_CTRL_BASE_IDX                                                                        1
617#define mmUVD_YBASE                                                                                    0x00d0
618#define mmUVD_YBASE_BASE_IDX                                                                           1
619#define mmUVD_UVBASE                                                                                   0x00d1
620#define mmUVD_UVBASE_BASE_IDX                                                                          1
621#define mmUVD_PITCH                                                                                    0x00d2
622#define mmUVD_PITCH_BASE_IDX                                                                           1
623#define mmUVD_WIDTH                                                                                    0x00d3
624#define mmUVD_WIDTH_BASE_IDX                                                                           1
625#define mmUVD_HEIGHT                                                                                   0x00d4
626#define mmUVD_HEIGHT_BASE_IDX                                                                          1
627#define mmUVD_PICCOUNT                                                                                 0x00d5
628#define mmUVD_PICCOUNT_BASE_IDX                                                                        1
629#define mmUVD_SCRATCH_NP                                                                               0x00db
630#define mmUVD_SCRATCH_NP_BASE_IDX                                                                      1
631#define mmUVD_VERSION                                                                                  0x00dd
632#define mmUVD_VERSION_BASE_IDX                                                                         1
633#define mmUVD_GP_SCRATCH0                                                                              0x00de
634#define mmUVD_GP_SCRATCH0_BASE_IDX                                                                     1
635#define mmUVD_GP_SCRATCH1                                                                              0x00df
636#define mmUVD_GP_SCRATCH1_BASE_IDX                                                                     1
637#define mmUVD_GP_SCRATCH2                                                                              0x00e0
638#define mmUVD_GP_SCRATCH2_BASE_IDX                                                                     1
639#define mmUVD_GP_SCRATCH3                                                                              0x00e1
640#define mmUVD_GP_SCRATCH3_BASE_IDX                                                                     1
641#define mmUVD_GP_SCRATCH4                                                                              0x00e2
642#define mmUVD_GP_SCRATCH4_BASE_IDX                                                                     1
643#define mmUVD_GP_SCRATCH5                                                                              0x00e3
644#define mmUVD_GP_SCRATCH5_BASE_IDX                                                                     1
645#define mmUVD_GP_SCRATCH6                                                                              0x00e4
646#define mmUVD_GP_SCRATCH6_BASE_IDX                                                                     1
647#define mmUVD_GP_SCRATCH7                                                                              0x00e5
648#define mmUVD_GP_SCRATCH7_BASE_IDX                                                                     1
649#define mmUVD_GP_SCRATCH8                                                                              0x00e6
650#define mmUVD_GP_SCRATCH8_BASE_IDX                                                                     1
651#define mmUVD_GP_SCRATCH9                                                                              0x00e7
652#define mmUVD_GP_SCRATCH9_BASE_IDX                                                                     1
653#define mmUVD_GP_SCRATCH10                                                                             0x00e8
654#define mmUVD_GP_SCRATCH10_BASE_IDX                                                                    1
655#define mmUVD_GP_SCRATCH11                                                                             0x00e9
656#define mmUVD_GP_SCRATCH11_BASE_IDX                                                                    1
657#define mmUVD_GP_SCRATCH12                                                                             0x00ea
658#define mmUVD_GP_SCRATCH12_BASE_IDX                                                                    1
659#define mmUVD_GP_SCRATCH13                                                                             0x00eb
660#define mmUVD_GP_SCRATCH13_BASE_IDX                                                                    1
661#define mmUVD_GP_SCRATCH14                                                                             0x00ec
662#define mmUVD_GP_SCRATCH14_BASE_IDX                                                                    1
663#define mmUVD_GP_SCRATCH15                                                                             0x00ed
664#define mmUVD_GP_SCRATCH15_BASE_IDX                                                                    1
665#define mmUVD_GP_SCRATCH16                                                                             0x00ee
666#define mmUVD_GP_SCRATCH16_BASE_IDX                                                                    1
667#define mmUVD_GP_SCRATCH17                                                                             0x00ef
668#define mmUVD_GP_SCRATCH17_BASE_IDX                                                                    1
669#define mmUVD_GP_SCRATCH18                                                                             0x00f0
670#define mmUVD_GP_SCRATCH18_BASE_IDX                                                                    1
671#define mmUVD_GP_SCRATCH19                                                                             0x00f1
672#define mmUVD_GP_SCRATCH19_BASE_IDX                                                                    1
673#define mmUVD_GP_SCRATCH20                                                                             0x00f2
674#define mmUVD_GP_SCRATCH20_BASE_IDX                                                                    1
675#define mmUVD_GP_SCRATCH21                                                                             0x00f3
676#define mmUVD_GP_SCRATCH21_BASE_IDX                                                                    1
677#define mmUVD_GP_SCRATCH22                                                                             0x00f4
678#define mmUVD_GP_SCRATCH22_BASE_IDX                                                                    1
679#define mmUVD_GP_SCRATCH23                                                                             0x00f5
680#define mmUVD_GP_SCRATCH23_BASE_IDX                                                                    1
681
682
683// addressBlock: uvd0_ecpudec
684// base address: 0x1fd00
685#define mmUVD_VCPU_CACHE_OFFSET0                                                                       0x0140
686#define mmUVD_VCPU_CACHE_OFFSET0_BASE_IDX                                                              1
687#define mmUVD_VCPU_CACHE_SIZE0                                                                         0x0141
688#define mmUVD_VCPU_CACHE_SIZE0_BASE_IDX                                                                1
689#define mmUVD_VCPU_CACHE_OFFSET1                                                                       0x0142
690#define mmUVD_VCPU_CACHE_OFFSET1_BASE_IDX                                                              1
691#define mmUVD_VCPU_CACHE_SIZE1                                                                         0x0143
692#define mmUVD_VCPU_CACHE_SIZE1_BASE_IDX                                                                1
693#define mmUVD_VCPU_CACHE_OFFSET2                                                                       0x0144
694#define mmUVD_VCPU_CACHE_OFFSET2_BASE_IDX                                                              1
695#define mmUVD_VCPU_CACHE_SIZE2                                                                         0x0145
696#define mmUVD_VCPU_CACHE_SIZE2_BASE_IDX                                                                1
697#define mmUVD_VCPU_CACHE_OFFSET3                                                                       0x0146
698#define mmUVD_VCPU_CACHE_OFFSET3_BASE_IDX                                                              1
699#define mmUVD_VCPU_CACHE_SIZE3                                                                         0x0147
700#define mmUVD_VCPU_CACHE_SIZE3_BASE_IDX                                                                1
701#define mmUVD_VCPU_CACHE_OFFSET4                                                                       0x0148
702#define mmUVD_VCPU_CACHE_OFFSET4_BASE_IDX                                                              1
703#define mmUVD_VCPU_CACHE_SIZE4                                                                         0x0149
704#define mmUVD_VCPU_CACHE_SIZE4_BASE_IDX                                                                1
705#define mmUVD_VCPU_CACHE_OFFSET5                                                                       0x014a
706#define mmUVD_VCPU_CACHE_OFFSET5_BASE_IDX                                                              1
707#define mmUVD_VCPU_CACHE_SIZE5                                                                         0x014b
708#define mmUVD_VCPU_CACHE_SIZE5_BASE_IDX                                                                1
709#define mmUVD_VCPU_CACHE_OFFSET6                                                                       0x014c
710#define mmUVD_VCPU_CACHE_OFFSET6_BASE_IDX                                                              1
711#define mmUVD_VCPU_CACHE_SIZE6                                                                         0x014d
712#define mmUVD_VCPU_CACHE_SIZE6_BASE_IDX                                                                1
713#define mmUVD_VCPU_CACHE_OFFSET7                                                                       0x014e
714#define mmUVD_VCPU_CACHE_OFFSET7_BASE_IDX                                                              1
715#define mmUVD_VCPU_CACHE_SIZE7                                                                         0x014f
716#define mmUVD_VCPU_CACHE_SIZE7_BASE_IDX                                                                1
717#define mmUVD_VCPU_CACHE_OFFSET8                                                                       0x0150
718#define mmUVD_VCPU_CACHE_OFFSET8_BASE_IDX                                                              1
719#define mmUVD_VCPU_CACHE_SIZE8                                                                         0x0151
720#define mmUVD_VCPU_CACHE_SIZE8_BASE_IDX                                                                1
721#define mmUVD_VCPU_NONCACHE_OFFSET0                                                                    0x0152
722#define mmUVD_VCPU_NONCACHE_OFFSET0_BASE_IDX                                                           1
723#define mmUVD_VCPU_NONCACHE_SIZE0                                                                      0x0153
724#define mmUVD_VCPU_NONCACHE_SIZE0_BASE_IDX                                                             1
725#define mmUVD_VCPU_NONCACHE_OFFSET1                                                                    0x0154
726#define mmUVD_VCPU_NONCACHE_OFFSET1_BASE_IDX                                                           1
727#define mmUVD_VCPU_NONCACHE_SIZE1                                                                      0x0155
728#define mmUVD_VCPU_NONCACHE_SIZE1_BASE_IDX                                                             1
729#define mmUVD_VCPU_CNTL                                                                                0x0156
730#define mmUVD_VCPU_CNTL_BASE_IDX                                                                       1
731#define mmUVD_VCPU_PRID                                                                                0x0157
732#define mmUVD_VCPU_PRID_BASE_IDX                                                                       1
733#define mmUVD_VCPU_TRCE                                                                                0x0158
734#define mmUVD_VCPU_TRCE_BASE_IDX                                                                       1
735#define mmUVD_VCPU_TRCE_RD                                                                             0x0159
736#define mmUVD_VCPU_TRCE_RD_BASE_IDX                                                                    1
737
738
739// addressBlock: uvd0_uvd_mpcdec
740// base address: 0x20310
741#define mmUVD_MP_SWAP_CNTL                                                                             0x02c4
742#define mmUVD_MP_SWAP_CNTL_BASE_IDX                                                                    1
743#define mmUVD_MP_SWAP_CNTL2                                                                            0x02c5
744#define mmUVD_MP_SWAP_CNTL2_BASE_IDX                                                                   1
745#define mmUVD_MPC_LUMA_SRCH                                                                            0x02c6
746#define mmUVD_MPC_LUMA_SRCH_BASE_IDX                                                                   1
747#define mmUVD_MPC_LUMA_HIT                                                                             0x02c7
748#define mmUVD_MPC_LUMA_HIT_BASE_IDX                                                                    1
749#define mmUVD_MPC_LUMA_HITPEND                                                                         0x02c8
750#define mmUVD_MPC_LUMA_HITPEND_BASE_IDX                                                                1
751#define mmUVD_MPC_CHROMA_SRCH                                                                          0x02c9
752#define mmUVD_MPC_CHROMA_SRCH_BASE_IDX                                                                 1
753#define mmUVD_MPC_CHROMA_HIT                                                                           0x02ca
754#define mmUVD_MPC_CHROMA_HIT_BASE_IDX                                                                  1
755#define mmUVD_MPC_CHROMA_HITPEND                                                                       0x02cb
756#define mmUVD_MPC_CHROMA_HITPEND_BASE_IDX                                                              1
757#define mmUVD_MPC_CNTL                                                                                 0x02cc
758#define mmUVD_MPC_CNTL_BASE_IDX                                                                        1
759#define mmUVD_MPC_PITCH                                                                                0x02cd
760#define mmUVD_MPC_PITCH_BASE_IDX                                                                       1
761#define mmUVD_MPC_SET_MUXA0                                                                            0x02ce
762#define mmUVD_MPC_SET_MUXA0_BASE_IDX                                                                   1
763#define mmUVD_MPC_SET_MUXA1                                                                            0x02cf
764#define mmUVD_MPC_SET_MUXA1_BASE_IDX                                                                   1
765#define mmUVD_MPC_SET_MUXB0                                                                            0x02d0
766#define mmUVD_MPC_SET_MUXB0_BASE_IDX                                                                   1
767#define mmUVD_MPC_SET_MUXB1                                                                            0x02d1
768#define mmUVD_MPC_SET_MUXB1_BASE_IDX                                                                   1
769#define mmUVD_MPC_SET_MUX                                                                              0x02d2
770#define mmUVD_MPC_SET_MUX_BASE_IDX                                                                     1
771#define mmUVD_MPC_SET_ALU                                                                              0x02d3
772#define mmUVD_MPC_SET_ALU_BASE_IDX                                                                     1
773#define mmUVD_MPC_PERF0                                                                                0x02d4
774#define mmUVD_MPC_PERF0_BASE_IDX                                                                       1
775#define mmUVD_MPC_PERF1                                                                                0x02d5
776#define mmUVD_MPC_PERF1_BASE_IDX                                                                       1
777
778
779// addressBlock: uvd0_uvd_rbcdec
780// base address: 0x20370
781#define mmUVD_RBC_IB_SIZE                                                                              0x02dc
782#define mmUVD_RBC_IB_SIZE_BASE_IDX                                                                     1
783#define mmUVD_RBC_IB_SIZE_UPDATE                                                                       0x02dd
784#define mmUVD_RBC_IB_SIZE_UPDATE_BASE_IDX                                                              1
785#define mmUVD_RBC_RB_CNTL                                                                              0x02de
786#define mmUVD_RBC_RB_CNTL_BASE_IDX                                                                     1
787#define mmUVD_RBC_RB_RPTR_ADDR                                                                         0x02df
788#define mmUVD_RBC_RB_RPTR_ADDR_BASE_IDX                                                                1
789#define mmUVD_RBC_RB_RPTR                                                                              0x02e0
790#define mmUVD_RBC_RB_RPTR_BASE_IDX                                                                     1
791#define mmUVD_RBC_RB_WPTR                                                                              0x02e1
792#define mmUVD_RBC_RB_WPTR_BASE_IDX                                                                     1
793#define mmUVD_RBC_VCPU_ACCESS                                                                          0x02e2
794#define mmUVD_RBC_VCPU_ACCESS_BASE_IDX                                                                 1
795#define mmUVD_RBC_READ_REQ_URGENT_CNTL                                                                 0x02e5
796#define mmUVD_RBC_READ_REQ_URGENT_CNTL_BASE_IDX                                                        1
797#define mmUVD_RBC_RB_WPTR_CNTL                                                                         0x02e6
798#define mmUVD_RBC_RB_WPTR_CNTL_BASE_IDX                                                                1
799#define mmUVD_RBC_WPTR_STATUS                                                                          0x02e7
800#define mmUVD_RBC_WPTR_STATUS_BASE_IDX                                                                 1
801#define mmUVD_RBC_WPTR_POLL_CNTL                                                                       0x02e8
802#define mmUVD_RBC_WPTR_POLL_CNTL_BASE_IDX                                                              1
803#define mmUVD_RBC_WPTR_POLL_ADDR                                                                       0x02e9
804#define mmUVD_RBC_WPTR_POLL_ADDR_BASE_IDX                                                              1
805#define mmUVD_SEMA_CMD                                                                                 0x02ea
806#define mmUVD_SEMA_CMD_BASE_IDX                                                                        1
807#define mmUVD_SEMA_ADDR_LOW                                                                            0x02eb
808#define mmUVD_SEMA_ADDR_LOW_BASE_IDX                                                                   1
809#define mmUVD_SEMA_ADDR_HIGH                                                                           0x02ec
810#define mmUVD_SEMA_ADDR_HIGH_BASE_IDX                                                                  1
811#define mmUVD_ENGINE_CNTL                                                                              0x02ed
812#define mmUVD_ENGINE_CNTL_BASE_IDX                                                                     1
813#define mmUVD_SEMA_TIMEOUT_STATUS                                                                      0x02ee
814#define mmUVD_SEMA_TIMEOUT_STATUS_BASE_IDX                                                             1
815#define mmUVD_SEMA_CNTL                                                                                0x02ef
816#define mmUVD_SEMA_CNTL_BASE_IDX                                                                       1
817#define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL                                                      0x02f0
818#define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX                                             1
819#define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL                                                             0x02f1
820#define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL_BASE_IDX                                                    1
821#define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL                                                        0x02f2
822#define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX                                               1
823#define mmUVD_JOB_START                                                                                0x02f3
824#define mmUVD_JOB_START_BASE_IDX                                                                       1
825#define mmUVD_RBC_BUF_STATUS                                                                           0x02f4
826#define mmUVD_RBC_BUF_STATUS_BASE_IDX                                                                  1
827
828
829// addressBlock: uvd0_uvdgendec
830// base address: 0x20470
831#define mmUVD_LCM_CGC_CNTRL                                                                            0x033f
832#define mmUVD_LCM_CGC_CNTRL_BASE_IDX                                                                   1
833#define mmUVD_MIF_CURR_UV_ADDR_CONFIG                                                                  0x03a0
834#define mmUVD_MIF_CURR_UV_ADDR_CONFIG_BASE_IDX                                                         1
835#define mmUVD_MIF_REF_UV_ADDR_CONFIG                                                                   0x03a1
836#define mmUVD_MIF_REF_UV_ADDR_CONFIG_BASE_IDX                                                          1
837#define mmUVD_MIF_RECON1_UV_ADDR_CONFIG                                                                0x03a2
838#define mmUVD_MIF_RECON1_UV_ADDR_CONFIG_BASE_IDX                                                       1
839#define mmUVD_MIF_CURR_ADDR_CONFIG                                                                     0x03ae
840#define mmUVD_MIF_CURR_ADDR_CONFIG_BASE_IDX                                                            1
841#define mmUVD_MIF_REF_ADDR_CONFIG                                                                      0x03af
842#define mmUVD_MIF_REF_ADDR_CONFIG_BASE_IDX                                                             1
843#define mmUVD_MIF_RECON1_ADDR_CONFIG                                                                   0x03e1
844#define mmUVD_MIF_RECON1_ADDR_CONFIG_BASE_IDX                                                          1
845
846
847// addressBlock: uvd0_lmi_adpdec
848// base address: 0x20870
849#define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW                                                                 0x0432
850#define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW_BASE_IDX                                                        1
851#define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH                                                                0x0433
852#define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH_BASE_IDX                                                       1
853#define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW                                                                 0x0434
854#define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW_BASE_IDX                                                        1
855#define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH                                                                0x0435
856#define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH_BASE_IDX                                                       1
857#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_LOW                                                               0x0438
858#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_LOW_BASE_IDX                                                      1
859#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_HIGH                                                              0x0439
860#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_HIGH_BASE_IDX                                                     1
861#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_LOW                                                               0x043a
862#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_LOW_BASE_IDX                                                      1
863#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_HIGH                                                              0x043b
864#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_HIGH_BASE_IDX                                                     1
865#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW                                                             0x043c
866#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX                                                    1
867#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH                                                            0x043d
868#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX                                                   1
869#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW                                                            0x0468
870#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW_BASE_IDX                                                   1
871#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH                                                           0x0469
872#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH_BASE_IDX                                                  1
873#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_LOW                                                            0x046a
874#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_LOW_BASE_IDX                                                   1
875#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_HIGH                                                           0x046b
876#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_HIGH_BASE_IDX                                                  1
877#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW                                                            0x046c
878#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW_BASE_IDX                                                   1
879#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH                                                           0x046d
880#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH_BASE_IDX                                                  1
881#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_LOW                                                            0x046e
882#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_LOW_BASE_IDX                                                   1
883#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_HIGH                                                           0x046f
884#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_HIGH_BASE_IDX                                                  1
885#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_LOW                                                            0x0470
886#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_LOW_BASE_IDX                                                   1
887#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_HIGH                                                           0x0471
888#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_HIGH_BASE_IDX                                                  1
889#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_LOW                                                            0x0472
890#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_LOW_BASE_IDX                                                   1
891#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_HIGH                                                           0x0473
892#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_HIGH_BASE_IDX                                                  1
893#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_LOW                                                            0x0474
894#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_LOW_BASE_IDX                                                   1
895#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_HIGH                                                           0x0475
896#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_HIGH_BASE_IDX                                                  1
897#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_LOW                                                            0x0476
898#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_LOW_BASE_IDX                                                   1
899#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_HIGH                                                           0x0477
900#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_HIGH_BASE_IDX                                                  1
901#define mmUVD_LMI_SPH_64BIT_BAR_HIGH                                                                   0x047c
902#define mmUVD_LMI_SPH_64BIT_BAR_HIGH_BASE_IDX                                                          1
903#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_LOW                                                              0x047d
904#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_LOW_BASE_IDX                                                     1
905#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_HIGH                                                             0x047e
906#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_HIGH_BASE_IDX                                                    1
907#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_LOW                                                              0x047f
908#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_LOW_BASE_IDX                                                     1
909#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_HIGH                                                             0x0480
910#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_HIGH_BASE_IDX                                                    1
911#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_LOW                                                              0x0481
912#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_LOW_BASE_IDX                                                     1
913#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_HIGH                                                             0x0482
914#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_HIGH_BASE_IDX                                                    1
915#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_LOW                                                              0x0483
916#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_LOW_BASE_IDX                                                     1
917#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_HIGH                                                             0x0484
918#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_HIGH_BASE_IDX                                                    1
919#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_LOW                                                              0x0485
920#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_LOW_BASE_IDX                                                     1
921#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_HIGH                                                             0x0486
922#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_HIGH_BASE_IDX                                                    1
923#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_LOW                                                              0x0487
924#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_LOW_BASE_IDX                                                     1
925#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_HIGH                                                             0x0488
926#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_HIGH_BASE_IDX                                                    1
927#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_LOW                                                              0x0489
928#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_LOW_BASE_IDX                                                     1
929#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_HIGH                                                             0x048a
930#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_HIGH_BASE_IDX                                                    1
931#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_LOW                                                              0x048b
932#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_LOW_BASE_IDX                                                     1
933#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_HIGH                                                             0x048c
934#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_HIGH_BASE_IDX                                                    1
935#define mmUVD_LMI_MMSCH_NC_VMID                                                                        0x048d
936#define mmUVD_LMI_MMSCH_NC_VMID_BASE_IDX                                                               1
937#define mmUVD_LMI_MMSCH_CTRL                                                                           0x048e
938#define mmUVD_LMI_MMSCH_CTRL_BASE_IDX                                                                  1
939#define mmUVD_LMI_ARB_CTRL2                                                                            0x049a
940#define mmUVD_LMI_ARB_CTRL2_BASE_IDX                                                                   1
941#define mmUVD_LMI_VCPU_CACHE_VMIDS_MULTI                                                               0x049f
942#define mmUVD_LMI_VCPU_CACHE_VMIDS_MULTI_BASE_IDX                                                      1
943#define mmUVD_LMI_VCPU_NC_VMIDS_MULTI                                                                  0x04a0
944#define mmUVD_LMI_VCPU_NC_VMIDS_MULTI_BASE_IDX                                                         1
945#define mmUVD_LMI_LAT_CTRL                                                                             0x04a1
946#define mmUVD_LMI_LAT_CTRL_BASE_IDX                                                                    1
947#define mmUVD_LMI_LAT_CNTR                                                                             0x04a2
948#define mmUVD_LMI_LAT_CNTR_BASE_IDX                                                                    1
949#define mmUVD_LMI_AVG_LAT_CNTR                                                                         0x04a3
950#define mmUVD_LMI_AVG_LAT_CNTR_BASE_IDX                                                                1
951#define mmUVD_LMI_SPH                                                                                  0x04a4
952#define mmUVD_LMI_SPH_BASE_IDX                                                                         1
953#define mmUVD_LMI_VCPU_CACHE_VMID                                                                      0x04a5
954#define mmUVD_LMI_VCPU_CACHE_VMID_BASE_IDX                                                             1
955#define mmUVD_LMI_CTRL2                                                                                0x04a6
956#define mmUVD_LMI_CTRL2_BASE_IDX                                                                       1
957#define mmUVD_LMI_URGENT_CTRL                                                                          0x04a7
958#define mmUVD_LMI_URGENT_CTRL_BASE_IDX                                                                 1
959#define mmUVD_LMI_CTRL                                                                                 0x04a8
960#define mmUVD_LMI_CTRL_BASE_IDX                                                                        1
961#define mmUVD_LMI_STATUS                                                                               0x04a9
962#define mmUVD_LMI_STATUS_BASE_IDX                                                                      1
963#define mmUVD_LMI_PERFMON_CTRL                                                                         0x04ac
964#define mmUVD_LMI_PERFMON_CTRL_BASE_IDX                                                                1
965#define mmUVD_LMI_PERFMON_COUNT_LO                                                                     0x04ad
966#define mmUVD_LMI_PERFMON_COUNT_LO_BASE_IDX                                                            1
967#define mmUVD_LMI_PERFMON_COUNT_HI                                                                     0x04ae
968#define mmUVD_LMI_PERFMON_COUNT_HI_BASE_IDX                                                            1
969#define mmUVD_LMI_RBC_RB_VMID                                                                          0x04b0
970#define mmUVD_LMI_RBC_RB_VMID_BASE_IDX                                                                 1
971#define mmUVD_LMI_RBC_IB_VMID                                                                          0x04b1
972#define mmUVD_LMI_RBC_IB_VMID_BASE_IDX                                                                 1
973#define mmUVD_LMI_MC_CREDITS                                                                           0x04b2
974#define mmUVD_LMI_MC_CREDITS_BASE_IDX                                                                  1
975
976
977// addressBlock: uvd0_uvdnpdec
978// base address: 0x20bd0
979#define mmMDM_DMA_CMD                                                                                  0x06f4
980#define mmMDM_DMA_CMD_BASE_IDX                                                                         1
981#define mmMDM_DMA_STATUS                                                                               0x06f5
982#define mmMDM_DMA_STATUS_BASE_IDX                                                                      1
983#define mmMDM_DMA_CTL                                                                                  0x06f6
984#define mmMDM_DMA_CTL_BASE_IDX                                                                         1
985#define mmMDM_ENC_PIPE_BUSY                                                                            0x06f7
986#define mmMDM_ENC_PIPE_BUSY_BASE_IDX                                                                   1
987#define mmMDM_WIG_PIPE_BUSY                                                                            0x06f9
988#define mmMDM_WIG_PIPE_BUSY_BASE_IDX                                                                   1
989
990
991/* VCN 2_6_0 regs */
992#define mmUVD_RAS_VCPU_VCODEC_STATUS                           0x0057
993#define mmUVD_RAS_VCPU_VCODEC_STATUS_BASE_IDX                  1
994#define mmUVD_RAS_MMSCH_FATAL_ERROR                            0x0058
995#define mmUVD_RAS_MMSCH_FATAL_ERROR_BASE_IDX                   1
996#define mmVCN_RAS_CNTL                                                                                 0x04b9
997#define mmVCN_RAS_CNTL_BASE_IDX                                                                        1
998
999/* JPEG 2_6_0 regs */
1000#define mmUVD_RAS_JPEG0_STATUS                                 0x0059
1001#define mmUVD_RAS_JPEG0_STATUS_BASE_IDX                        1
1002#define mmUVD_RAS_JPEG1_STATUS                                 0x005a
1003#define mmUVD_RAS_JPEG1_STATUS_BASE_IDX                        1
1004
1005#endif
1006