/*
 * Copyright (C) 2017  Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#ifndef _vce_4_0_OFFSET_HEADER
#define _vce_4_0_OFFSET_HEADER



// addressBlock: vce0_vce_dec
// base address: 0x22000
#define mmVCE_STATUS                                                                                   0x0a01
#define mmVCE_STATUS_BASE_IDX                                                                          0
#define mmVCE_VCPU_CNTL                                                                                0x0a05
#define mmVCE_VCPU_CNTL_BASE_IDX                                                                       0
#define mmVCE_VCPU_CACHE_OFFSET0                                                                       0x0a09
#define mmVCE_VCPU_CACHE_OFFSET0_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE0                                                                         0x0a0a
#define mmVCE_VCPU_CACHE_SIZE0_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET1                                                                       0x0a0b
#define mmVCE_VCPU_CACHE_OFFSET1_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE1                                                                         0x0a0c
#define mmVCE_VCPU_CACHE_SIZE1_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET2                                                                       0x0a0d
#define mmVCE_VCPU_CACHE_OFFSET2_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE2                                                                         0x0a0e
#define mmVCE_VCPU_CACHE_SIZE2_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET3                                                                       0x0a0f
#define mmVCE_VCPU_CACHE_OFFSET3_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE3                                                                         0x0a10
#define mmVCE_VCPU_CACHE_SIZE3_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET4                                                                       0x0a11
#define mmVCE_VCPU_CACHE_OFFSET4_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE4                                                                         0x0a12
#define mmVCE_VCPU_CACHE_SIZE4_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET5                                                                       0x0a13
#define mmVCE_VCPU_CACHE_OFFSET5_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE5                                                                         0x0a14
#define mmVCE_VCPU_CACHE_SIZE5_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET6                                                                       0x0a15
#define mmVCE_VCPU_CACHE_OFFSET6_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE6                                                                         0x0a16
#define mmVCE_VCPU_CACHE_SIZE6_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET7                                                                       0x0a17
#define mmVCE_VCPU_CACHE_OFFSET7_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE7                                                                         0x0a18
#define mmVCE_VCPU_CACHE_SIZE7_BASE_IDX                                                                0
#define mmVCE_VCPU_CACHE_OFFSET8                                                                       0x0a19
#define mmVCE_VCPU_CACHE_OFFSET8_BASE_IDX                                                              0
#define mmVCE_VCPU_CACHE_SIZE8                                                                         0x0a1a
#define mmVCE_VCPU_CACHE_SIZE8_BASE_IDX                                                                0
#define mmVCE_SOFT_RESET                                                                               0x0a48
#define mmVCE_SOFT_RESET_BASE_IDX                                                                      0
#define mmVCE_RB_BASE_LO2                                                                              0x0a5b
#define mmVCE_RB_BASE_LO2_BASE_IDX                                                                     0
#define mmVCE_RB_BASE_HI2                                                                              0x0a5c
#define mmVCE_RB_BASE_HI2_BASE_IDX                                                                     0
#define mmVCE_RB_SIZE2                                                                                 0x0a5d
#define mmVCE_RB_SIZE2_BASE_IDX                                                                        0
#define mmVCE_RB_RPTR2                                                                                 0x0a5e
#define mmVCE_RB_RPTR2_BASE_IDX                                                                        0
#define mmVCE_RB_WPTR2                                                                                 0x0a5f
#define mmVCE_RB_WPTR2_BASE_IDX                                                                        0
#define mmVCE_RB_BASE_LO                                                                               0x0a60
#define mmVCE_RB_BASE_LO_BASE_IDX                                                                      0
#define mmVCE_RB_BASE_HI                                                                               0x0a61
#define mmVCE_RB_BASE_HI_BASE_IDX                                                                      0
#define mmVCE_RB_SIZE                                                                                  0x0a62
#define mmVCE_RB_SIZE_BASE_IDX                                                                         0
#define mmVCE_RB_RPTR                                                                                  0x0a63
#define mmVCE_RB_RPTR_BASE_IDX                                                                         0
#define mmVCE_RB_WPTR                                                                                  0x0a64
#define mmVCE_RB_WPTR_BASE_IDX                                                                         0
#define mmVCE_RB_ARB_CTRL                                                                              0x0a9f
#define mmVCE_RB_ARB_CTRL_BASE_IDX                                                                     0
#define mmVCE_CLOCK_GATING_A                                                                           0x0abe
#define mmVCE_CLOCK_GATING_A_BASE_IDX                                                                  0
#define mmVCE_CLOCK_GATING_B                                                                           0x0abf
#define mmVCE_CLOCK_GATING_B_BASE_IDX                                                                  0
#define mmVCE_RB_BASE_LO3                                                                              0x0ad4
#define mmVCE_RB_BASE_LO3_BASE_IDX                                                                     0
#define mmVCE_RB_BASE_HI3                                                                              0x0ad5
#define mmVCE_RB_BASE_HI3_BASE_IDX                                                                     0
#define mmVCE_RB_SIZE3                                                                                 0x0ad6
#define mmVCE_RB_SIZE3_BASE_IDX                                                                        0
#define mmVCE_RB_RPTR3                                                                                 0x0ad7
#define mmVCE_RB_RPTR3_BASE_IDX                                                                        0
#define mmVCE_RB_WPTR3                                                                                 0x0ad8
#define mmVCE_RB_WPTR3_BASE_IDX                                                                        0
#define mmVCE_SYS_INT_EN                                                                               0x0b00
#define mmVCE_SYS_INT_EN_BASE_IDX                                                                      0
#define mmVCE_SYS_INT_ACK                                                                              0x0b01
#define mmVCE_SYS_INT_ACK_BASE_IDX                                                                     0
#define mmVCE_SYS_INT_STATUS                                                                           0x0b01
#define mmVCE_SYS_INT_STATUS_BASE_IDX                                                                  0


// addressBlock: vce0_ctl_dec
// base address: 0x22780
#define mmVCE_UENC_CLOCK_GATING                                                                        0x0bef
#define mmVCE_UENC_CLOCK_GATING_BASE_IDX                                                               0
#define mmVCE_UENC_REG_CLOCK_GATING                                                                    0x0bf0
#define mmVCE_UENC_REG_CLOCK_GATING_BASE_IDX                                                           0
#define mmVCE_UENC_CLOCK_GATING_2                                                                      0x0c10
#define mmVCE_UENC_CLOCK_GATING_2_BASE_IDX                                                             0


// addressBlock: vce0_vce_sclk_dec
// base address: 0x23700
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR                                                                 0x0fcc
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR_BASE_IDX                                                        0
#define mmVCE_LMI_CTRL2                                                                                0x0fcf
#define mmVCE_LMI_CTRL2_BASE_IDX                                                                       0
#define mmVCE_LMI_SWAP_CNTL3                                                                           0x0fd0
#define mmVCE_LMI_SWAP_CNTL3_BASE_IDX                                                                  0
#define mmVCE_LMI_CTRL                                                                                 0x0fd6
#define mmVCE_LMI_CTRL_BASE_IDX                                                                        0
#define mmVCE_LMI_STATUS                                                                               0x0fd7
#define mmVCE_LMI_STATUS_BASE_IDX                                                                      0
#define mmVCE_LMI_VM_CTRL                                                                              0x0fd8
#define mmVCE_LMI_VM_CTRL_BASE_IDX                                                                     0
#define mmVCE_LMI_SWAP_CNTL                                                                            0x0fdd
#define mmVCE_LMI_SWAP_CNTL_BASE_IDX                                                                   0
#define mmVCE_LMI_SWAP_CNTL1                                                                           0x0fde
#define mmVCE_LMI_SWAP_CNTL1_BASE_IDX                                                                  0
#define mmVCE_LMI_SWAP_CNTL2                                                                           0x0fe2
#define mmVCE_LMI_SWAP_CNTL2_BASE_IDX                                                                  0
#define mmVCE_LMI_CACHE_CTRL                                                                           0x0fec
#define mmVCE_LMI_CACHE_CTRL_BASE_IDX                                                                  0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR0                                                                0x1086
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR0_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR1                                                                0x1087
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR1_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR2                                                                0x1088
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR2_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR3                                                                0x1089
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR3_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR4                                                                0x108a
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR4_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR5                                                                0x108b
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR5_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR6                                                                0x108c
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR6_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR7                                                                0x108d
#define mmVCE_LMI_VCPU_CACHE_64BIT_BAR7_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR0                                                                0x1096
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR0_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR1                                                                0x1097
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR1_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR2                                                                0x1098
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR2_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR3                                                                0x1099
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR3_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR4                                                                0x109a
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR4_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR5                                                                0x109b
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR5_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR6                                                                0x109c
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR6_BASE_IDX                                                       0
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR7                                                                0x109d
#define mmVCE_LMI_VCPU_CACHE_40BIT_BAR7_BASE_IDX                                                       0


// addressBlock: vce0_mmsch_dec
// base address: 0x23b00
#define mmVCE_MMSCH_VF_VMID                                                                            0x10cb
#define mmVCE_MMSCH_VF_VMID_BASE_IDX                                                                   0
#define mmVCE_MMSCH_VF_CTX_ADDR_LO                                                                     0x10cc
#define mmVCE_MMSCH_VF_CTX_ADDR_LO_BASE_IDX                                                            0
#define mmVCE_MMSCH_VF_CTX_ADDR_HI                                                                     0x10cd
#define mmVCE_MMSCH_VF_CTX_ADDR_HI_BASE_IDX                                                            0
#define mmVCE_MMSCH_VF_CTX_SIZE                                                                        0x10ce
#define mmVCE_MMSCH_VF_CTX_SIZE_BASE_IDX                                                               0
#define mmVCE_MMSCH_VF_GPCOM_ADDR_LO                                                                   0x10cf
#define mmVCE_MMSCH_VF_GPCOM_ADDR_LO_BASE_IDX                                                          0
#define mmVCE_MMSCH_VF_GPCOM_ADDR_HI                                                                   0x10d0
#define mmVCE_MMSCH_VF_GPCOM_ADDR_HI_BASE_IDX                                                          0
#define mmVCE_MMSCH_VF_GPCOM_SIZE                                                                      0x10d1
#define mmVCE_MMSCH_VF_GPCOM_SIZE_BASE_IDX                                                             0
#define mmVCE_MMSCH_VF_MAILBOX_HOST                                                                    0x10d2
#define mmVCE_MMSCH_VF_MAILBOX_HOST_BASE_IDX                                                           0
#define mmVCE_MMSCH_VF_MAILBOX_RESP                                                                    0x10d3
#define mmVCE_MMSCH_VF_MAILBOX_RESP_BASE_IDX                                                           0


// addressBlock: vce0_vce_rb_pg_dec
// base address: 0x23fa0
#define mmVCE_HW_VERSION                                                                               0x11e8
#define mmVCE_HW_VERSION_BASE_IDX                                                                      0


#endif