diff options
Diffstat (limited to 'drivers/gpu/drm/amd/include')
19 files changed, 1581 insertions, 223 deletions
diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h index 9fa3aaef3f33..b178176b72ac 100644 --- a/drivers/gpu/drm/amd/include/amd_shared.h +++ b/drivers/gpu/drm/amd/include/amd_shared.h @@ -92,7 +92,7 @@ enum amd_powergating_state {  #define AMD_CG_SUPPORT_GFX_3D_CGLS		(1 << 21)  #define AMD_CG_SUPPORT_DRM_MGCG			(1 << 22)  #define AMD_CG_SUPPORT_DF_MGCG			(1 << 23) - +#define AMD_CG_SUPPORT_VCN_MGCG			(1 << 24)  /* PG flags */  #define AMD_PG_SUPPORT_GFX_PG			(1 << 0)  #define AMD_PG_SUPPORT_GFX_SMG			(1 << 1) @@ -108,6 +108,27 @@ enum amd_powergating_state {  #define AMD_PG_SUPPORT_GFX_QUICK_MG		(1 << 11)  #define AMD_PG_SUPPORT_GFX_PIPELINE		(1 << 12)  #define AMD_PG_SUPPORT_MMHUB			(1 << 13) +#define AMD_PG_SUPPORT_VCN			(1 << 14) + +enum PP_FEATURE_MASK { +	PP_SCLK_DPM_MASK = 0x1, +	PP_MCLK_DPM_MASK = 0x2, +	PP_PCIE_DPM_MASK = 0x4, +	PP_SCLK_DEEP_SLEEP_MASK = 0x8, +	PP_POWER_CONTAINMENT_MASK = 0x10, +	PP_UVD_HANDSHAKE_MASK = 0x20, +	PP_SMC_VOLTAGE_CONTROL_MASK = 0x40, +	PP_VBI_TIME_SUPPORT_MASK = 0x80, +	PP_ULV_MASK = 0x100, +	PP_ENABLE_GFX_CG_THRU_SMU = 0x200, +	PP_CLOCK_STRETCH_MASK = 0x400, +	PP_OD_FUZZY_FAN_CONTROL_MASK = 0x800, +	PP_SOCCLK_DPM_MASK = 0x1000, +	PP_DCEFCLK_DPM_MASK = 0x2000, +	PP_OVERDRIVE_MASK = 0x4000, +	PP_GFXOFF_MASK = 0x8000, +	PP_ACG_MASK = 0x10000, +};  struct amd_ip_funcs {  	/* Name of IP block */ diff --git a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h index f730d0629020..b6f74bf4af02 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h +++ b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h @@ -2095,6 +2095,18 @@  #define mmDC_GPIO_AUX_CTRL_2_BASE_IDX                                                                  2  #define mmDC_GPIO_RXEN                                                                                 0x212f  #define mmDC_GPIO_RXEN_BASE_IDX                                                                        2 +#define mmDC_GPIO_AUX_CTRL_3                                                                           0x2130 +#define mmDC_GPIO_AUX_CTRL_3_BASE_IDX                                                                  2 +#define mmDC_GPIO_AUX_CTRL_4                                                                           0x2131 +#define mmDC_GPIO_AUX_CTRL_4_BASE_IDX                                                                  2 +#define mmDC_GPIO_AUX_CTRL_5                                                                           0x2132 +#define mmDC_GPIO_AUX_CTRL_5_BASE_IDX                                                                  2 +#define mmAUXI2C_PAD_ALL_PWR_OK                                                                        0x2133 +#define mmAUXI2C_PAD_ALL_PWR_OK_BASE_IDX                                                               2 +#define mmDC_GPIO_PULLUPEN                                                                             0x2134 +#define mmDC_GPIO_PULLUPEN_BASE_IDX                                                                    2 +#define mmDC_GPIO_AUX_CTRL_6                                                                           0x2135 +#define mmDC_GPIO_AUX_CTRL_6_BASE_IDX                                                                  2  #define mmBPHYC_DAC_MACRO_CNTL                                                                         0x2136  #define mmBPHYC_DAC_MACRO_CNTL_BASE_IDX                                                                2  #define mmDAC_MACRO_CNTL_RESERVED0                                                                     0x2136 diff --git a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_sh_mask.h index 6d3162c42957..bcd190a3fcdd 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_sh_mask.h +++ b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_sh_mask.h @@ -10971,6 +10971,158 @@  #define DC_GPIO_RXEN__DC_GPIO_BLON_RXEN_MASK                                                                  0x00100000L  #define DC_GPIO_RXEN__DC_GPIO_DIGON_RXEN_MASK                                                                 0x00200000L  #define DC_GPIO_RXEN__DC_GPIO_ENA_BL_RXEN_MASK                                                                0x00400000L +//DC_GPIO_AUX_CTRL_3 +#define DC_GPIO_AUX_CTRL_3__AUX1_NEN_RTERM__SHIFT                                                             0x0 +#define DC_GPIO_AUX_CTRL_3__AUX2_NEN_RTERM__SHIFT                                                             0x1 +#define DC_GPIO_AUX_CTRL_3__AUX3_NEN_RTERM__SHIFT                                                             0x2 +#define DC_GPIO_AUX_CTRL_3__AUX4_NEN_RTERM__SHIFT                                                             0x3 +#define DC_GPIO_AUX_CTRL_3__AUX5_NEN_RTERM__SHIFT                                                             0x4 +#define DC_GPIO_AUX_CTRL_3__AUX6_NEN_RTERM__SHIFT                                                             0x5 +#define DC_GPIO_AUX_CTRL_3__AUX1_DP_DN_SWAP__SHIFT                                                            0x8 +#define DC_GPIO_AUX_CTRL_3__AUX2_DP_DN_SWAP__SHIFT                                                            0x9 +#define DC_GPIO_AUX_CTRL_3__AUX3_DP_DN_SWAP__SHIFT                                                            0xa +#define DC_GPIO_AUX_CTRL_3__AUX4_DP_DN_SWAP__SHIFT                                                            0xb +#define DC_GPIO_AUX_CTRL_3__AUX5_DP_DN_SWAP__SHIFT                                                            0xc +#define DC_GPIO_AUX_CTRL_3__AUX6_DP_DN_SWAP__SHIFT                                                            0xd +#define DC_GPIO_AUX_CTRL_3__AUX1_HYS_TUNE__SHIFT                                                              0x10 +#define DC_GPIO_AUX_CTRL_3__AUX2_HYS_TUNE__SHIFT                                                              0x12 +#define DC_GPIO_AUX_CTRL_3__AUX3_HYS_TUNE__SHIFT                                                              0x14 +#define DC_GPIO_AUX_CTRL_3__AUX4_HYS_TUNE__SHIFT                                                              0x16 +#define DC_GPIO_AUX_CTRL_3__AUX5_HYS_TUNE__SHIFT                                                              0x18 +#define DC_GPIO_AUX_CTRL_3__AUX6_HYS_TUNE__SHIFT                                                              0x1a +#define DC_GPIO_AUX_CTRL_3__AUX1_NEN_RTERM_MASK                                                               0x00000001L +#define DC_GPIO_AUX_CTRL_3__AUX2_NEN_RTERM_MASK                                                               0x00000002L +#define DC_GPIO_AUX_CTRL_3__AUX3_NEN_RTERM_MASK                                                               0x00000004L +#define DC_GPIO_AUX_CTRL_3__AUX4_NEN_RTERM_MASK                                                               0x00000008L +#define DC_GPIO_AUX_CTRL_3__AUX5_NEN_RTERM_MASK                                                               0x00000010L +#define DC_GPIO_AUX_CTRL_3__AUX6_NEN_RTERM_MASK                                                               0x00000020L +#define DC_GPIO_AUX_CTRL_3__AUX1_DP_DN_SWAP_MASK                                                              0x00000100L +#define DC_GPIO_AUX_CTRL_3__AUX2_DP_DN_SWAP_MASK                                                              0x00000200L +#define DC_GPIO_AUX_CTRL_3__AUX3_DP_DN_SWAP_MASK                                                              0x00000400L +#define DC_GPIO_AUX_CTRL_3__AUX4_DP_DN_SWAP_MASK                                                              0x00000800L +#define DC_GPIO_AUX_CTRL_3__AUX5_DP_DN_SWAP_MASK                                                              0x00001000L +#define DC_GPIO_AUX_CTRL_3__AUX6_DP_DN_SWAP_MASK                                                              0x00002000L +#define DC_GPIO_AUX_CTRL_3__AUX1_HYS_TUNE_MASK                                                                0x00030000L +#define DC_GPIO_AUX_CTRL_3__AUX2_HYS_TUNE_MASK                                                                0x000C0000L +#define DC_GPIO_AUX_CTRL_3__AUX3_HYS_TUNE_MASK                                                                0x00300000L +#define DC_GPIO_AUX_CTRL_3__AUX4_HYS_TUNE_MASK                                                                0x00C00000L +#define DC_GPIO_AUX_CTRL_3__AUX5_HYS_TUNE_MASK                                                                0x03000000L +#define DC_GPIO_AUX_CTRL_3__AUX6_HYS_TUNE_MASK                                                                0x0C000000L +//DC_GPIO_AUX_CTRL_4 +#define DC_GPIO_AUX_CTRL_4__AUX1_AUX_CTRL__SHIFT                                                              0x0 +#define DC_GPIO_AUX_CTRL_4__AUX2_AUX_CTRL__SHIFT                                                              0x4 +#define DC_GPIO_AUX_CTRL_4__AUX3_AUX_CTRL__SHIFT                                                              0x8 +#define DC_GPIO_AUX_CTRL_4__AUX4_AUX_CTRL__SHIFT                                                              0xc +#define DC_GPIO_AUX_CTRL_4__AUX5_AUX_CTRL__SHIFT                                                              0x10 +#define DC_GPIO_AUX_CTRL_4__AUX6_AUX_CTRL__SHIFT                                                              0x14 +#define DC_GPIO_AUX_CTRL_4__AUX1_AUX_CTRL_MASK                                                                0x0000000FL +#define DC_GPIO_AUX_CTRL_4__AUX2_AUX_CTRL_MASK                                                                0x000000F0L +#define DC_GPIO_AUX_CTRL_4__AUX3_AUX_CTRL_MASK                                                                0x00000F00L +#define DC_GPIO_AUX_CTRL_4__AUX4_AUX_CTRL_MASK                                                                0x0000F000L +#define DC_GPIO_AUX_CTRL_4__AUX5_AUX_CTRL_MASK                                                                0x000F0000L +#define DC_GPIO_AUX_CTRL_4__AUX6_AUX_CTRL_MASK                                                                0x00F00000L +//DC_GPIO_AUX_CTRL_5 +#define DC_GPIO_AUX_CTRL_5__AUX1_VOD_TUNE__SHIFT                                                              0x0 +#define DC_GPIO_AUX_CTRL_5__AUX2_VOD_TUNE__SHIFT                                                              0x2 +#define DC_GPIO_AUX_CTRL_5__AUX3_VOD_TUNE__SHIFT                                                              0x4 +#define DC_GPIO_AUX_CTRL_5__AUX4_VOD_TUNE__SHIFT                                                              0x6 +#define DC_GPIO_AUX_CTRL_5__AUX5_VOD_TUNE__SHIFT                                                              0x8 +#define DC_GPIO_AUX_CTRL_5__AUX6_VOD_TUNE__SHIFT                                                              0xa +#define DC_GPIO_AUX_CTRL_5__DDC_PAD1_I2CMODE__SHIFT                                                           0xc +#define DC_GPIO_AUX_CTRL_5__DDC_PAD2_I2CMODE__SHIFT                                                           0xd +#define DC_GPIO_AUX_CTRL_5__DDC_PAD3_I2CMODE__SHIFT                                                           0xe +#define DC_GPIO_AUX_CTRL_5__DDC_PAD4_I2CMODE__SHIFT                                                           0xf +#define DC_GPIO_AUX_CTRL_5__DDC_PAD5_I2CMODE__SHIFT                                                           0x10 +#define DC_GPIO_AUX_CTRL_5__DDC_PAD6_I2CMODE__SHIFT                                                           0x11 +#define DC_GPIO_AUX_CTRL_5__DDC1_I2C_VPH_1V2_EN__SHIFT                                                        0x12 +#define DC_GPIO_AUX_CTRL_5__DDC2_I2C_VPH_1V2_EN__SHIFT                                                        0x13 +#define DC_GPIO_AUX_CTRL_5__DDC3_I2C_VPH_1V2_EN__SHIFT                                                        0x14 +#define DC_GPIO_AUX_CTRL_5__DDC4_I2C_VPH_1V2_EN__SHIFT                                                        0x15 +#define DC_GPIO_AUX_CTRL_5__DDC5_I2C_VPH_1V2_EN__SHIFT                                                        0x16 +#define DC_GPIO_AUX_CTRL_5__DDC6_I2C_VPH_1V2_EN__SHIFT                                                        0x17 +#define DC_GPIO_AUX_CTRL_5__DDC1_PAD_I2C_CTRL__SHIFT                                                          0x18 +#define DC_GPIO_AUX_CTRL_5__DDC2_PAD_I2C_CTRL__SHIFT                                                          0x19 +#define DC_GPIO_AUX_CTRL_5__DDC3_PAD_I2C_CTRL__SHIFT                                                          0x1a +#define DC_GPIO_AUX_CTRL_5__DDC4_PAD_I2C_CTRL__SHIFT                                                          0x1b +#define DC_GPIO_AUX_CTRL_5__DDC5_PAD_I2C_CTRL__SHIFT                                                          0x1c +#define DC_GPIO_AUX_CTRL_5__DDC6_PAD_I2C_CTRL__SHIFT                                                          0x1d +#define DC_GPIO_AUX_CTRL_5__AUX1_VOD_TUNE_MASK                                                                0x00000003L +#define DC_GPIO_AUX_CTRL_5__AUX2_VOD_TUNE_MASK                                                                0x0000000CL +#define DC_GPIO_AUX_CTRL_5__AUX3_VOD_TUNE_MASK                                                                0x00000030L +#define DC_GPIO_AUX_CTRL_5__AUX4_VOD_TUNE_MASK                                                                0x000000C0L +#define DC_GPIO_AUX_CTRL_5__AUX5_VOD_TUNE_MASK                                                                0x00000300L +#define DC_GPIO_AUX_CTRL_5__AUX6_VOD_TUNE_MASK                                                                0x00000C00L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD1_I2CMODE_MASK                                                             0x00001000L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD2_I2CMODE_MASK                                                             0x00002000L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD3_I2CMODE_MASK                                                             0x00004000L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD4_I2CMODE_MASK                                                             0x00008000L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD5_I2CMODE_MASK                                                             0x00010000L +#define DC_GPIO_AUX_CTRL_5__DDC_PAD6_I2CMODE_MASK                                                             0x00020000L +#define DC_GPIO_AUX_CTRL_5__DDC1_I2C_VPH_1V2_EN_MASK                                                          0x00040000L +#define DC_GPIO_AUX_CTRL_5__DDC2_I2C_VPH_1V2_EN_MASK                                                          0x00080000L +#define DC_GPIO_AUX_CTRL_5__DDC3_I2C_VPH_1V2_EN_MASK                                                          0x00100000L +#define DC_GPIO_AUX_CTRL_5__DDC4_I2C_VPH_1V2_EN_MASK                                                          0x00200000L +#define DC_GPIO_AUX_CTRL_5__DDC5_I2C_VPH_1V2_EN_MASK                                                          0x00400000L +#define DC_GPIO_AUX_CTRL_5__DDC6_I2C_VPH_1V2_EN_MASK                                                          0x00800000L +#define DC_GPIO_AUX_CTRL_5__DDC1_PAD_I2C_CTRL_MASK                                                            0x01000000L +#define DC_GPIO_AUX_CTRL_5__DDC2_PAD_I2C_CTRL_MASK                                                            0x02000000L +#define DC_GPIO_AUX_CTRL_5__DDC3_PAD_I2C_CTRL_MASK                                                            0x04000000L +#define DC_GPIO_AUX_CTRL_5__DDC4_PAD_I2C_CTRL_MASK                                                            0x08000000L +#define DC_GPIO_AUX_CTRL_5__DDC5_PAD_I2C_CTRL_MASK                                                            0x10000000L +#define DC_GPIO_AUX_CTRL_5__DDC6_PAD_I2C_CTRL_MASK                                                            0x20000000L +//AUXI2C_PAD_ALL_PWR_OK +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY1_ALL_PWR_OK__SHIFT                                                  0x0 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY2_ALL_PWR_OK__SHIFT                                                  0x1 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY3_ALL_PWR_OK__SHIFT                                                  0x2 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY4_ALL_PWR_OK__SHIFT                                                  0x3 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY5_ALL_PWR_OK__SHIFT                                                  0x4 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY6_ALL_PWR_OK__SHIFT                                                  0x5 +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY1_ALL_PWR_OK_MASK                                                    0x00000001L +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY2_ALL_PWR_OK_MASK                                                    0x00000002L +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY3_ALL_PWR_OK_MASK                                                    0x00000004L +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY4_ALL_PWR_OK_MASK                                                    0x00000008L +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY5_ALL_PWR_OK_MASK                                                    0x00000010L +#define AUXI2C_PAD_ALL_PWR_OK__AUXI2C_PHY6_ALL_PWR_OK_MASK                                                    0x00000020L +//DC_GPIO_PULLUPEN +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICA_PU_EN__SHIFT                                                       0x0 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICB_PU_EN__SHIFT                                                       0x1 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICC_PU_EN__SHIFT                                                       0x2 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICD_PU_EN__SHIFT                                                       0x3 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICE_PU_EN__SHIFT                                                       0x4 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICF_PU_EN__SHIFT                                                       0x5 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICG_PU_EN__SHIFT                                                       0x6 +#define DC_GPIO_PULLUPEN__DC_GPIO_HSYNCA_PU_EN__SHIFT                                                         0x8 +#define DC_GPIO_PULLUPEN__DC_GPIO_VSYNCA_PU_EN__SHIFT                                                         0x9 +#define DC_GPIO_PULLUPEN__DC_GPIO_HPD1_PU_EN__SHIFT                                                           0xe +#define DC_GPIO_PULLUPEN__DC_GPIO_BLON_PU_EN__SHIFT                                                           0x14 +#define DC_GPIO_PULLUPEN__DC_GPIO_DIGON_PU_EN__SHIFT                                                          0x15 +#define DC_GPIO_PULLUPEN__DC_GPIO_ENA_BL_PU_EN__SHIFT                                                         0x16 +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICA_PU_EN_MASK                                                         0x00000001L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICB_PU_EN_MASK                                                         0x00000002L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICC_PU_EN_MASK                                                         0x00000004L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICD_PU_EN_MASK                                                         0x00000008L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICE_PU_EN_MASK                                                         0x00000010L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICF_PU_EN_MASK                                                         0x00000020L +#define DC_GPIO_PULLUPEN__DC_GPIO_GENERICG_PU_EN_MASK                                                         0x00000040L +#define DC_GPIO_PULLUPEN__DC_GPIO_HSYNCA_PU_EN_MASK                                                           0x00000100L +#define DC_GPIO_PULLUPEN__DC_GPIO_VSYNCA_PU_EN_MASK                                                           0x00000200L +#define DC_GPIO_PULLUPEN__DC_GPIO_HPD1_PU_EN_MASK                                                             0x00004000L +#define DC_GPIO_PULLUPEN__DC_GPIO_BLON_PU_EN_MASK                                                             0x00100000L +#define DC_GPIO_PULLUPEN__DC_GPIO_DIGON_PU_EN_MASK                                                            0x00200000L +#define DC_GPIO_PULLUPEN__DC_GPIO_ENA_BL_PU_EN_MASK                                                           0x00400000L +//DC_GPIO_AUX_CTRL_6 +#define DC_GPIO_AUX_CTRL_6__AUX1_PAD_RXSEL__SHIFT                                                             0x0 +#define DC_GPIO_AUX_CTRL_6__AUX2_PAD_RXSEL__SHIFT                                                             0x2 +#define DC_GPIO_AUX_CTRL_6__AUX3_PAD_RXSEL__SHIFT                                                             0x4 +#define DC_GPIO_AUX_CTRL_6__AUX4_PAD_RXSEL__SHIFT                                                             0x6 +#define DC_GPIO_AUX_CTRL_6__AUX5_PAD_RXSEL__SHIFT                                                             0x8 +#define DC_GPIO_AUX_CTRL_6__AUX6_PAD_RXSEL__SHIFT                                                             0xa +#define DC_GPIO_AUX_CTRL_6__AUX1_PAD_RXSEL_MASK                                                               0x00000003L +#define DC_GPIO_AUX_CTRL_6__AUX2_PAD_RXSEL_MASK                                                               0x0000000CL +#define DC_GPIO_AUX_CTRL_6__AUX3_PAD_RXSEL_MASK                                                               0x00000030L +#define DC_GPIO_AUX_CTRL_6__AUX4_PAD_RXSEL_MASK                                                               0x000000C0L +#define DC_GPIO_AUX_CTRL_6__AUX5_PAD_RXSEL_MASK                                                               0x00000300L +#define DC_GPIO_AUX_CTRL_6__AUX6_PAD_RXSEL_MASK                                                               0x00000C00L  //BPHYC_DAC_MACRO_CNTL  #define BPHYC_DAC_MACRO_CNTL__BPHYC_DAC_WHITE_LEVEL__SHIFT                                                    0x0  #define BPHYC_DAC_MACRO_CNTL__BPHYC_DAC_WHITE_FINE_CONTROL__SHIFT                                             0x8 diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_offset.h index 4ccf9681c45d..721c61171045 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_offset.h +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_offset.h @@ -3895,6 +3895,10 @@  #define mmCM0_CM_MEM_PWR_CTRL_BASE_IDX                                                                 2  #define mmCM0_CM_MEM_PWR_STATUS                                                                        0x0d33  #define mmCM0_CM_MEM_PWR_STATUS_BASE_IDX                                                               2 +#define mmCM0_CM_TEST_DEBUG_INDEX                                                                      0x0d35 +#define mmCM0_CM_TEST_DEBUG_INDEX_BASE_IDX                                                             2 +#define mmCM0_CM_TEST_DEBUG_DATA                                                                       0x0d36 +#define mmCM0_CM_TEST_DEBUG_DATA_BASE_IDX                                                              2  // addressBlock: dce_dc_dpp0_dispdec_dpp_dcperfmon_dc_perfmon_dispdec @@ -4367,7 +4371,10 @@  #define mmCM1_CM_MEM_PWR_CTRL_BASE_IDX                                                                 2  #define mmCM1_CM_MEM_PWR_STATUS                                                                        0x0e4e  #define mmCM1_CM_MEM_PWR_STATUS_BASE_IDX                                                               2 - +#define mmCM1_CM_TEST_DEBUG_INDEX                                                                      0x0e50 +#define mmCM1_CM_TEST_DEBUG_INDEX_BASE_IDX                                                             2 +#define mmCM1_CM_TEST_DEBUG_DATA                                                                       0x0e51 +#define mmCM1_CM_TEST_DEBUG_DATA_BASE_IDX                                                              2  // addressBlock: dce_dc_dpp1_dispdec_dpp_dcperfmon_dc_perfmon_dispdec  // base address: 0x399c @@ -4839,7 +4846,10 @@  #define mmCM2_CM_MEM_PWR_CTRL_BASE_IDX                                                                 2  #define mmCM2_CM_MEM_PWR_STATUS                                                                        0x0f69  #define mmCM2_CM_MEM_PWR_STATUS_BASE_IDX                                                               2 - +#define mmCM2_CM_TEST_DEBUG_INDEX                                                                      0x0f6b +#define mmCM2_CM_TEST_DEBUG_INDEX_BASE_IDX                                                             2 +#define mmCM2_CM_TEST_DEBUG_DATA                                                                       0x0f6c +#define mmCM2_CM_TEST_DEBUG_DATA_BASE_IDX                                                              2  // addressBlock: dce_dc_dpp2_dispdec_dpp_dcperfmon_dc_perfmon_dispdec  // base address: 0x3e08 @@ -5311,7 +5321,10 @@  #define mmCM3_CM_MEM_PWR_CTRL_BASE_IDX                                                                 2  #define mmCM3_CM_MEM_PWR_STATUS                                                                        0x1084  #define mmCM3_CM_MEM_PWR_STATUS_BASE_IDX                                                               2 - +#define mmCM3_CM_TEST_DEBUG_INDEX                                                                      0x1086 +#define mmCM3_CM_TEST_DEBUG_INDEX_BASE_IDX                                                             2 +#define mmCM3_CM_TEST_DEBUG_DATA                                                                       0x1087 +#define mmCM3_CM_TEST_DEBUG_DATA_BASE_IDX                                                              2  // addressBlock: dce_dc_dpp3_dispdec_dpp_dcperfmon_dc_perfmon_dispdec  // base address: 0x4274 diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h index e2a2f114bd8e..e7c0cad41081 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h @@ -14049,6 +14049,14 @@  #define CM0_CM_MEM_PWR_STATUS__RGAM_MEM_PWR_STATE__SHIFT                                                      0x2  #define CM0_CM_MEM_PWR_STATUS__SHARED_MEM_PWR_STATE_MASK                                                      0x00000003L  #define CM0_CM_MEM_PWR_STATUS__RGAM_MEM_PWR_STATE_MASK                                                        0x0000000CL +//CM0_CM_TEST_DEBUG_INDEX +#define CM0_CM_TEST_DEBUG_INDEX__CM_TEST_DEBUG_INDEX__SHIFT                                                   0x0 +#define CM0_CM_TEST_DEBUG_INDEX__CM_TEST_DEBUG_WRITE_EN__SHIFT                                                0x8 +#define CM0_CM_TEST_DEBUG_INDEX__CM_TEST_DEBUG_INDEX_MASK                                                     0x000000FFL +#define CM0_CM_TEST_DEBUG_INDEX__CM_TEST_DEBUG_WRITE_EN_MASK                                                  0x00000100L +//CM0_CM_TEST_DEBUG_DATA +#define CM0_CM_TEST_DEBUG_DATA__CM_TEST_DEBUG_DATA__SHIFT                                                     0x0 +#define CM0_CM_TEST_DEBUG_DATA__CM_TEST_DEBUG_DATA_MASK                                                       0xFFFFFFFFL  // addressBlock: dce_dc_dpp0_dispdec_dpp_dcperfmon_dc_perfmon_dispdec diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_default.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_default.h new file mode 100644 index 000000000000..9e19e723081b --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_default.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2018  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 _df_1_7_DEFAULT_HEADER +#define _df_1_7_DEFAULT_HEADER + +#define mmFabricConfigAccessControl_DEFAULT						0x00000000 + +#endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_offset.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_offset.h new file mode 100644 index 000000000000..e6044e27a913 --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_offset.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2018  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 _df_1_7_OFFSET_HEADER +#define _df_1_7_OFFSET_HEADER + +#define mmFabricConfigAccessControl									0x0410 +#define mmFabricConfigAccessControl_BASE_IDX								0 + +#define mmDF_PIE_AON0_DfGlobalClkGater									0x00fc +#define mmDF_PIE_AON0_DfGlobalClkGater_BASE_IDX								0 + +#define mmDF_CS_AON0_DramBaseAddress0									0x0044 +#define mmDF_CS_AON0_DramBaseAddress0_BASE_IDX								0 + +#define mmDF_CS_AON0_CoherentSlaveModeCtrlA0								0x0214 +#define mmDF_CS_AON0_CoherentSlaveModeCtrlA0_BASE_IDX							0 + + +#endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_sh_mask.h new file mode 100644 index 000000000000..a78c99480e2d --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_sh_mask.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2018  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 _df_1_7_SH_MASK_HEADER +#define _df_1_7_SH_MASK_HEADER + +/* FabricConfigAccessControl */ +#define FabricConfigAccessControl__CfgRegInstAccEn__SHIFT						0x0 +#define FabricConfigAccessControl__CfgRegInstAccRegLock__SHIFT						0x1 +#define FabricConfigAccessControl__CfgRegInstID__SHIFT							0x10 +#define FabricConfigAccessControl__CfgRegInstAccEn_MASK							0x00000001L +#define FabricConfigAccessControl__CfgRegInstAccRegLock_MASK						0x00000002L +#define FabricConfigAccessControl__CfgRegInstID_MASK							0x00FF0000L + +/* DF_PIE_AON0_DfGlobalClkGater */ +#define DF_PIE_AON0_DfGlobalClkGater__MGCGMode__SHIFT							0x0 +#define DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK							0x0000000FL + +/* DF_CS_AON0_DramBaseAddress0 */ +#define DF_CS_AON0_DramBaseAddress0__AddrRngVal__SHIFT							0x0 +#define DF_CS_AON0_DramBaseAddress0__LgcyMmioHoleEn__SHIFT						0x1 +#define DF_CS_AON0_DramBaseAddress0__IntLvNumChan__SHIFT						0x4 +#define DF_CS_AON0_DramBaseAddress0__IntLvAddrSel__SHIFT						0x8 +#define DF_CS_AON0_DramBaseAddress0__DramBaseAddr__SHIFT						0xc +#define DF_CS_AON0_DramBaseAddress0__AddrRngVal_MASK							0x00000001L +#define DF_CS_AON0_DramBaseAddress0__LgcyMmioHoleEn_MASK						0x00000002L +#define DF_CS_AON0_DramBaseAddress0__IntLvNumChan_MASK							0x000000F0L +#define DF_CS_AON0_DramBaseAddress0__IntLvAddrSel_MASK							0x00000700L +#define DF_CS_AON0_DramBaseAddress0__DramBaseAddr_MASK							0xFFFFF000L + +//DF_CS_AON0_CoherentSlaveModeCtrlA0 +#define DF_CS_AON0_CoherentSlaveModeCtrlA0__ForceParWrRMW__SHIFT					0x3 +#define DF_CS_AON0_CoherentSlaveModeCtrlA0__ForceParWrRMW_MASK						0x00000008L + +#endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_default.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_default.h new file mode 100644 index 000000000000..e58c207ac980 --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_default.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2018  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 _df_3_6_DEFAULT_HEADER +#define _df_3_6_DEFAULT_HEADER + +#define mmFabricConfigAccessControl_DEFAULT						0x00000000 + +#endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_offset.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_offset.h new file mode 100644 index 000000000000..a9575db8d7aa --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_offset.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2018  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 _df_3_6_OFFSET_HEADER +#define _df_3_6_OFFSET_HEADER + +#define mmFabricConfigAccessControl									0x0410 +#define mmFabricConfigAccessControl_BASE_IDX								0 + +#define mmDF_PIE_AON0_DfGlobalClkGater									0x00fc +#define mmDF_PIE_AON0_DfGlobalClkGater_BASE_IDX								0 + +#define mmDF_CS_UMC_AON0_DramBaseAddress0								0x0044 +#define mmDF_CS_UMC_AON0_DramBaseAddress0_BASE_IDX							0 + +#endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_sh_mask.h new file mode 100644 index 000000000000..06fac509e987 --- /dev/null +++ b/drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_sh_mask.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2018  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 _df_3_6_SH_MASK_HEADER +#define _df_3_6_SH_MASK_HEADER + +/* FabricConfigAccessControl */ +#define FabricConfigAccessControl__CfgRegInstAccEn__SHIFT						0x0 +#define FabricConfigAccessControl__CfgRegInstAccRegLock__SHIFT						0x1 +#define FabricConfigAccessControl__CfgRegInstID__SHIFT							0x10 +#define FabricConfigAccessControl__CfgRegInstAccEn_MASK							0x00000001L +#define FabricConfigAccessControl__CfgRegInstAccRegLock_MASK						0x00000002L +#define FabricConfigAccessControl__CfgRegInstID_MASK							0x00FF0000L + +/* DF_PIE_AON0_DfGlobalClkGater */ +#define DF_PIE_AON0_DfGlobalClkGater__MGCGMode__SHIFT							0x0 +#define DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK							0x0000000FL + +/* DF_CS_AON0_DramBaseAddress0 */ +#define DF_CS_UMC_AON0_DramBaseAddress0__AddrRngVal__SHIFT						0x0 +#define DF_CS_UMC_AON0_DramBaseAddress0__LgcyMmioHoleEn__SHIFT						0x1 +#define DF_CS_UMC_AON0_DramBaseAddress0__IntLvNumChan__SHIFT						0x2 +#define DF_CS_UMC_AON0_DramBaseAddress0__IntLvAddrSel__SHIFT						0x9 +#define DF_CS_UMC_AON0_DramBaseAddress0__DramBaseAddr__SHIFT						0xc +#define DF_CS_UMC_AON0_DramBaseAddress0__AddrRngVal_MASK						0x00000001L +#define DF_CS_UMC_AON0_DramBaseAddress0__LgcyMmioHoleEn_MASK						0x00000002L +#define DF_CS_UMC_AON0_DramBaseAddress0__IntLvNumChan_MASK						0x0000003CL +#define DF_CS_UMC_AON0_DramBaseAddress0__IntLvAddrSel_MASK						0x00000E00L +#define DF_CS_UMC_AON0_DramBaseAddress0__DramBaseAddr_MASK						0xFFFFF000L + +#endif diff --git a/drivers/gpu/drm/amd/include/atombios.h b/drivers/gpu/drm/amd/include/atombios.h index f696bbb643ef..7931502fa54f 100644 --- a/drivers/gpu/drm/amd/include/atombios.h +++ b/drivers/gpu/drm/amd/include/atombios.h @@ -632,6 +632,13 @@ typedef struct _COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_2    ULONG ulReserved;  }COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_2; +typedef struct _COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_3 +{ +  COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V4 ulClock; +  USHORT  usMclk_fcw_frac;                  //fractional divider of fcw = usSclk_fcw_frac/65536 +  USHORT  usMclk_fcw_int;                   //integer divider of fcwc +}COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_3; +  //Input parameter of DynamicMemorySettingsTable  //when ATOM_COMPUTE_CLOCK_FREQ.ulComputeClockFlag = COMPUTE_MEMORY_PLL_PARAM  typedef struct _DYNAMICE_MEMORY_SETTINGS_PARAMETER diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h index de177ce8ca80..33b4de4ad66e 100644 --- a/drivers/gpu/drm/amd/include/atomfirmware.h +++ b/drivers/gpu/drm/amd/include/atomfirmware.h @@ -1219,6 +1219,41 @@ struct  atom_gfx_info_v2_3 {    uint32_t rm21_sram_vmin_value;  }; +struct  atom_gfx_info_v2_4 { +  struct  atom_common_table_header  table_header; +  uint8_t gfxip_min_ver; +  uint8_t gfxip_max_ver; +  uint8_t gc_num_se; +  uint8_t max_tile_pipes; +  uint8_t gc_num_cu_per_sh; +  uint8_t gc_num_sh_per_se; +  uint8_t gc_num_rb_per_se; +  uint8_t gc_num_tccs; +  uint32_t regaddr_cp_dma_src_addr; +  uint32_t regaddr_cp_dma_src_addr_hi; +  uint32_t regaddr_cp_dma_dst_addr; +  uint32_t regaddr_cp_dma_dst_addr_hi; +  uint32_t regaddr_cp_dma_command; +  uint32_t regaddr_cp_status; +  uint32_t regaddr_rlc_gpu_clock_32; +  uint32_t rlc_gpu_timer_refclk; +  uint8_t active_cu_per_sh; +  uint8_t active_rb_per_se; +  uint16_t gcgoldenoffset; +  uint16_t gc_num_gprs; +  uint16_t gc_gsprim_buff_depth; +  uint16_t gc_parameter_cache_depth; +  uint16_t gc_wave_size; +  uint16_t gc_max_waves_per_simd; +  uint16_t gc_lds_size; +  uint8_t gc_num_max_gs_thds; +  uint8_t gc_gs_table_depth; +  uint8_t gc_double_offchip_lds_buffer; +  uint8_t gc_max_scratch_slots_per_cu; +  uint32_t sram_rm_fuses_val; +  uint32_t sram_custom_rm_fuses_val; +}; +  /*     ***************************************************************************      Data Table smu_info  structure @@ -1398,7 +1433,10 @@ struct atom_smc_dpm_info_v4_1  	uint8_t  acggfxclkspreadpercent;  	uint16_t acggfxclkspreadfreq; -	uint32_t boardreserved[10]; +	uint8_t Vr2_I2C_address; +	uint8_t padding_vr2[3]; + +	uint32_t boardreserved[9];  };  /*  @@ -1991,17 +2029,15 @@ enum atom_smu11_syspll_id {    SMU11_SYSPLL3_1_ID          = 6,  }; -  enum atom_smu11_syspll0_clock_id { -  SMU11_SYSPLL0_SOCCLK_ID   = 0,       //	SOCCLK -  SMU11_SYSPLL0_MP0CLK_ID   = 1,       //	MP0CLK -  SMU11_SYSPLL0_DCLK_ID     = 2,       //	DCLK -  SMU11_SYSPLL0_VCLK_ID     = 3,       //	VCLK -  SMU11_SYSPLL0_ECLK_ID     = 4,       //	ECLK +  SMU11_SYSPLL0_ECLK_ID     = 0,       //	ECLK +  SMU11_SYSPLL0_SOCCLK_ID   = 1,       //	SOCCLK +  SMU11_SYSPLL0_MP0CLK_ID   = 2,       //	MP0CLK +  SMU11_SYSPLL0_DCLK_ID     = 3,       //	DCLK +  SMU11_SYSPLL0_VCLK_ID     = 4,       //	VCLK    SMU11_SYSPLL0_DCEFCLK_ID  = 5,       //	DCEFCLK  }; -  enum atom_smu11_syspll1_0_clock_id {    SMU11_SYSPLL1_0_UCLKA_ID   = 0,       // UCLK_a  }; diff --git a/drivers/gpu/drm/amd/include/cgs_common.h b/drivers/gpu/drm/amd/include/cgs_common.h index f2814ae7ecdd..a69deb3a2ac0 100644 --- a/drivers/gpu/drm/amd/include/cgs_common.h +++ b/drivers/gpu/drm/amd/include/cgs_common.h @@ -42,20 +42,6 @@ enum cgs_ind_reg {  	CGS_IND_REG__AUDIO_ENDPT  }; -/** - * enum cgs_engine - Engines that can be statically power-gated - */ -enum cgs_engine { -	CGS_ENGINE__UVD, -	CGS_ENGINE__VCE, -	CGS_ENGINE__VP8, -	CGS_ENGINE__ACP_DMA, -	CGS_ENGINE__ACP_DSP0, -	CGS_ENGINE__ACP_DSP1, -	CGS_ENGINE__ISP, -	/* ... */ -}; -  /*   * enum cgs_ucode_id - Firmware types for different IPs   */ @@ -76,17 +62,6 @@ enum cgs_ucode_id {  	CGS_UCODE_ID_MAXIMUM,  }; -/* - * enum cgs_resource_type - GPU resource type - */ -enum cgs_resource_type { -	CGS_RESOURCE_TYPE_MMIO = 0, -	CGS_RESOURCE_TYPE_FB, -	CGS_RESOURCE_TYPE_IO, -	CGS_RESOURCE_TYPE_DOORBELL, -	CGS_RESOURCE_TYPE_ROM, -}; -  /**   * struct cgs_firmware_info - Firmware information   */ @@ -104,17 +79,6 @@ struct cgs_firmware_info {  	bool			is_kicker;  }; -struct cgs_mode_info { -	uint32_t		refresh_rate; -	uint32_t		vblank_time_us; -}; - -struct cgs_display_info { -	uint32_t		display_count; -	uint32_t		active_display_mask; -	struct cgs_mode_info *mode_info; -}; -  typedef unsigned long cgs_handle_t;  /** @@ -170,119 +134,18 @@ typedef void (*cgs_write_ind_register_t)(struct cgs_device *cgs_device, enum cgs  #define CGS_WREG32_FIELD_IND(device, space, reg, field, val)	\  	cgs_write_ind_register(device, space, ix##reg, (cgs_read_ind_register(device, space, ix##reg) & ~CGS_REG_FIELD_MASK(reg, field)) | (val) << CGS_REG_FIELD_SHIFT(reg, field)) -/** - * cgs_get_pci_resource() - provide access to a device resource (PCI BAR) - * @cgs_device:	opaque device handle - * @resource_type:	Type of Resource (MMIO, IO, ROM, FB, DOORBELL) - * @size:	size of the region - * @offset:	offset from the start of the region - * @resource_base:	base address (not including offset) returned - * - * Return: 0 on success, -errno otherwise - */ -typedef int (*cgs_get_pci_resource_t)(struct cgs_device *cgs_device, -				      enum cgs_resource_type resource_type, -				      uint64_t size, -				      uint64_t offset, -				      uint64_t *resource_base); - -/** - * cgs_atom_get_data_table() - Get a pointer to an ATOM BIOS data table - * @cgs_device:	opaque device handle - * @table:	data table index - * @size:	size of the table (output, may be NULL) - * @frev:	table format revision (output, may be NULL) - * @crev:	table content revision (output, may be NULL) - * - * Return: Pointer to start of the table, or NULL on failure - */ -typedef const void *(*cgs_atom_get_data_table_t)( -	struct cgs_device *cgs_device, unsigned table, -	uint16_t *size, uint8_t *frev, uint8_t *crev); - -/** - * cgs_atom_get_cmd_table_revs() - Get ATOM BIOS command table revisions - * @cgs_device:	opaque device handle - * @table:	data table index - * @frev:	table format revision (output, may be NULL) - * @crev:	table content revision (output, may be NULL) - * - * Return: 0 on success, -errno otherwise - */ -typedef int (*cgs_atom_get_cmd_table_revs_t)(struct cgs_device *cgs_device, unsigned table, -					     uint8_t *frev, uint8_t *crev); - -/** - * cgs_atom_exec_cmd_table() - Execute an ATOM BIOS command table - * @cgs_device: opaque device handle - * @table:	command table index - * @args:	arguments - * - * Return: 0 on success, -errno otherwise - */ -typedef int (*cgs_atom_exec_cmd_table_t)(struct cgs_device *cgs_device, -					 unsigned table, void *args); - -/** - * cgs_get_firmware_info - Get the firmware information from core driver - * @cgs_device: opaque device handle - * @type: the firmware type - * @info: returend firmware information - * - * Return: 0 on success, -errno otherwise - */  typedef int (*cgs_get_firmware_info)(struct cgs_device *cgs_device,  				     enum cgs_ucode_id type,  				     struct cgs_firmware_info *info); -typedef int (*cgs_rel_firmware)(struct cgs_device *cgs_device, -					 enum cgs_ucode_id type); - -typedef int(*cgs_set_powergating_state)(struct cgs_device *cgs_device, -				  enum amd_ip_block_type block_type, -				  enum amd_powergating_state state); - -typedef int(*cgs_set_clockgating_state)(struct cgs_device *cgs_device, -				  enum amd_ip_block_type block_type, -				  enum amd_clockgating_state state); - -typedef int(*cgs_get_active_displays_info)( -					struct cgs_device *cgs_device, -					struct cgs_display_info *info); - -typedef int (*cgs_notify_dpm_enabled)(struct cgs_device *cgs_device, bool enabled); - -typedef int (*cgs_is_virtualization_enabled_t)(void *cgs_device); - -typedef int (*cgs_enter_safe_mode)(struct cgs_device *cgs_device, bool en); - -typedef void (*cgs_lock_grbm_idx)(struct cgs_device *cgs_device, bool lock); -  struct cgs_ops {  	/* MMIO access */  	cgs_read_register_t read_register;  	cgs_write_register_t write_register;  	cgs_read_ind_register_t read_ind_register;  	cgs_write_ind_register_t write_ind_register; -	/* PCI resources */ -	cgs_get_pci_resource_t get_pci_resource; -	/* ATOM BIOS */ -	cgs_atom_get_data_table_t atom_get_data_table; -	cgs_atom_get_cmd_table_revs_t atom_get_cmd_table_revs; -	cgs_atom_exec_cmd_table_t atom_exec_cmd_table;  	/* Firmware Info */  	cgs_get_firmware_info get_firmware_info; -	cgs_rel_firmware rel_firmware; -	/* cg pg interface*/ -	cgs_set_powergating_state set_powergating_state; -	cgs_set_clockgating_state set_clockgating_state; -	/* display manager */ -	cgs_get_active_displays_info get_active_displays_info; -	/* notify dpm enabled */ -	cgs_notify_dpm_enabled notify_dpm_enabled; -	cgs_is_virtualization_enabled_t is_virtualization_enabled; -	cgs_enter_safe_mode enter_safe_mode; -	cgs_lock_grbm_idx lock_grbm_idx;  };  struct cgs_os_ops; /* To be define in OS-specific CGS header */ @@ -309,40 +172,7 @@ struct cgs_device  #define cgs_write_ind_register(dev,space,index,value)		\  	CGS_CALL(write_ind_register,dev,space,index,value) -#define cgs_atom_get_data_table(dev,table,size,frev,crev)	\ -	CGS_CALL(atom_get_data_table,dev,table,size,frev,crev) -#define cgs_atom_get_cmd_table_revs(dev,table,frev,crev)	\ -	CGS_CALL(atom_get_cmd_table_revs,dev,table,frev,crev) -#define cgs_atom_exec_cmd_table(dev,table,args)		\ -	CGS_CALL(atom_exec_cmd_table,dev,table,args) -  #define cgs_get_firmware_info(dev, type, info)	\  	CGS_CALL(get_firmware_info, dev, type, info) -#define cgs_rel_firmware(dev, type)	\ -	CGS_CALL(rel_firmware, dev, type) -#define cgs_set_powergating_state(dev, block_type, state)	\ -	CGS_CALL(set_powergating_state, dev, block_type, state) -#define cgs_set_clockgating_state(dev, block_type, state)	\ -	CGS_CALL(set_clockgating_state, dev, block_type, state) -#define cgs_notify_dpm_enabled(dev, enabled)	\ -	CGS_CALL(notify_dpm_enabled, dev, enabled) - -#define cgs_get_active_displays_info(dev, info)	\ -	CGS_CALL(get_active_displays_info, dev, info) - -#define cgs_get_pci_resource(cgs_device, resource_type, size, offset, \ -	resource_base) \ -	CGS_CALL(get_pci_resource, cgs_device, resource_type, size, offset, \ -	resource_base) - -#define cgs_is_virtualization_enabled(cgs_device) \ -		CGS_CALL(is_virtualization_enabled, cgs_device) - -#define cgs_enter_safe_mode(cgs_device, en) \ -		CGS_CALL(enter_safe_mode, cgs_device, en) - -#define cgs_lock_grbm_idx(cgs_device, lock) \ -		CGS_CALL(lock_grbm_idx, cgs_device, lock) -  #endif /* _CGS_COMMON_H */ diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h index 237289a72bb7..5733fbee07f7 100644 --- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h @@ -100,6 +100,21 @@ struct kgd2kfd_shared_resources {  	/* Bit n == 1 means Queue n is available for KFD */  	DECLARE_BITMAP(queue_bitmap, KGD_MAX_QUEUES); +	/* Doorbell assignments (SOC15 and later chips only). Only +	 * specific doorbells are routed to each SDMA engine. Others +	 * are routed to IH and VCN. They are not usable by the CP. +	 * +	 * Any doorbell number D that satisfies the following condition +	 * is reserved: (D & reserved_doorbell_mask) == reserved_doorbell_val +	 * +	 * KFD currently uses 1024 (= 0x3ff) doorbells per process. If +	 * doorbells 0x0f0-0x0f7 and 0x2f-0x2f7 are reserved, that means +	 * mask would be set to 0x1f8 and val set to 0x0f0. +	 */ +	unsigned int sdma_doorbell[2][2]; +	unsigned int reserved_doorbell_mask; +	unsigned int reserved_doorbell_val; +  	/* Base address of doorbell aperture. */  	phys_addr_t doorbell_physical_address; @@ -173,8 +188,6 @@ struct tile_config {   * @set_pasid_vmid_mapping: Exposes pasid/vmid pair to the H/W for no cp   * scheduling mode. Only used for no cp scheduling mode.   * - * @init_pipeline: Initialized the compute pipelines. - *   * @hqd_load: Loads the mqd structure to a H/W hqd slot. used only for no cp   * sceduling mode.   * @@ -274,9 +287,6 @@ struct kfd2kgd_calls {  	int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,  					unsigned int vmid); -	int (*init_pipeline)(struct kgd_dev *kgd, uint32_t pipe_id, -				uint32_t hpd_size, uint64_t hpd_gpu_addr); -  	int (*init_interrupts)(struct kgd_dev *kgd, uint32_t pipe_id);  	int (*hqd_load)(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id, @@ -382,6 +392,10 @@ struct kfd2kgd_calls {   *   * @resume: Notifies amdkfd about a resume action done to a kgd device   * + * @quiesce_mm: Quiesce all user queue access to specified MM address space + * + * @resume_mm: Resume user queue access to specified MM address space + *   * @schedule_evict_and_restore_process: Schedules work queue that will prepare   * for safe eviction of KFD BOs that belong to the specified process.   * @@ -399,6 +413,8 @@ struct kgd2kfd_calls {  	void (*interrupt)(struct kfd_dev *kfd, const void *ih_ring_entry);  	void (*suspend)(struct kfd_dev *kfd);  	int (*resume)(struct kfd_dev *kfd); +	int (*quiesce_mm)(struct mm_struct *mm); +	int (*resume_mm)(struct mm_struct *mm);  	int (*schedule_evict_and_restore_process)(struct mm_struct *mm,  			struct dma_fence *fence);  }; diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h index 5c840c022b52..06f08f34a110 100644 --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -94,6 +94,7 @@ enum pp_clock_type {  	PP_PCIE,  	OD_SCLK,  	OD_MCLK, +	OD_RANGE,  };  enum amd_pp_sensors { @@ -149,13 +150,6 @@ struct pp_states_info {  	uint32_t states[16];  }; -struct pp_gpu_power { -	uint32_t vddc_power; -	uint32_t vddci_power; -	uint32_t max_gpu_power; -	uint32_t average_gpu_power; -}; -  #define PP_GROUP_MASK        0xF0000000  #define PP_GROUP_SHIFT       28 @@ -246,11 +240,6 @@ struct amd_pm_funcs {  	int (*load_firmware)(void *handle);  	int (*wait_for_fw_loading_complete)(void *handle);  	int (*set_clockgating_by_smu)(void *handle, uint32_t msg_id); -	int (*notify_smu_memory_info)(void *handle, uint32_t virtual_addr_low, -					uint32_t virtual_addr_hi, -					uint32_t mc_addr_low, -					uint32_t mc_addr_hi, -					uint32_t size);  	int (*set_power_limit)(void *handle, uint32_t n);  	int (*get_power_limit)(void *handle, uint32_t *limit, bool default_limit);  /* export to DC */ diff --git a/drivers/gpu/drm/amd/include/soc15_ih_clientid.h b/drivers/gpu/drm/amd/include/soc15_ih_clientid.h index a12d4f27cfa4..12e196c15bbe 100644 --- a/drivers/gpu/drm/amd/include/soc15_ih_clientid.h +++ b/drivers/gpu/drm/amd/include/soc15_ih_clientid.h @@ -43,6 +43,7 @@ enum soc15_ih_clientid {  	SOC15_IH_CLIENTID_SE2SH		= 0x0c,  	SOC15_IH_CLIENTID_SE3SH		= 0x0d,  	SOC15_IH_CLIENTID_SYSHUB	= 0x0e, +	SOC15_IH_CLIENTID_UVD1		= 0x0e,  	SOC15_IH_CLIENTID_THM		= 0x0f,  	SOC15_IH_CLIENTID_UVD		= 0x10,  	SOC15_IH_CLIENTID_VCE0		= 0x11, diff --git a/drivers/gpu/drm/amd/include/v9_structs.h b/drivers/gpu/drm/amd/include/v9_structs.h index 2fb25abaf7c8..ceaf4932258d 100644 --- a/drivers/gpu/drm/amd/include/v9_structs.h +++ b/drivers/gpu/drm/amd/include/v9_structs.h @@ -29,10 +29,10 @@ struct v9_sdma_mqd {  	uint32_t sdmax_rlcx_rb_base;  	uint32_t sdmax_rlcx_rb_base_hi;  	uint32_t sdmax_rlcx_rb_rptr; +	uint32_t sdmax_rlcx_rb_rptr_hi;  	uint32_t sdmax_rlcx_rb_wptr; +	uint32_t sdmax_rlcx_rb_wptr_hi;  	uint32_t sdmax_rlcx_rb_wptr_poll_cntl; -	uint32_t sdmax_rlcx_rb_wptr_poll_addr_hi; -	uint32_t sdmax_rlcx_rb_wptr_poll_addr_lo;  	uint32_t sdmax_rlcx_rb_rptr_addr_hi;  	uint32_t sdmax_rlcx_rb_rptr_addr_lo;  	uint32_t sdmax_rlcx_ib_cntl; @@ -44,29 +44,29 @@ struct v9_sdma_mqd {  	uint32_t sdmax_rlcx_skip_cntl;  	uint32_t sdmax_rlcx_context_status;  	uint32_t sdmax_rlcx_doorbell; -	uint32_t sdmax_rlcx_virtual_addr; -	uint32_t sdmax_rlcx_ape1_cntl; +	uint32_t sdmax_rlcx_status;  	uint32_t sdmax_rlcx_doorbell_log; -	uint32_t reserved_22; -	uint32_t reserved_23; -	uint32_t reserved_24; -	uint32_t reserved_25; -	uint32_t reserved_26; -	uint32_t reserved_27; -	uint32_t reserved_28; -	uint32_t reserved_29; -	uint32_t reserved_30; -	uint32_t reserved_31; -	uint32_t reserved_32; -	uint32_t reserved_33; -	uint32_t reserved_34; -	uint32_t reserved_35; -	uint32_t reserved_36; -	uint32_t reserved_37; -	uint32_t reserved_38; -	uint32_t reserved_39; -	uint32_t reserved_40; -	uint32_t reserved_41; +	uint32_t sdmax_rlcx_watermark; +	uint32_t sdmax_rlcx_doorbell_offset; +	uint32_t sdmax_rlcx_csa_addr_lo; +	uint32_t sdmax_rlcx_csa_addr_hi; +	uint32_t sdmax_rlcx_ib_sub_remain; +	uint32_t sdmax_rlcx_preempt; +	uint32_t sdmax_rlcx_dummy_reg; +	uint32_t sdmax_rlcx_rb_wptr_poll_addr_hi; +	uint32_t sdmax_rlcx_rb_wptr_poll_addr_lo; +	uint32_t sdmax_rlcx_rb_aql_cntl; +	uint32_t sdmax_rlcx_minor_ptr_update; +	uint32_t sdmax_rlcx_midcmd_data0; +	uint32_t sdmax_rlcx_midcmd_data1; +	uint32_t sdmax_rlcx_midcmd_data2; +	uint32_t sdmax_rlcx_midcmd_data3; +	uint32_t sdmax_rlcx_midcmd_data4; +	uint32_t sdmax_rlcx_midcmd_data5; +	uint32_t sdmax_rlcx_midcmd_data6; +	uint32_t sdmax_rlcx_midcmd_data7; +	uint32_t sdmax_rlcx_midcmd_data8; +	uint32_t sdmax_rlcx_midcmd_cntl;  	uint32_t reserved_42;  	uint32_t reserved_43;  	uint32_t reserved_44; diff --git a/drivers/gpu/drm/amd/include/vega20_ip_offset.h b/drivers/gpu/drm/amd/include/vega20_ip_offset.h new file mode 100644 index 000000000000..2a2a9cc8bedb --- /dev/null +++ b/drivers/gpu/drm/amd/include/vega20_ip_offset.h @@ -0,0 +1,1051 @@ +/* + * Copyright (C) 2018  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 _vega20_ip_offset_HEADER +#define _vega20_ip_offset_HEADER + +#define MAX_INSTANCE                                       6 +#define MAX_SEGMENT                                        6 + + +struct IP_BASE_INSTANCE +{ +    unsigned int segment[MAX_SEGMENT]; +}; + +struct IP_BASE +{ +    struct IP_BASE_INSTANCE instance[MAX_INSTANCE]; +}; + + +static const struct IP_BASE ATHUB_BASE            ={ { { { 0x00000C20, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE CLK_BASE            ={ { { { 0x00016C00, 0x00016E00, 0x00017000, 0x00017200, 0x0001B000, 0x0001B200 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE DCE_BASE            ={ { { { 0x00000012, 0x000000C0, 0x000034C0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE DF_BASE            ={ { { { 0x00007000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE FUSE_BASE            ={ { { { 0x00017400, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE GC_BASE            ={ { { { 0x00002000, 0x0000A000, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE HDP_BASE            ={ { { { 0x00000F20, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE MMHUB_BASE            ={ { { { 0x0001A000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE MP0_BASE            ={ { { { 0x00016000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE MP1_BASE            ={ { { { 0x00016000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE NBIO_BASE            ={ { { { 0x00000000, 0x00000014, 0x00000D20, 0x00010400, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE OSSSYS_BASE            ={ { { { 0x000010A0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE SDMA0_BASE            ={ { { { 0x00001260, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE SDMA1_BASE            ={ { { { 0x00001860, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE SMUIO_BASE            ={ { { { 0x00016800, 0x00016A00, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE THM_BASE            ={ { { { 0x00016600, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE UMC_BASE            ={ { { { 0x00014000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE UVD_BASE            ={ { { { 0x00007800, 0x00007E00, 0, 0, 0, 0 } }, +                                        { { 0, 0x00009000, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +/* Adjust VCE_BASE to make vce_4_1 use vce_4_0 offset header files*/ +static const struct IP_BASE VCE_BASE            ={ { { { 0x00007E00/* 0x00008800 */, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE XDMA_BASE            ={ { { { 0x00003400, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; +static const struct IP_BASE RSMU_BASE            ={ { { { 0x00012000, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } }, +                                        { { 0, 0, 0, 0, 0, 0 } } } }; + + +#define ATHUB_BASE__INST0_SEG0                     0x00000C20 +#define ATHUB_BASE__INST0_SEG1                     0 +#define ATHUB_BASE__INST0_SEG2                     0 +#define ATHUB_BASE__INST0_SEG3                     0 +#define ATHUB_BASE__INST0_SEG4                     0 +#define ATHUB_BASE__INST0_SEG5                     0 + +#define ATHUB_BASE__INST1_SEG0                     0 +#define ATHUB_BASE__INST1_SEG1                     0 +#define ATHUB_BASE__INST1_SEG2                     0 +#define ATHUB_BASE__INST1_SEG3                     0 +#define ATHUB_BASE__INST1_SEG4                     0 +#define ATHUB_BASE__INST1_SEG5                     0 + +#define ATHUB_BASE__INST2_SEG0                     0 +#define ATHUB_BASE__INST2_SEG1                     0 +#define ATHUB_BASE__INST2_SEG2                     0 +#define ATHUB_BASE__INST2_SEG3                     0 +#define ATHUB_BASE__INST2_SEG4                     0 +#define ATHUB_BASE__INST2_SEG5                     0 + +#define ATHUB_BASE__INST3_SEG0                     0 +#define ATHUB_BASE__INST3_SEG1                     0 +#define ATHUB_BASE__INST3_SEG2                     0 +#define ATHUB_BASE__INST3_SEG3                     0 +#define ATHUB_BASE__INST3_SEG4                     0 +#define ATHUB_BASE__INST3_SEG5                     0 + +#define ATHUB_BASE__INST4_SEG0                     0 +#define ATHUB_BASE__INST4_SEG1                     0 +#define ATHUB_BASE__INST4_SEG2                     0 +#define ATHUB_BASE__INST4_SEG3                     0 +#define ATHUB_BASE__INST4_SEG4                     0 +#define ATHUB_BASE__INST4_SEG5                     0 + +#define ATHUB_BASE__INST5_SEG0                     0 +#define ATHUB_BASE__INST5_SEG1                     0 +#define ATHUB_BASE__INST5_SEG2                     0 +#define ATHUB_BASE__INST5_SEG3                     0 +#define ATHUB_BASE__INST5_SEG4                     0 +#define ATHUB_BASE__INST5_SEG5                     0 + +#define CLK_BASE__INST0_SEG0                       0x00016C00 +#define CLK_BASE__INST0_SEG1                       0x00016E00 +#define CLK_BASE__INST0_SEG2                       0x00017000 +#define CLK_BASE__INST0_SEG3                       0x00017200 +#define CLK_BASE__INST0_SEG4                       0x0001B000 +#define CLK_BASE__INST0_SEG5                       0x0001B200 + +#define CLK_BASE__INST1_SEG0                       0 +#define CLK_BASE__INST1_SEG1                       0 +#define CLK_BASE__INST1_SEG2                       0 +#define CLK_BASE__INST1_SEG3                       0 +#define CLK_BASE__INST1_SEG4                       0 +#define CLK_BASE__INST1_SEG5                       0 + +#define CLK_BASE__INST2_SEG0                       0 +#define CLK_BASE__INST2_SEG1                       0 +#define CLK_BASE__INST2_SEG2                       0 +#define CLK_BASE__INST2_SEG3                       0 +#define CLK_BASE__INST2_SEG4                       0 +#define CLK_BASE__INST2_SEG5                       0 + +#define CLK_BASE__INST3_SEG0                       0 +#define CLK_BASE__INST3_SEG1                       0 +#define CLK_BASE__INST3_SEG2                       0 +#define CLK_BASE__INST3_SEG3                       0 +#define CLK_BASE__INST3_SEG4                       0 +#define CLK_BASE__INST3_SEG5                       0 + +#define CLK_BASE__INST4_SEG0                       0 +#define CLK_BASE__INST4_SEG1                       0 +#define CLK_BASE__INST4_SEG2                       0 +#define CLK_BASE__INST4_SEG3                       0 +#define CLK_BASE__INST4_SEG4                       0 +#define CLK_BASE__INST4_SEG5                       0 + +#define CLK_BASE__INST5_SEG0                       0 +#define CLK_BASE__INST5_SEG1                       0 +#define CLK_BASE__INST5_SEG2                       0 +#define CLK_BASE__INST5_SEG3                       0 +#define CLK_BASE__INST5_SEG4                       0 +#define CLK_BASE__INST5_SEG5                       0 + +#define DCE_BASE__INST0_SEG0                       0x00000012 +#define DCE_BASE__INST0_SEG1                       0x000000C0 +#define DCE_BASE__INST0_SEG2                       0x000034C0 +#define DCE_BASE__INST0_SEG3                       0 +#define DCE_BASE__INST0_SEG4                       0 +#define DCE_BASE__INST0_SEG5                       0 + +#define DCE_BASE__INST1_SEG0                       0 +#define DCE_BASE__INST1_SEG1                       0 +#define DCE_BASE__INST1_SEG2                       0 +#define DCE_BASE__INST1_SEG3                       0 +#define DCE_BASE__INST1_SEG4                       0 +#define DCE_BASE__INST1_SEG5                       0 + +#define DCE_BASE__INST2_SEG0                       0 +#define DCE_BASE__INST2_SEG1                       0 +#define DCE_BASE__INST2_SEG2                       0 +#define DCE_BASE__INST2_SEG3                       0 +#define DCE_BASE__INST2_SEG4                       0 +#define DCE_BASE__INST2_SEG5                       0 + +#define DCE_BASE__INST3_SEG0                       0 +#define DCE_BASE__INST3_SEG1                       0 +#define DCE_BASE__INST3_SEG2                       0 +#define DCE_BASE__INST3_SEG3                       0 +#define DCE_BASE__INST3_SEG4                       0 +#define DCE_BASE__INST3_SEG5                       0 + +#define DCE_BASE__INST4_SEG0                       0 +#define DCE_BASE__INST4_SEG1                       0 +#define DCE_BASE__INST4_SEG2                       0 +#define DCE_BASE__INST4_SEG3                       0 +#define DCE_BASE__INST4_SEG4                       0 +#define DCE_BASE__INST4_SEG5                       0 + +#define DCE_BASE__INST5_SEG0                       0 +#define DCE_BASE__INST5_SEG1                       0 +#define DCE_BASE__INST5_SEG2                       0 +#define DCE_BASE__INST5_SEG3                       0 +#define DCE_BASE__INST5_SEG4                       0 +#define DCE_BASE__INST5_SEG5                       0 + +#define DF_BASE__INST0_SEG0                        0x00007000 +#define DF_BASE__INST0_SEG1                        0 +#define DF_BASE__INST0_SEG2                        0 +#define DF_BASE__INST0_SEG3                        0 +#define DF_BASE__INST0_SEG4                        0 +#define DF_BASE__INST0_SEG5                        0 + +#define DF_BASE__INST1_SEG0                        0 +#define DF_BASE__INST1_SEG1                        0 +#define DF_BASE__INST1_SEG2                        0 +#define DF_BASE__INST1_SEG3                        0 +#define DF_BASE__INST1_SEG4                        0 +#define DF_BASE__INST1_SEG5                        0 + +#define DF_BASE__INST2_SEG0                        0 +#define DF_BASE__INST2_SEG1                        0 +#define DF_BASE__INST2_SEG2                        0 +#define DF_BASE__INST2_SEG3                        0 +#define DF_BASE__INST2_SEG4                        0 +#define DF_BASE__INST2_SEG5                        0 + +#define DF_BASE__INST3_SEG0                        0 +#define DF_BASE__INST3_SEG1                        0 +#define DF_BASE__INST3_SEG2                        0 +#define DF_BASE__INST3_SEG3                        0 +#define DF_BASE__INST3_SEG4                        0 +#define DF_BASE__INST3_SEG5                        0 + +#define DF_BASE__INST4_SEG0                        0 +#define DF_BASE__INST4_SEG1                        0 +#define DF_BASE__INST4_SEG2                        0 +#define DF_BASE__INST4_SEG3                        0 +#define DF_BASE__INST4_SEG4                        0 +#define DF_BASE__INST4_SEG5                        0 + +#define DF_BASE__INST5_SEG0                        0 +#define DF_BASE__INST5_SEG1                        0 +#define DF_BASE__INST5_SEG2                        0 +#define DF_BASE__INST5_SEG3                        0 +#define DF_BASE__INST5_SEG4                        0 +#define DF_BASE__INST5_SEG5                        0 + +#define FUSE_BASE__INST0_SEG0                      0x00017400 +#define FUSE_BASE__INST0_SEG1                      0 +#define FUSE_BASE__INST0_SEG2                      0 +#define FUSE_BASE__INST0_SEG3                      0 +#define FUSE_BASE__INST0_SEG4                      0 +#define FUSE_BASE__INST0_SEG5                      0 + +#define FUSE_BASE__INST1_SEG0                      0 +#define FUSE_BASE__INST1_SEG1                      0 +#define FUSE_BASE__INST1_SEG2                      0 +#define FUSE_BASE__INST1_SEG3                      0 +#define FUSE_BASE__INST1_SEG4                      0 +#define FUSE_BASE__INST1_SEG5                      0 + +#define FUSE_BASE__INST2_SEG0                      0 +#define FUSE_BASE__INST2_SEG1                      0 +#define FUSE_BASE__INST2_SEG2                      0 +#define FUSE_BASE__INST2_SEG3                      0 +#define FUSE_BASE__INST2_SEG4                      0 +#define FUSE_BASE__INST2_SEG5                      0 + +#define FUSE_BASE__INST3_SEG0                      0 +#define FUSE_BASE__INST3_SEG1                      0 +#define FUSE_BASE__INST3_SEG2                      0 +#define FUSE_BASE__INST3_SEG3                      0 +#define FUSE_BASE__INST3_SEG4                      0 +#define FUSE_BASE__INST3_SEG5                      0 + +#define FUSE_BASE__INST4_SEG0                      0 +#define FUSE_BASE__INST4_SEG1                      0 +#define FUSE_BASE__INST4_SEG2                      0 +#define FUSE_BASE__INST4_SEG3                      0 +#define FUSE_BASE__INST4_SEG4                      0 +#define FUSE_BASE__INST4_SEG5                      0 + +#define FUSE_BASE__INST5_SEG0                      0 +#define FUSE_BASE__INST5_SEG1                      0 +#define FUSE_BASE__INST5_SEG2                      0 +#define FUSE_BASE__INST5_SEG3                      0 +#define FUSE_BASE__INST5_SEG4                      0 +#define FUSE_BASE__INST5_SEG5                      0 + +#define GC_BASE__INST0_SEG0                        0x00002000 +#define GC_BASE__INST0_SEG1                        0x0000A000 +#define GC_BASE__INST0_SEG2                        0 +#define GC_BASE__INST0_SEG3                        0 +#define GC_BASE__INST0_SEG4                        0 +#define GC_BASE__INST0_SEG5                        0 + +#define GC_BASE__INST1_SEG0                        0 +#define GC_BASE__INST1_SEG1                        0 +#define GC_BASE__INST1_SEG2                        0 +#define GC_BASE__INST1_SEG3                        0 +#define GC_BASE__INST1_SEG4                        0 +#define GC_BASE__INST1_SEG5                        0 + +#define GC_BASE__INST2_SEG0                        0 +#define GC_BASE__INST2_SEG1                        0 +#define GC_BASE__INST2_SEG2                        0 +#define GC_BASE__INST2_SEG3                        0 +#define GC_BASE__INST2_SEG4                        0 +#define GC_BASE__INST2_SEG5                        0 + +#define GC_BASE__INST3_SEG0                        0 +#define GC_BASE__INST3_SEG1                        0 +#define GC_BASE__INST3_SEG2                        0 +#define GC_BASE__INST3_SEG3                        0 +#define GC_BASE__INST3_SEG4                        0 +#define GC_BASE__INST3_SEG5                        0 + +#define GC_BASE__INST4_SEG0                        0 +#define GC_BASE__INST4_SEG1                        0 +#define GC_BASE__INST4_SEG2                        0 +#define GC_BASE__INST4_SEG3                        0 +#define GC_BASE__INST4_SEG4                        0 +#define GC_BASE__INST4_SEG5                        0 + +#define GC_BASE__INST5_SEG0                        0 +#define GC_BASE__INST5_SEG1                        0 +#define GC_BASE__INST5_SEG2                        0 +#define GC_BASE__INST5_SEG3                        0 +#define GC_BASE__INST5_SEG4                        0 +#define GC_BASE__INST5_SEG5                        0 + +#define HDP_BASE__INST0_SEG0                       0x00000F20 +#define HDP_BASE__INST0_SEG1                       0 +#define HDP_BASE__INST0_SEG2                       0 +#define HDP_BASE__INST0_SEG3                       0 +#define HDP_BASE__INST0_SEG4                       0 +#define HDP_BASE__INST0_SEG5                       0 + +#define HDP_BASE__INST1_SEG0                       0 +#define HDP_BASE__INST1_SEG1                       0 +#define HDP_BASE__INST1_SEG2                       0 +#define HDP_BASE__INST1_SEG3                       0 +#define HDP_BASE__INST1_SEG4                       0 +#define HDP_BASE__INST1_SEG5                       0 + +#define HDP_BASE__INST2_SEG0                       0 +#define HDP_BASE__INST2_SEG1                       0 +#define HDP_BASE__INST2_SEG2                       0 +#define HDP_BASE__INST2_SEG3                       0 +#define HDP_BASE__INST2_SEG4                       0 +#define HDP_BASE__INST2_SEG5                       0 + +#define HDP_BASE__INST3_SEG0                       0 +#define HDP_BASE__INST3_SEG1                       0 +#define HDP_BASE__INST3_SEG2                       0 +#define HDP_BASE__INST3_SEG3                       0 +#define HDP_BASE__INST3_SEG4                       0 +#define HDP_BASE__INST3_SEG5                       0 + +#define HDP_BASE__INST4_SEG0                       0 +#define HDP_BASE__INST4_SEG1                       0 +#define HDP_BASE__INST4_SEG2                       0 +#define HDP_BASE__INST4_SEG3                       0 +#define HDP_BASE__INST4_SEG4                       0 +#define HDP_BASE__INST4_SEG5                       0 + +#define HDP_BASE__INST5_SEG0                       0 +#define HDP_BASE__INST5_SEG1                       0 +#define HDP_BASE__INST5_SEG2                       0 +#define HDP_BASE__INST5_SEG3                       0 +#define HDP_BASE__INST5_SEG4                       0 +#define HDP_BASE__INST5_SEG5                       0 + +#define MMHUB_BASE__INST0_SEG0                     0x0001A000 +#define MMHUB_BASE__INST0_SEG1                     0 +#define MMHUB_BASE__INST0_SEG2                     0 +#define MMHUB_BASE__INST0_SEG3                     0 +#define MMHUB_BASE__INST0_SEG4                     0 +#define MMHUB_BASE__INST0_SEG5                     0 + +#define MMHUB_BASE__INST1_SEG0                     0 +#define MMHUB_BASE__INST1_SEG1                     0 +#define MMHUB_BASE__INST1_SEG2                     0 +#define MMHUB_BASE__INST1_SEG3                     0 +#define MMHUB_BASE__INST1_SEG4                     0 +#define MMHUB_BASE__INST1_SEG5                     0 + +#define MMHUB_BASE__INST2_SEG0                     0 +#define MMHUB_BASE__INST2_SEG1                     0 +#define MMHUB_BASE__INST2_SEG2                     0 +#define MMHUB_BASE__INST2_SEG3                     0 +#define MMHUB_BASE__INST2_SEG4                     0 +#define MMHUB_BASE__INST2_SEG5                     0 + +#define MMHUB_BASE__INST3_SEG0                     0 +#define MMHUB_BASE__INST3_SEG1                     0 +#define MMHUB_BASE__INST3_SEG2                     0 +#define MMHUB_BASE__INST3_SEG3                     0 +#define MMHUB_BASE__INST3_SEG4                     0 +#define MMHUB_BASE__INST3_SEG5                     0 + +#define MMHUB_BASE__INST4_SEG0                     0 +#define MMHUB_BASE__INST4_SEG1                     0 +#define MMHUB_BASE__INST4_SEG2                     0 +#define MMHUB_BASE__INST4_SEG3                     0 +#define MMHUB_BASE__INST4_SEG4                     0 +#define MMHUB_BASE__INST4_SEG5                     0 + +#define MMHUB_BASE__INST5_SEG0                     0 +#define MMHUB_BASE__INST5_SEG1                     0 +#define MMHUB_BASE__INST5_SEG2                     0 +#define MMHUB_BASE__INST5_SEG3                     0 +#define MMHUB_BASE__INST5_SEG4                     0 +#define MMHUB_BASE__INST5_SEG5                     0 + +#define MP0_BASE__INST0_SEG0                       0x00016000 +#define MP0_BASE__INST0_SEG1                       0 +#define MP0_BASE__INST0_SEG2                       0 +#define MP0_BASE__INST0_SEG3                       0 +#define MP0_BASE__INST0_SEG4                       0 +#define MP0_BASE__INST0_SEG5                       0 + +#define MP0_BASE__INST1_SEG0                       0 +#define MP0_BASE__INST1_SEG1                       0 +#define MP0_BASE__INST1_SEG2                       0 +#define MP0_BASE__INST1_SEG3                       0 +#define MP0_BASE__INST1_SEG4                       0 +#define MP0_BASE__INST1_SEG5                       0 + +#define MP0_BASE__INST2_SEG0                       0 +#define MP0_BASE__INST2_SEG1                       0 +#define MP0_BASE__INST2_SEG2                       0 +#define MP0_BASE__INST2_SEG3                       0 +#define MP0_BASE__INST2_SEG4                       0 +#define MP0_BASE__INST2_SEG5                       0 + +#define MP0_BASE__INST3_SEG0                       0 +#define MP0_BASE__INST3_SEG1                       0 +#define MP0_BASE__INST3_SEG2                       0 +#define MP0_BASE__INST3_SEG3                       0 +#define MP0_BASE__INST3_SEG4                       0 +#define MP0_BASE__INST3_SEG5                       0 + +#define MP0_BASE__INST4_SEG0                       0 +#define MP0_BASE__INST4_SEG1                       0 +#define MP0_BASE__INST4_SEG2                       0 +#define MP0_BASE__INST4_SEG3                       0 +#define MP0_BASE__INST4_SEG4                       0 +#define MP0_BASE__INST4_SEG5                       0 + +#define MP0_BASE__INST5_SEG0                       0 +#define MP0_BASE__INST5_SEG1                       0 +#define MP0_BASE__INST5_SEG2                       0 +#define MP0_BASE__INST5_SEG3                       0 +#define MP0_BASE__INST5_SEG4                       0 +#define MP0_BASE__INST5_SEG5                       0 + +#define MP1_BASE__INST0_SEG0                       0x00016000 +#define MP1_BASE__INST0_SEG1                       0 +#define MP1_BASE__INST0_SEG2                       0 +#define MP1_BASE__INST0_SEG3                       0 +#define MP1_BASE__INST0_SEG4                       0 +#define MP1_BASE__INST0_SEG5                       0 + +#define MP1_BASE__INST1_SEG0                       0 +#define MP1_BASE__INST1_SEG1                       0 +#define MP1_BASE__INST1_SEG2                       0 +#define MP1_BASE__INST1_SEG3                       0 +#define MP1_BASE__INST1_SEG4                       0 +#define MP1_BASE__INST1_SEG5                       0 + +#define MP1_BASE__INST2_SEG0                       0 +#define MP1_BASE__INST2_SEG1                       0 +#define MP1_BASE__INST2_SEG2                       0 +#define MP1_BASE__INST2_SEG3                       0 +#define MP1_BASE__INST2_SEG4                       0 +#define MP1_BASE__INST2_SEG5                       0 + +#define MP1_BASE__INST3_SEG0                       0 +#define MP1_BASE__INST3_SEG1                       0 +#define MP1_BASE__INST3_SEG2                       0 +#define MP1_BASE__INST3_SEG3                       0 +#define MP1_BASE__INST3_SEG4                       0 +#define MP1_BASE__INST3_SEG5                       0 + +#define MP1_BASE__INST4_SEG0                       0 +#define MP1_BASE__INST4_SEG1                       0 +#define MP1_BASE__INST4_SEG2                       0 +#define MP1_BASE__INST4_SEG3                       0 +#define MP1_BASE__INST4_SEG4                       0 +#define MP1_BASE__INST4_SEG5                       0 + +#define MP1_BASE__INST5_SEG0                       0 +#define MP1_BASE__INST5_SEG1                       0 +#define MP1_BASE__INST5_SEG2                       0 +#define MP1_BASE__INST5_SEG3                       0 +#define MP1_BASE__INST5_SEG4                       0 +#define MP1_BASE__INST5_SEG5                       0 + +#define NBIO_BASE__INST0_SEG0                      0x00000000 +#define NBIO_BASE__INST0_SEG1                      0x00000014 +#define NBIO_BASE__INST0_SEG2                      0x00000D20 +#define NBIO_BASE__INST0_SEG3                      0x00010400 +#define NBIO_BASE__INST0_SEG4                      0 +#define NBIO_BASE__INST0_SEG5                      0 + +#define NBIO_BASE__INST1_SEG0                      0 +#define NBIO_BASE__INST1_SEG1                      0 +#define NBIO_BASE__INST1_SEG2                      0 +#define NBIO_BASE__INST1_SEG3                      0 +#define NBIO_BASE__INST1_SEG4                      0 +#define NBIO_BASE__INST1_SEG5                      0 + +#define NBIO_BASE__INST2_SEG0                      0 +#define NBIO_BASE__INST2_SEG1                      0 +#define NBIO_BASE__INST2_SEG2                      0 +#define NBIO_BASE__INST2_SEG3                      0 +#define NBIO_BASE__INST2_SEG4                      0 +#define NBIO_BASE__INST2_SEG5                      0 + +#define NBIO_BASE__INST3_SEG0                      0 +#define NBIO_BASE__INST3_SEG1                      0 +#define NBIO_BASE__INST3_SEG2                      0 +#define NBIO_BASE__INST3_SEG3                      0 +#define NBIO_BASE__INST3_SEG4                      0 +#define NBIO_BASE__INST3_SEG5                      0 + +#define NBIO_BASE__INST4_SEG0                      0 +#define NBIO_BASE__INST4_SEG1                      0 +#define NBIO_BASE__INST4_SEG2                      0 +#define NBIO_BASE__INST4_SEG3                      0 +#define NBIO_BASE__INST4_SEG4                      0 +#define NBIO_BASE__INST4_SEG5                      0 + +#define NBIO_BASE__INST5_SEG0                      0 +#define NBIO_BASE__INST5_SEG1                      0 +#define NBIO_BASE__INST5_SEG2                      0 +#define NBIO_BASE__INST5_SEG3                      0 +#define NBIO_BASE__INST5_SEG4                      0 +#define NBIO_BASE__INST5_SEG5                      0 + +#define OSSSYS_BASE__INST0_SEG0                    0x000010A0 +#define OSSSYS_BASE__INST0_SEG1                    0 +#define OSSSYS_BASE__INST0_SEG2                    0 +#define OSSSYS_BASE__INST0_SEG3                    0 +#define OSSSYS_BASE__INST0_SEG4                    0 +#define OSSSYS_BASE__INST0_SEG5                    0 + +#define OSSSYS_BASE__INST1_SEG0                    0 +#define OSSSYS_BASE__INST1_SEG1                    0 +#define OSSSYS_BASE__INST1_SEG2                    0 +#define OSSSYS_BASE__INST1_SEG3                    0 +#define OSSSYS_BASE__INST1_SEG4                    0 +#define OSSSYS_BASE__INST1_SEG5                    0 + +#define OSSSYS_BASE__INST2_SEG0                    0 +#define OSSSYS_BASE__INST2_SEG1                    0 +#define OSSSYS_BASE__INST2_SEG2                    0 +#define OSSSYS_BASE__INST2_SEG3                    0 +#define OSSSYS_BASE__INST2_SEG4                    0 +#define OSSSYS_BASE__INST2_SEG5                    0 + +#define OSSSYS_BASE__INST3_SEG0                    0 +#define OSSSYS_BASE__INST3_SEG1                    0 +#define OSSSYS_BASE__INST3_SEG2                    0 +#define OSSSYS_BASE__INST3_SEG3                    0 +#define OSSSYS_BASE__INST3_SEG4                    0 +#define OSSSYS_BASE__INST3_SEG5                    0 + +#define OSSSYS_BASE__INST4_SEG0                    0 +#define OSSSYS_BASE__INST4_SEG1                    0 +#define OSSSYS_BASE__INST4_SEG2                    0 +#define OSSSYS_BASE__INST4_SEG3                    0 +#define OSSSYS_BASE__INST4_SEG4                    0 +#define OSSSYS_BASE__INST4_SEG5                    0 + +#define OSSSYS_BASE__INST5_SEG0                    0 +#define OSSSYS_BASE__INST5_SEG1                    0 +#define OSSSYS_BASE__INST5_SEG2                    0 +#define OSSSYS_BASE__INST5_SEG3                    0 +#define OSSSYS_BASE__INST5_SEG4                    0 +#define OSSSYS_BASE__INST5_SEG5                    0 + +#define SDMA0_BASE__INST0_SEG0                     0x00001260 +#define SDMA0_BASE__INST0_SEG1                     0 +#define SDMA0_BASE__INST0_SEG2                     0 +#define SDMA0_BASE__INST0_SEG3                     0 +#define SDMA0_BASE__INST0_SEG4                     0 +#define SDMA0_BASE__INST0_SEG5                     0 + +#define SDMA0_BASE__INST1_SEG0                     0 +#define SDMA0_BASE__INST1_SEG1                     0 +#define SDMA0_BASE__INST1_SEG2                     0 +#define SDMA0_BASE__INST1_SEG3                     0 +#define SDMA0_BASE__INST1_SEG4                     0 +#define SDMA0_BASE__INST1_SEG5                     0 + +#define SDMA0_BASE__INST2_SEG0                     0 +#define SDMA0_BASE__INST2_SEG1                     0 +#define SDMA0_BASE__INST2_SEG2                     0 +#define SDMA0_BASE__INST2_SEG3                     0 +#define SDMA0_BASE__INST2_SEG4                     0 +#define SDMA0_BASE__INST2_SEG5                     0 + +#define SDMA0_BASE__INST3_SEG0                     0 +#define SDMA0_BASE__INST3_SEG1                     0 +#define SDMA0_BASE__INST3_SEG2                     0 +#define SDMA0_BASE__INST3_SEG3                     0 +#define SDMA0_BASE__INST3_SEG4                     0 +#define SDMA0_BASE__INST3_SEG5                     0 + +#define SDMA0_BASE__INST4_SEG0                     0 +#define SDMA0_BASE__INST4_SEG1                     0 +#define SDMA0_BASE__INST4_SEG2                     0 +#define SDMA0_BASE__INST4_SEG3                     0 +#define SDMA0_BASE__INST4_SEG4                     0 +#define SDMA0_BASE__INST4_SEG5                     0 + +#define SDMA0_BASE__INST5_SEG0                     0 +#define SDMA0_BASE__INST5_SEG1                     0 +#define SDMA0_BASE__INST5_SEG2                     0 +#define SDMA0_BASE__INST5_SEG3                     0 +#define SDMA0_BASE__INST5_SEG4                     0 +#define SDMA0_BASE__INST5_SEG5                     0 + +#define SDMA1_BASE__INST0_SEG0                     0x00001860 +#define SDMA1_BASE__INST0_SEG1                     0 +#define SDMA1_BASE__INST0_SEG2                     0 +#define SDMA1_BASE__INST0_SEG3                     0 +#define SDMA1_BASE__INST0_SEG4                     0 +#define SDMA1_BASE__INST0_SEG5                     0 + +#define SDMA1_BASE__INST1_SEG0                     0 +#define SDMA1_BASE__INST1_SEG1                     0 +#define SDMA1_BASE__INST1_SEG2                     0 +#define SDMA1_BASE__INST1_SEG3                     0 +#define SDMA1_BASE__INST1_SEG4                     0 +#define SDMA1_BASE__INST1_SEG5                     0 + +#define SDMA1_BASE__INST2_SEG0                     0 +#define SDMA1_BASE__INST2_SEG1                     0 +#define SDMA1_BASE__INST2_SEG2                     0 +#define SDMA1_BASE__INST2_SEG3                     0 +#define SDMA1_BASE__INST2_SEG4                     0 +#define SDMA1_BASE__INST2_SEG5                     0 + +#define SDMA1_BASE__INST3_SEG0                     0 +#define SDMA1_BASE__INST3_SEG1                     0 +#define SDMA1_BASE__INST3_SEG2                     0 +#define SDMA1_BASE__INST3_SEG3                     0 +#define SDMA1_BASE__INST3_SEG4                     0 +#define SDMA1_BASE__INST3_SEG5                     0 + +#define SDMA1_BASE__INST4_SEG0                     0 +#define SDMA1_BASE__INST4_SEG1                     0 +#define SDMA1_BASE__INST4_SEG2                     0 +#define SDMA1_BASE__INST4_SEG3                     0 +#define SDMA1_BASE__INST4_SEG4                     0 +#define SDMA1_BASE__INST4_SEG5                     0 + +#define SDMA1_BASE__INST5_SEG0                     0 +#define SDMA1_BASE__INST5_SEG1                     0 +#define SDMA1_BASE__INST5_SEG2                     0 +#define SDMA1_BASE__INST5_SEG3                     0 +#define SDMA1_BASE__INST5_SEG4                     0 +#define SDMA1_BASE__INST5_SEG5                     0 + +#define SMUIO_BASE__INST0_SEG0                     0x00016800 +#define SMUIO_BASE__INST0_SEG1                     0x00016A00 +#define SMUIO_BASE__INST0_SEG2                     0 +#define SMUIO_BASE__INST0_SEG3                     0 +#define SMUIO_BASE__INST0_SEG4                     0 +#define SMUIO_BASE__INST0_SEG5                     0 + +#define SMUIO_BASE__INST1_SEG0                     0 +#define SMUIO_BASE__INST1_SEG1                     0 +#define SMUIO_BASE__INST1_SEG2                     0 +#define SMUIO_BASE__INST1_SEG3                     0 +#define SMUIO_BASE__INST1_SEG4                     0 +#define SMUIO_BASE__INST1_SEG5                     0 + +#define SMUIO_BASE__INST2_SEG0                     0 +#define SMUIO_BASE__INST2_SEG1                     0 +#define SMUIO_BASE__INST2_SEG2                     0 +#define SMUIO_BASE__INST2_SEG3                     0 +#define SMUIO_BASE__INST2_SEG4                     0 +#define SMUIO_BASE__INST2_SEG5                     0 + +#define SMUIO_BASE__INST3_SEG0                     0 +#define SMUIO_BASE__INST3_SEG1                     0 +#define SMUIO_BASE__INST3_SEG2                     0 +#define SMUIO_BASE__INST3_SEG3                     0 +#define SMUIO_BASE__INST3_SEG4                     0 +#define SMUIO_BASE__INST3_SEG5                     0 + +#define SMUIO_BASE__INST4_SEG0                     0 +#define SMUIO_BASE__INST4_SEG1                     0 +#define SMUIO_BASE__INST4_SEG2                     0 +#define SMUIO_BASE__INST4_SEG3                     0 +#define SMUIO_BASE__INST4_SEG4                     0 +#define SMUIO_BASE__INST4_SEG5                     0 + +#define SMUIO_BASE__INST5_SEG0                     0 +#define SMUIO_BASE__INST5_SEG1                     0 +#define SMUIO_BASE__INST5_SEG2                     0 +#define SMUIO_BASE__INST5_SEG3                     0 +#define SMUIO_BASE__INST5_SEG4                     0 +#define SMUIO_BASE__INST5_SEG5                     0 + +#define THM_BASE__INST0_SEG0                       0x00016600 +#define THM_BASE__INST0_SEG1                       0 +#define THM_BASE__INST0_SEG2                       0 +#define THM_BASE__INST0_SEG3                       0 +#define THM_BASE__INST0_SEG4                       0 +#define THM_BASE__INST0_SEG5                       0 + +#define THM_BASE__INST1_SEG0                       0 +#define THM_BASE__INST1_SEG1                       0 +#define THM_BASE__INST1_SEG2                       0 +#define THM_BASE__INST1_SEG3                       0 +#define THM_BASE__INST1_SEG4                       0 +#define THM_BASE__INST1_SEG5                       0 + +#define THM_BASE__INST2_SEG0                       0 +#define THM_BASE__INST2_SEG1                       0 +#define THM_BASE__INST2_SEG2                       0 +#define THM_BASE__INST2_SEG3                       0 +#define THM_BASE__INST2_SEG4                       0 +#define THM_BASE__INST2_SEG5                       0 + +#define THM_BASE__INST3_SEG0                       0 +#define THM_BASE__INST3_SEG1                       0 +#define THM_BASE__INST3_SEG2                       0 +#define THM_BASE__INST3_SEG3                       0 +#define THM_BASE__INST3_SEG4                       0 +#define THM_BASE__INST3_SEG5                       0 + +#define THM_BASE__INST4_SEG0                       0 +#define THM_BASE__INST4_SEG1                       0 +#define THM_BASE__INST4_SEG2                       0 +#define THM_BASE__INST4_SEG3                       0 +#define THM_BASE__INST4_SEG4                       0 +#define THM_BASE__INST4_SEG5                       0 + +#define THM_BASE__INST5_SEG0                       0 +#define THM_BASE__INST5_SEG1                       0 +#define THM_BASE__INST5_SEG2                       0 +#define THM_BASE__INST5_SEG3                       0 +#define THM_BASE__INST5_SEG4                       0 +#define THM_BASE__INST5_SEG5                       0 + +#define UMC_BASE__INST0_SEG0                       0x00014000 +#define UMC_BASE__INST0_SEG1                       0 +#define UMC_BASE__INST0_SEG2                       0 +#define UMC_BASE__INST0_SEG3                       0 +#define UMC_BASE__INST0_SEG4                       0 +#define UMC_BASE__INST0_SEG5                       0 + +#define UMC_BASE__INST1_SEG0                       0 +#define UMC_BASE__INST1_SEG1                       0 +#define UMC_BASE__INST1_SEG2                       0 +#define UMC_BASE__INST1_SEG3                       0 +#define UMC_BASE__INST1_SEG4                       0 +#define UMC_BASE__INST1_SEG5                       0 + +#define UMC_BASE__INST2_SEG0                       0 +#define UMC_BASE__INST2_SEG1                       0 +#define UMC_BASE__INST2_SEG2                       0 +#define UMC_BASE__INST2_SEG3                       0 +#define UMC_BASE__INST2_SEG4                       0 +#define UMC_BASE__INST2_SEG5                       0 + +#define UMC_BASE__INST3_SEG0                       0 +#define UMC_BASE__INST3_SEG1                       0 +#define UMC_BASE__INST3_SEG2                       0 +#define UMC_BASE__INST3_SEG3                       0 +#define UMC_BASE__INST3_SEG4                       0 +#define UMC_BASE__INST3_SEG5                       0 + +#define UMC_BASE__INST4_SEG0                       0 +#define UMC_BASE__INST4_SEG1                       0 +#define UMC_BASE__INST4_SEG2                       0 +#define UMC_BASE__INST4_SEG3                       0 +#define UMC_BASE__INST4_SEG4                       0 +#define UMC_BASE__INST4_SEG5                       0 + +#define UMC_BASE__INST5_SEG0                       0 +#define UMC_BASE__INST5_SEG1                       0 +#define UMC_BASE__INST5_SEG2                       0 +#define UMC_BASE__INST5_SEG3                       0 +#define UMC_BASE__INST5_SEG4                       0 +#define UMC_BASE__INST5_SEG5                       0 + +#define UVD_BASE__INST0_SEG0                       0x00007800 +#define UVD_BASE__INST0_SEG1                       0x00007E00 +#define UVD_BASE__INST0_SEG2                       0 +#define UVD_BASE__INST0_SEG3                       0 +#define UVD_BASE__INST0_SEG4                       0 +#define UVD_BASE__INST0_SEG5                       0 + +#define UVD_BASE__INST1_SEG0                       0 +#define UVD_BASE__INST1_SEG1                       0x00009000 +#define UVD_BASE__INST1_SEG2                       0 +#define UVD_BASE__INST1_SEG3                       0 +#define UVD_BASE__INST1_SEG4                       0 +#define UVD_BASE__INST1_SEG5                       0 + +#define UVD_BASE__INST2_SEG0                       0 +#define UVD_BASE__INST2_SEG1                       0 +#define UVD_BASE__INST2_SEG2                       0 +#define UVD_BASE__INST2_SEG3                       0 +#define UVD_BASE__INST2_SEG4                       0 +#define UVD_BASE__INST2_SEG5                       0 + +#define UVD_BASE__INST3_SEG0                       0 +#define UVD_BASE__INST3_SEG1                       0 +#define UVD_BASE__INST3_SEG2                       0 +#define UVD_BASE__INST3_SEG3                       0 +#define UVD_BASE__INST3_SEG4                       0 +#define UVD_BASE__INST3_SEG5                       0 + +#define UVD_BASE__INST4_SEG0                       0 +#define UVD_BASE__INST4_SEG1                       0 +#define UVD_BASE__INST4_SEG2                       0 +#define UVD_BASE__INST4_SEG3                       0 +#define UVD_BASE__INST4_SEG4                       0 +#define UVD_BASE__INST4_SEG5                       0 + +#define UVD_BASE__INST5_SEG0                       0 +#define UVD_BASE__INST5_SEG1                       0 +#define UVD_BASE__INST5_SEG2                       0 +#define UVD_BASE__INST5_SEG3                       0 +#define UVD_BASE__INST5_SEG4                       0 +#define UVD_BASE__INST5_SEG5                       0 + +#define VCE_BASE__INST0_SEG0                       0x00008800 +#define VCE_BASE__INST0_SEG1                       0 +#define VCE_BASE__INST0_SEG2                       0 +#define VCE_BASE__INST0_SEG3                       0 +#define VCE_BASE__INST0_SEG4                       0 +#define VCE_BASE__INST0_SEG5                       0 + +#define VCE_BASE__INST1_SEG0                       0 +#define VCE_BASE__INST1_SEG1                       0 +#define VCE_BASE__INST1_SEG2                       0 +#define VCE_BASE__INST1_SEG3                       0 +#define VCE_BASE__INST1_SEG4                       0 +#define VCE_BASE__INST1_SEG5                       0 + +#define VCE_BASE__INST2_SEG0                       0 +#define VCE_BASE__INST2_SEG1                       0 +#define VCE_BASE__INST2_SEG2                       0 +#define VCE_BASE__INST2_SEG3                       0 +#define VCE_BASE__INST2_SEG4                       0 +#define VCE_BASE__INST2_SEG5                       0 + +#define VCE_BASE__INST3_SEG0                       0 +#define VCE_BASE__INST3_SEG1                       0 +#define VCE_BASE__INST3_SEG2                       0 +#define VCE_BASE__INST3_SEG3                       0 +#define VCE_BASE__INST3_SEG4                       0 +#define VCE_BASE__INST3_SEG5                       0 + +#define VCE_BASE__INST4_SEG0                       0 +#define VCE_BASE__INST4_SEG1                       0 +#define VCE_BASE__INST4_SEG2                       0 +#define VCE_BASE__INST4_SEG3                       0 +#define VCE_BASE__INST4_SEG4                       0 +#define VCE_BASE__INST4_SEG5                       0 + +#define VCE_BASE__INST5_SEG0                       0 +#define VCE_BASE__INST5_SEG1                       0 +#define VCE_BASE__INST5_SEG2                       0 +#define VCE_BASE__INST5_SEG3                       0 +#define VCE_BASE__INST5_SEG4                       0 +#define VCE_BASE__INST5_SEG5                       0 + +#define XDMA_BASE__INST0_SEG0                      0x00003400 +#define XDMA_BASE__INST0_SEG1                      0 +#define XDMA_BASE__INST0_SEG2                      0 +#define XDMA_BASE__INST0_SEG3                      0 +#define XDMA_BASE__INST0_SEG4                      0 +#define XDMA_BASE__INST0_SEG5                      0 + +#define XDMA_BASE__INST1_SEG0                      0 +#define XDMA_BASE__INST1_SEG1                      0 +#define XDMA_BASE__INST1_SEG2                      0 +#define XDMA_BASE__INST1_SEG3                      0 +#define XDMA_BASE__INST1_SEG4                      0 +#define XDMA_BASE__INST1_SEG5                      0 + +#define XDMA_BASE__INST2_SEG0                      0 +#define XDMA_BASE__INST2_SEG1                      0 +#define XDMA_BASE__INST2_SEG2                      0 +#define XDMA_BASE__INST2_SEG3                      0 +#define XDMA_BASE__INST2_SEG4                      0 +#define XDMA_BASE__INST2_SEG5                      0 + +#define XDMA_BASE__INST3_SEG0                      0 +#define XDMA_BASE__INST3_SEG1                      0 +#define XDMA_BASE__INST3_SEG2                      0 +#define XDMA_BASE__INST3_SEG3                      0 +#define XDMA_BASE__INST3_SEG4                      0 +#define XDMA_BASE__INST3_SEG5                      0 + +#define XDMA_BASE__INST4_SEG0                      0 +#define XDMA_BASE__INST4_SEG1                      0 +#define XDMA_BASE__INST4_SEG2                      0 +#define XDMA_BASE__INST4_SEG3                      0 +#define XDMA_BASE__INST4_SEG4                      0 +#define XDMA_BASE__INST4_SEG5                      0 + +#define XDMA_BASE__INST5_SEG0                      0 +#define XDMA_BASE__INST5_SEG1                      0 +#define XDMA_BASE__INST5_SEG2                      0 +#define XDMA_BASE__INST5_SEG3                      0 +#define XDMA_BASE__INST5_SEG4                      0 +#define XDMA_BASE__INST5_SEG5                      0 + +#define RSMU_BASE__INST0_SEG0                      0x00012000 +#define RSMU_BASE__INST0_SEG1                      0 +#define RSMU_BASE__INST0_SEG2                      0 +#define RSMU_BASE__INST0_SEG3                      0 +#define RSMU_BASE__INST0_SEG4                      0 +#define RSMU_BASE__INST0_SEG5                      0 + +#define RSMU_BASE__INST1_SEG0                      0 +#define RSMU_BASE__INST1_SEG1                      0 +#define RSMU_BASE__INST1_SEG2                      0 +#define RSMU_BASE__INST1_SEG3                      0 +#define RSMU_BASE__INST1_SEG4                      0 +#define RSMU_BASE__INST1_SEG5                      0 + +#define RSMU_BASE__INST2_SEG0                      0 +#define RSMU_BASE__INST2_SEG1                      0 +#define RSMU_BASE__INST2_SEG2                      0 +#define RSMU_BASE__INST2_SEG3                      0 +#define RSMU_BASE__INST2_SEG4                      0 +#define RSMU_BASE__INST2_SEG5                      0 + +#define RSMU_BASE__INST3_SEG0                      0 +#define RSMU_BASE__INST3_SEG1                      0 +#define RSMU_BASE__INST3_SEG2                      0 +#define RSMU_BASE__INST3_SEG3                      0 +#define RSMU_BASE__INST3_SEG4                      0 +#define RSMU_BASE__INST3_SEG5                      0 + +#define RSMU_BASE__INST4_SEG0                      0 +#define RSMU_BASE__INST4_SEG1                      0 +#define RSMU_BASE__INST4_SEG2                      0 +#define RSMU_BASE__INST4_SEG3                      0 +#define RSMU_BASE__INST4_SEG4                      0 +#define RSMU_BASE__INST4_SEG5                      0 + +#define RSMU_BASE__INST5_SEG0                      0 +#define RSMU_BASE__INST5_SEG1                      0 +#define RSMU_BASE__INST5_SEG2                      0 +#define RSMU_BASE__INST5_SEG3                      0 +#define RSMU_BASE__INST5_SEG4                      0 +#define RSMU_BASE__INST5_SEG5                      0 + +#endif +  |