0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef __EVERGREEN_REG_H__
0025 #define __EVERGREEN_REG_H__
0026
0027
0028 #define TN_SMC_IND_INDEX_0 0x200
0029 #define TN_SMC_IND_DATA_0 0x204
0030
0031
0032 #define EVERGREEN_PIF_PHY0_INDEX 0x8
0033 #define EVERGREEN_PIF_PHY0_DATA 0xc
0034 #define EVERGREEN_PIF_PHY1_INDEX 0x10
0035 #define EVERGREEN_PIF_PHY1_DATA 0x14
0036 #define EVERGREEN_MM_INDEX_HI 0x18
0037
0038 #define EVERGREEN_VGA_MEMORY_BASE_ADDRESS 0x310
0039 #define EVERGREEN_VGA_MEMORY_BASE_ADDRESS_HIGH 0x324
0040 #define EVERGREEN_D3VGA_CONTROL 0x3e0
0041 #define EVERGREEN_D4VGA_CONTROL 0x3e4
0042 #define EVERGREEN_D5VGA_CONTROL 0x3e8
0043 #define EVERGREEN_D6VGA_CONTROL 0x3ec
0044
0045 #define EVERGREEN_P1PLL_SS_CNTL 0x414
0046 #define EVERGREEN_P2PLL_SS_CNTL 0x454
0047 # define EVERGREEN_PxPLL_SS_EN (1 << 12)
0048
0049 #define EVERGREEN_AUDIO_PLL1_MUL 0x5b0
0050 #define EVERGREEN_AUDIO_PLL1_DIV 0x5b4
0051 #define EVERGREEN_AUDIO_PLL1_UNK 0x5bc
0052
0053 #define EVERGREEN_CG_IND_ADDR 0x8f8
0054 #define EVERGREEN_CG_IND_DATA 0x8fc
0055
0056 #define EVERGREEN_AUDIO_ENABLE 0x5e78
0057 #define EVERGREEN_AUDIO_VENDOR_ID 0x5ec0
0058
0059
0060 #define EVERGREEN_GRPH_ENABLE 0x6800
0061 #define EVERGREEN_GRPH_CONTROL 0x6804
0062 # define EVERGREEN_GRPH_DEPTH(x) (((x) & 0x3) << 0)
0063 # define EVERGREEN_GRPH_DEPTH_8BPP 0
0064 # define EVERGREEN_GRPH_DEPTH_16BPP 1
0065 # define EVERGREEN_GRPH_DEPTH_32BPP 2
0066 # define EVERGREEN_GRPH_NUM_BANKS(x) (((x) & 0x3) << 2)
0067 # define EVERGREEN_ADDR_SURF_2_BANK 0
0068 # define EVERGREEN_ADDR_SURF_4_BANK 1
0069 # define EVERGREEN_ADDR_SURF_8_BANK 2
0070 # define EVERGREEN_ADDR_SURF_16_BANK 3
0071 # define EVERGREEN_GRPH_Z(x) (((x) & 0x3) << 4)
0072 # define EVERGREEN_GRPH_BANK_WIDTH(x) (((x) & 0x3) << 6)
0073 # define EVERGREEN_ADDR_SURF_BANK_WIDTH_1 0
0074 # define EVERGREEN_ADDR_SURF_BANK_WIDTH_2 1
0075 # define EVERGREEN_ADDR_SURF_BANK_WIDTH_4 2
0076 # define EVERGREEN_ADDR_SURF_BANK_WIDTH_8 3
0077 # define EVERGREEN_GRPH_FORMAT(x) (((x) & 0x7) << 8)
0078
0079 # define EVERGREEN_GRPH_FORMAT_INDEXED 0
0080
0081 # define EVERGREEN_GRPH_FORMAT_ARGB1555 0
0082 # define EVERGREEN_GRPH_FORMAT_ARGB565 1
0083 # define EVERGREEN_GRPH_FORMAT_ARGB4444 2
0084 # define EVERGREEN_GRPH_FORMAT_AI88 3
0085 # define EVERGREEN_GRPH_FORMAT_MONO16 4
0086 # define EVERGREEN_GRPH_FORMAT_BGRA5551 5
0087
0088 # define EVERGREEN_GRPH_FORMAT_ARGB8888 0
0089 # define EVERGREEN_GRPH_FORMAT_ARGB2101010 1
0090 # define EVERGREEN_GRPH_FORMAT_32BPP_DIG 2
0091 # define EVERGREEN_GRPH_FORMAT_8B_ARGB2101010 3
0092 # define EVERGREEN_GRPH_FORMAT_BGRA1010102 4
0093 # define EVERGREEN_GRPH_FORMAT_8B_BGRA1010102 5
0094 # define EVERGREEN_GRPH_FORMAT_RGB111110 6
0095 # define EVERGREEN_GRPH_FORMAT_BGR101111 7
0096 # define EVERGREEN_GRPH_BANK_HEIGHT(x) (((x) & 0x3) << 11)
0097 # define EVERGREEN_ADDR_SURF_BANK_HEIGHT_1 0
0098 # define EVERGREEN_ADDR_SURF_BANK_HEIGHT_2 1
0099 # define EVERGREEN_ADDR_SURF_BANK_HEIGHT_4 2
0100 # define EVERGREEN_ADDR_SURF_BANK_HEIGHT_8 3
0101 # define EVERGREEN_GRPH_TILE_SPLIT(x) (((x) & 0x7) << 13)
0102 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_64B 0
0103 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_128B 1
0104 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_256B 2
0105 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_512B 3
0106 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_1KB 4
0107 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_2KB 5
0108 # define EVERGREEN_ADDR_SURF_TILE_SPLIT_4KB 6
0109 # define EVERGREEN_GRPH_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 18)
0110 # define EVERGREEN_ADDR_SURF_MACRO_TILE_ASPECT_1 0
0111 # define EVERGREEN_ADDR_SURF_MACRO_TILE_ASPECT_2 1
0112 # define EVERGREEN_ADDR_SURF_MACRO_TILE_ASPECT_4 2
0113 # define EVERGREEN_ADDR_SURF_MACRO_TILE_ASPECT_8 3
0114 # define EVERGREEN_GRPH_ARRAY_MODE(x) (((x) & 0x7) << 20)
0115 # define EVERGREEN_GRPH_ARRAY_LINEAR_GENERAL 0
0116 # define EVERGREEN_GRPH_ARRAY_LINEAR_ALIGNED 1
0117 # define EVERGREEN_GRPH_ARRAY_1D_TILED_THIN1 2
0118 # define EVERGREEN_GRPH_ARRAY_2D_TILED_THIN1 4
0119 #define EVERGREEN_GRPH_LUT_10BIT_BYPASS_CONTROL 0x6808
0120 # define EVERGREEN_LUT_10BIT_BYPASS_EN (1 << 8)
0121 #define EVERGREEN_GRPH_SWAP_CONTROL 0x680c
0122 # define EVERGREEN_GRPH_ENDIAN_SWAP(x) (((x) & 0x3) << 0)
0123 # define EVERGREEN_GRPH_ENDIAN_NONE 0
0124 # define EVERGREEN_GRPH_ENDIAN_8IN16 1
0125 # define EVERGREEN_GRPH_ENDIAN_8IN32 2
0126 # define EVERGREEN_GRPH_ENDIAN_8IN64 3
0127 # define EVERGREEN_GRPH_RED_CROSSBAR(x) (((x) & 0x3) << 4)
0128 # define EVERGREEN_GRPH_RED_SEL_R 0
0129 # define EVERGREEN_GRPH_RED_SEL_G 1
0130 # define EVERGREEN_GRPH_RED_SEL_B 2
0131 # define EVERGREEN_GRPH_RED_SEL_A 3
0132 # define EVERGREEN_GRPH_GREEN_CROSSBAR(x) (((x) & 0x3) << 6)
0133 # define EVERGREEN_GRPH_GREEN_SEL_G 0
0134 # define EVERGREEN_GRPH_GREEN_SEL_B 1
0135 # define EVERGREEN_GRPH_GREEN_SEL_A 2
0136 # define EVERGREEN_GRPH_GREEN_SEL_R 3
0137 # define EVERGREEN_GRPH_BLUE_CROSSBAR(x) (((x) & 0x3) << 8)
0138 # define EVERGREEN_GRPH_BLUE_SEL_B 0
0139 # define EVERGREEN_GRPH_BLUE_SEL_A 1
0140 # define EVERGREEN_GRPH_BLUE_SEL_R 2
0141 # define EVERGREEN_GRPH_BLUE_SEL_G 3
0142 # define EVERGREEN_GRPH_ALPHA_CROSSBAR(x) (((x) & 0x3) << 10)
0143 # define EVERGREEN_GRPH_ALPHA_SEL_A 0
0144 # define EVERGREEN_GRPH_ALPHA_SEL_R 1
0145 # define EVERGREEN_GRPH_ALPHA_SEL_G 2
0146 # define EVERGREEN_GRPH_ALPHA_SEL_B 3
0147 #define EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS 0x6810
0148 #define EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS 0x6814
0149 # define EVERGREEN_GRPH_DFQ_ENABLE (1 << 0)
0150 # define EVERGREEN_GRPH_SURFACE_ADDRESS_MASK 0xffffff00
0151 #define EVERGREEN_GRPH_PITCH 0x6818
0152 #define EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x681c
0153 #define EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x6820
0154 #define EVERGREEN_GRPH_SURFACE_OFFSET_X 0x6824
0155 #define EVERGREEN_GRPH_SURFACE_OFFSET_Y 0x6828
0156 #define EVERGREEN_GRPH_X_START 0x682c
0157 #define EVERGREEN_GRPH_Y_START 0x6830
0158 #define EVERGREEN_GRPH_X_END 0x6834
0159 #define EVERGREEN_GRPH_Y_END 0x6838
0160 #define EVERGREEN_GRPH_UPDATE 0x6844
0161 # define EVERGREEN_GRPH_SURFACE_UPDATE_PENDING (1 << 2)
0162 # define EVERGREEN_GRPH_UPDATE_LOCK (1 << 16)
0163 #define EVERGREEN_GRPH_FLIP_CONTROL 0x6848
0164 # define EVERGREEN_GRPH_SURFACE_UPDATE_H_RETRACE_EN (1 << 0)
0165
0166
0167 #define EVERGREEN_CUR_CONTROL 0x6998
0168 # define EVERGREEN_CURSOR_EN (1 << 0)
0169 # define EVERGREEN_CURSOR_MODE(x) (((x) & 0x3) << 8)
0170 # define EVERGREEN_CURSOR_MONO 0
0171 # define EVERGREEN_CURSOR_24_1 1
0172 # define EVERGREEN_CURSOR_24_8_PRE_MULT 2
0173 # define EVERGREEN_CURSOR_24_8_UNPRE_MULT 3
0174 # define EVERGREEN_CURSOR_2X_MAGNIFY (1 << 16)
0175 # define EVERGREEN_CURSOR_FORCE_MC_ON (1 << 20)
0176 # define EVERGREEN_CURSOR_URGENT_CONTROL(x) (((x) & 0x7) << 24)
0177 # define EVERGREEN_CURSOR_URGENT_ALWAYS 0
0178 # define EVERGREEN_CURSOR_URGENT_1_8 1
0179 # define EVERGREEN_CURSOR_URGENT_1_4 2
0180 # define EVERGREEN_CURSOR_URGENT_3_8 3
0181 # define EVERGREEN_CURSOR_URGENT_1_2 4
0182 #define EVERGREEN_CUR_SURFACE_ADDRESS 0x699c
0183 # define EVERGREEN_CUR_SURFACE_ADDRESS_MASK 0xfffff000
0184 #define EVERGREEN_CUR_SIZE 0x69a0
0185 #define EVERGREEN_CUR_SURFACE_ADDRESS_HIGH 0x69a4
0186 #define EVERGREEN_CUR_POSITION 0x69a8
0187 #define EVERGREEN_CUR_HOT_SPOT 0x69ac
0188 #define EVERGREEN_CUR_COLOR1 0x69b0
0189 #define EVERGREEN_CUR_COLOR2 0x69b4
0190 #define EVERGREEN_CUR_UPDATE 0x69b8
0191 # define EVERGREEN_CURSOR_UPDATE_PENDING (1 << 0)
0192 # define EVERGREEN_CURSOR_UPDATE_TAKEN (1 << 1)
0193 # define EVERGREEN_CURSOR_UPDATE_LOCK (1 << 16)
0194 # define EVERGREEN_CURSOR_DISABLE_MULTIPLE_UPDATE (1 << 24)
0195
0196
0197 #define EVERGREEN_DC_LUT_RW_MODE 0x69e0
0198 #define EVERGREEN_DC_LUT_RW_INDEX 0x69e4
0199 #define EVERGREEN_DC_LUT_SEQ_COLOR 0x69e8
0200 #define EVERGREEN_DC_LUT_PWL_DATA 0x69ec
0201 #define EVERGREEN_DC_LUT_30_COLOR 0x69f0
0202 #define EVERGREEN_DC_LUT_VGA_ACCESS_ENABLE 0x69f4
0203 #define EVERGREEN_DC_LUT_WRITE_EN_MASK 0x69f8
0204 #define EVERGREEN_DC_LUT_AUTOFILL 0x69fc
0205 #define EVERGREEN_DC_LUT_CONTROL 0x6a00
0206 #define EVERGREEN_DC_LUT_BLACK_OFFSET_BLUE 0x6a04
0207 #define EVERGREEN_DC_LUT_BLACK_OFFSET_GREEN 0x6a08
0208 #define EVERGREEN_DC_LUT_BLACK_OFFSET_RED 0x6a0c
0209 #define EVERGREEN_DC_LUT_WHITE_OFFSET_BLUE 0x6a10
0210 #define EVERGREEN_DC_LUT_WHITE_OFFSET_GREEN 0x6a14
0211 #define EVERGREEN_DC_LUT_WHITE_OFFSET_RED 0x6a18
0212
0213 #define EVERGREEN_DATA_FORMAT 0x6b00
0214 # define EVERGREEN_INTERLEAVE_EN (1 << 0)
0215 #define EVERGREEN_DESKTOP_HEIGHT 0x6b04
0216 #define EVERGREEN_VLINE_START_END 0x6b08
0217 #define EVERGREEN_VLINE_STATUS 0x6bb8
0218 # define EVERGREEN_VLINE_STAT (1 << 12)
0219
0220 #define EVERGREEN_VIEWPORT_START 0x6d70
0221 #define EVERGREEN_VIEWPORT_SIZE 0x6d74
0222
0223
0224 #define EVERGREEN_CRTC0_REGISTER_OFFSET (0x6df0 - 0x6df0)
0225 #define EVERGREEN_CRTC1_REGISTER_OFFSET (0x79f0 - 0x6df0)
0226 #define EVERGREEN_CRTC2_REGISTER_OFFSET (0x105f0 - 0x6df0)
0227 #define EVERGREEN_CRTC3_REGISTER_OFFSET (0x111f0 - 0x6df0)
0228 #define EVERGREEN_CRTC4_REGISTER_OFFSET (0x11df0 - 0x6df0)
0229 #define EVERGREEN_CRTC5_REGISTER_OFFSET (0x129f0 - 0x6df0)
0230
0231
0232 #define EVERGREEN_CRTC_V_BLANK_START_END 0x6e34
0233 #define EVERGREEN_CRTC_CONTROL 0x6e70
0234 # define EVERGREEN_CRTC_MASTER_EN (1 << 0)
0235 # define EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE (1 << 24)
0236 #define EVERGREEN_CRTC_BLANK_CONTROL 0x6e74
0237 # define EVERGREEN_CRTC_BLANK_DATA_EN (1 << 8)
0238 #define EVERGREEN_CRTC_STATUS 0x6e8c
0239 # define EVERGREEN_CRTC_V_BLANK (1 << 0)
0240 #define EVERGREEN_CRTC_STATUS_POSITION 0x6e90
0241 #define EVERGREEN_CRTC_STATUS_HV_COUNT 0x6ea0
0242 #define EVERGREEN_CRTC_UPDATE_LOCK 0x6ed4
0243 #define EVERGREEN_MASTER_UPDATE_LOCK 0x6ef4
0244 #define EVERGREEN_MASTER_UPDATE_MODE 0x6ef8
0245
0246 #define EVERGREEN_DC_GPIO_HPD_MASK 0x64b0
0247 #define EVERGREEN_DC_GPIO_HPD_A 0x64b4
0248 #define EVERGREEN_DC_GPIO_HPD_EN 0x64b8
0249 #define EVERGREEN_DC_GPIO_HPD_Y 0x64bc
0250
0251
0252 #define EVERGREEN_HDMI_BASE 0x7030
0253
0254 #define NI_DIG0_REGISTER_OFFSET (0x7000 - 0x7000)
0255 #define NI_DIG1_REGISTER_OFFSET (0x7C00 - 0x7000)
0256 #define NI_DIG2_REGISTER_OFFSET (0x10800 - 0x7000)
0257 #define NI_DIG3_REGISTER_OFFSET (0x11400 - 0x7000)
0258 #define NI_DIG4_REGISTER_OFFSET (0x12000 - 0x7000)
0259 #define NI_DIG5_REGISTER_OFFSET (0x12C00 - 0x7000)
0260
0261
0262 #define NI_DIG_FE_CNTL 0x7000
0263 # define NI_DIG_FE_CNTL_SOURCE_SELECT(x) ((x) & 0x3)
0264 # define NI_DIG_FE_CNTL_SYMCLK_FE_ON (1<<24)
0265
0266
0267 #define NI_DIG_BE_CNTL 0x7140
0268 # define NI_DIG_BE_CNTL_FE_SOURCE_SELECT(x) (((x) >> 8 ) & 0x3F)
0269 # define NI_DIG_FE_CNTL_MODE(x) (((x) >> 16) & 0x7 )
0270
0271 #define NI_DIG_BE_EN_CNTL 0x7144
0272 # define NI_DIG_BE_EN_CNTL_ENABLE (1 << 0)
0273 # define NI_DIG_BE_EN_CNTL_SYMBCLK_ON (1 << 8)
0274 # define NI_DIG_BE_DPSST 0
0275
0276
0277 #define EVERGREEN_DP0_REGISTER_OFFSET (0x730C - 0x730C)
0278 #define EVERGREEN_DP1_REGISTER_OFFSET (0x7F0C - 0x730C)
0279 #define EVERGREEN_DP2_REGISTER_OFFSET (0x10B0C - 0x730C)
0280 #define EVERGREEN_DP3_REGISTER_OFFSET (0x1170C - 0x730C)
0281 #define EVERGREEN_DP4_REGISTER_OFFSET (0x1230C - 0x730C)
0282 #define EVERGREEN_DP5_REGISTER_OFFSET (0x12F0C - 0x730C)
0283
0284
0285 #define EVERGREEN_DP_VID_STREAM_CNTL 0x730C
0286 # define EVERGREEN_DP_VID_STREAM_CNTL_ENABLE (1 << 0)
0287 # define EVERGREEN_DP_VID_STREAM_STATUS (1 <<16)
0288 #define EVERGREEN_DP_STEER_FIFO 0x7310
0289 # define EVERGREEN_DP_STEER_FIFO_RESET (1 << 0)
0290 #define EVERGREEN_DP_SEC_CNTL 0x7280
0291 # define EVERGREEN_DP_SEC_STREAM_ENABLE (1 << 0)
0292 # define EVERGREEN_DP_SEC_ASP_ENABLE (1 << 4)
0293 # define EVERGREEN_DP_SEC_ATP_ENABLE (1 << 8)
0294 # define EVERGREEN_DP_SEC_AIP_ENABLE (1 << 12)
0295 # define EVERGREEN_DP_SEC_GSP_ENABLE (1 << 20)
0296 # define EVERGREEN_DP_SEC_AVI_ENABLE (1 << 24)
0297 # define EVERGREEN_DP_SEC_MPG_ENABLE (1 << 28)
0298 #define EVERGREEN_DP_SEC_TIMESTAMP 0x72a4
0299 # define EVERGREEN_DP_SEC_TIMESTAMP_MODE(x) (((x) & 0x3) << 0)
0300 #define EVERGREEN_DP_SEC_AUD_N 0x7294
0301 # define EVERGREEN_DP_SEC_N_BASE_MULTIPLE(x) (((x) & 0xf) << 24)
0302 # define EVERGREEN_DP_SEC_SS_EN (1 << 28)
0303
0304
0305 #define NI_DCIO_UNIPHY0_UNIPHY_TX_CONTROL1 (0x6600 -0x6600)
0306 #define NI_DCIO_UNIPHY1_UNIPHY_TX_CONTROL1 (0x6640 -0x6600)
0307 #define NI_DCIO_UNIPHY2_UNIPHY_TX_CONTROL1 (0x6680 - 0x6600)
0308 #define NI_DCIO_UNIPHY3_UNIPHY_TX_CONTROL1 (0x66C0 - 0x6600)
0309 #define NI_DCIO_UNIPHY4_UNIPHY_TX_CONTROL1 (0x6700 - 0x6600)
0310 #define NI_DCIO_UNIPHY5_UNIPHY_TX_CONTROL1 (0x6740 - 0x6600)
0311
0312 #define NI_DCIO_UNIPHY0_PLL_CONTROL1 0x6618
0313 # define NI_DCIO_UNIPHY0_PLL_CONTROL1_ENABLE (1 << 0)
0314
0315 #endif