comparison vidix/drivers/radeon.h @ 6254:034b12194350

rage128/radeon fixes, mach64 mess^H^H^H^Hcleanup, pm3 driver. sync with mplayerxp
author arpi
date Fri, 31 May 2002 23:17:43 +0000
parents 43dc579db3d1
children
comparison
equal deleted inserted replaced
6253:136c061fab12 6254:034b12194350
61 #define I2C_CNTL_1 0x0094 61 #define I2C_CNTL_1 0x0094
62 #define I2C_DATA 0x0098 62 #define I2C_DATA 0x0098
63 #define CONFIG_CNTL 0x00E0 63 #define CONFIG_CNTL 0x00E0
64 /* CONFIG_CNTL bit constants */ 64 /* CONFIG_CNTL bit constants */
65 # define CFG_VGA_RAM_EN 0x00000100 65 # define CFG_VGA_RAM_EN 0x00000100
66 #ifdef RAGE128
67 #define GEN_RESET_CNTL 0x00f0
68 # define SOFT_RESET_GUI 0x00000001
69 # define SOFT_RESET_VCLK 0x00000100
70 # define SOFT_RESET_PCLK 0x00000200
71 # define SOFT_RESET_ECP 0x00000400
72 # define SOFT_RESET_DISPENG_XCLK 0x00000800
73 # define SOFT_RESET_MEMCTLR_XCLK 0x00001000
74 #endif
66 #define CONFIG_MEMSIZE 0x00F8 75 #define CONFIG_MEMSIZE 0x00F8
67 #define CONFIG_APER_0_BASE 0x0100 76 #define CONFIG_APER_0_BASE 0x0100
68 #define CONFIG_APER_1_BASE 0x0104 77 #define CONFIG_APER_1_BASE 0x0104
69 #define CONFIG_APER_SIZE 0x0108 78 #define CONFIG_APER_SIZE 0x0108
70 #define CONFIG_REG_1_BASE 0x010C 79 #define CONFIG_REG_1_BASE 0x010C
83 # define AGP_APER_SIZE_MASK (0x3f << 0) 92 # define AGP_APER_SIZE_MASK (0x3f << 0)
84 #define AMCGPIO_A_REG 0x01a0 93 #define AMCGPIO_A_REG 0x01a0
85 #define AMCGPIO_EN_REG 0x01a8 94 #define AMCGPIO_EN_REG 0x01a8
86 #define AMCGPIO_MASK 0x0194 95 #define AMCGPIO_MASK 0x0194
87 #define AMCGPIO_Y_REG 0x01a4 96 #define AMCGPIO_Y_REG 0x01a4
88 #define BM_STATUS 0x0160 97 /*#define BM_STATUS 0x0160*/
89 #define MPP_TB_CONFIG 0x01c0 /* ? */ 98 #define MPP_TB_CONFIG 0x01c0 /* ? */
90 #define MPP_GP_CONFIG 0x01c8 /* ? */ 99 #define MPP_GP_CONFIG 0x01c8 /* ? */
91 #define VENDOR_ID 0x0F00 100 #define VENDOR_ID 0x0F00
92 #define DEVICE_ID 0x0F02 101 #define DEVICE_ID 0x0F02
93 #define COMMAND 0x0F04 102 #define COMMAND 0x0F04
198 #define MC_AGP_LOCATION 0x014C 207 #define MC_AGP_LOCATION 0x014C
199 #define MEM_IO_CNTL_A0 0x0178 208 #define MEM_IO_CNTL_A0 0x0178
200 #define MEM_INIT_LATENCY_TIMER 0x0154 209 #define MEM_INIT_LATENCY_TIMER 0x0154
201 #define MEM_SDRAM_MODE_REG 0x0158 210 #define MEM_SDRAM_MODE_REG 0x0158
202 #define AGP_BASE 0x0170 211 #define AGP_BASE 0x0170
212 #ifdef RAGE128
213 #define PCI_GART_PAGE 0x017c
214 #define PC_NGUI_MODE 0x0180
215 #define PC_NGUI_CTLSTAT 0x0184
216 # define PC_FLUSH_GUI (3 << 0)
217 # define PC_RI_GUI (1 << 2)
218 # define PC_FLUSH_ALL 0x00ff
219 # define PC_BUSY (1 << 31)
220 #define PC_MISC_CNTL 0x0188
221 #else
203 #define MEM_IO_CNTL_A1 0x017C 222 #define MEM_IO_CNTL_A1 0x017C
204 #define MEM_IO_CNTL_B0 0x0180 223 #define MEM_IO_CNTL_B0 0x0180
205 #define MEM_IO_CNTL_B1 0x0184 224 #define MEM_IO_CNTL_B1 0x0184
206 #define MC_DEBUG 0x0188 225 #define MC_DEBUG 0x0188
226 #endif
207 #define MC_STATUS 0x0150 227 #define MC_STATUS 0x0150
208 #define MEM_IO_OE_CNTL 0x018C 228 #define MEM_IO_OE_CNTL 0x018C
209 #define MC_FB_LOCATION 0x0148 229 #define MC_FB_LOCATION 0x0148
210 #define HOST_PATH_CNTL 0x0130 230 #define HOST_PATH_CNTL 0x0130
211 #define MEM_VGA_WP_SEL 0x0038 231 #define MEM_VGA_WP_SEL 0x0038
552 #endif 572 #endif
553 # define SCALER_DOUBLE_BUFFER 0x01000000L 573 # define SCALER_DOUBLE_BUFFER 0x01000000L
554 # define SCALER_UNKNOWN_FLAG3 0x02000000L /* ??? */ 574 # define SCALER_UNKNOWN_FLAG3 0x02000000L /* ??? */
555 # define SCALER_UNKNOWN_FLAG4 0x04000000L /* ??? */ 575 # define SCALER_UNKNOWN_FLAG4 0x04000000L /* ??? */
556 # define SCALER_DIS_LIMIT 0x08000000L 576 # define SCALER_DIS_LIMIT 0x08000000L
577 #ifdef RAGE128
557 # define SCALER_PRG_LOAD_START 0x10000000L 578 # define SCALER_PRG_LOAD_START 0x10000000L
579 #endif
558 # define SCALER_INT_EMU 0x20000000L 580 # define SCALER_INT_EMU 0x20000000L
559 # define SCALER_ENABLE 0x40000000L 581 # define SCALER_ENABLE 0x40000000L
560 # define SCALER_SOFT_RESET 0x80000000L 582 # define SCALER_SOFT_RESET 0x80000000L
561 #define OV0_V_INC 0x0424 583 #define OV0_V_INC 0x0424
562 #define OV0_P1_V_ACCUM_INIT 0x0428 584 #define OV0_P1_V_ACCUM_INIT 0x0428
684 #define OV0_VID_KEY_CLR 0x04E4 706 #define OV0_VID_KEY_CLR 0x04E4
685 #define OV0_VID_KEY_MSK 0x04E8 707 #define OV0_VID_KEY_MSK 0x04E8
686 #define OV0_GRAPHICS_KEY_CLR 0x04EC 708 #define OV0_GRAPHICS_KEY_CLR 0x04EC
687 #define OV0_GRAPHICS_KEY_MSK 0x04F0 709 #define OV0_GRAPHICS_KEY_MSK 0x04F0
688 #define OV0_KEY_CNTL 0x04F4 710 #define OV0_KEY_CNTL 0x04F4
711 #ifdef RAGE128
712 # define VIDEO_KEY_FN_MASK 0x00000007L
713 # define VIDEO_KEY_FN_FALSE 0x00000000L
714 # define VIDEO_KEY_FN_TRUE 0x00000001L
715 # define VIDEO_KEY_FN_EQ 0x00000004L
716 # define VIDEO_KEY_FN_NE 0x00000005L
717 # define GRAPHIC_KEY_FN_MASK 0x00000070L
718 # define GRAPHIC_KEY_FN_FALSE 0x00000000L
719 # define GRAPHIC_KEY_FN_TRUE 0x00000010L
720 # define GRAPHIC_KEY_FN_EQ 0x00000040L
721 # define GRAPHIC_KEY_FN_NE 0x00000050L
722 #else
689 # define VIDEO_KEY_FN_MASK 0x00000003L 723 # define VIDEO_KEY_FN_MASK 0x00000003L
690 # define VIDEO_KEY_FN_FALSE 0x00000000L 724 # define VIDEO_KEY_FN_FALSE 0x00000000L
691 # define VIDEO_KEY_FN_TRUE 0x00000001L 725 # define VIDEO_KEY_FN_TRUE 0x00000001L
692 # define VIDEO_KEY_FN_EQ 0x00000002L 726 # define VIDEO_KEY_FN_EQ 0x00000002L
693 # define VIDEO_KEY_FN_NE 0x00000003L 727 # define VIDEO_KEY_FN_NE 0x00000003L
694 # define GRAPHIC_KEY_FN_MASK 0x00000030L 728 # define GRAPHIC_KEY_FN_MASK 0x00000030L
695 # define GRAPHIC_KEY_FN_FALSE 0x00000000L 729 # define GRAPHIC_KEY_FN_FALSE 0x00000000L
696 # define GRAPHIC_KEY_FN_TRUE 0x00000010L 730 # define GRAPHIC_KEY_FN_TRUE 0x00000010L
697 # define GRAPHIC_KEY_FN_EQ 0x00000020L 731 # define GRAPHIC_KEY_FN_EQ 0x00000020L
698 # define GRAPHIC_KEY_FN_NE 0x00000030L 732 # define GRAPHIC_KEY_FN_NE 0x00000030L
733 #endif
699 # define CMP_MIX_MASK 0x00000100L 734 # define CMP_MIX_MASK 0x00000100L
700 # define CMP_MIX_OR 0x00000000L 735 # define CMP_MIX_OR 0x00000000L
701 # define CMP_MIX_AND 0x00000100L 736 # define CMP_MIX_AND 0x00000100L
702 #define OV0_TEST 0x04F8 737 #define OV0_TEST 0x04F8
703 #define OV0_LIN_TRANS_A 0x0D20 738 #define OV0_LIN_TRANS_A 0x0D20
781 #define CP_IB_BUFSZ 0x073C 816 #define CP_IB_BUFSZ 0x073C
782 #define CP_CSQ_CNTL 0x0740 817 #define CP_CSQ_CNTL 0x0740
783 #define SCRATCH_UMSK 0x0770 818 #define SCRATCH_UMSK 0x0770
784 #define SCRATCH_ADDR 0x0774 819 #define SCRATCH_ADDR 0x0774
785 #define DMA_GUI_TABLE_ADDR 0x0780 820 #define DMA_GUI_TABLE_ADDR 0x0780
821 # define DMA_GUI_COMMAND__BYTE_COUNT_MASK 0x001fffff
822 # define DMA_GUI_COMMAND__INTDIS 0x40000000
823 # define DMA_GUI_COMMAND__EOL 0x80000000
786 #define DMA_GUI_SRC_ADDR 0x0784 824 #define DMA_GUI_SRC_ADDR 0x0784
787 #define DMA_GUI_DST_ADDR 0x0788 825 #define DMA_GUI_DST_ADDR 0x0788
788 #define DMA_GUI_COMMAND 0x078C 826 #define DMA_GUI_COMMAND 0x078C
789 #define DMA_GUI_STATUS 0x0790 827 #define DMA_GUI_STATUS 0x0790
790 #define DMA_GUI_ACT_DSCRPTR 0x0794 828 #define DMA_GUI_ACT_DSCRPTR 0x0794
988 #define SRC_X_Y 0x1590 1026 #define SRC_X_Y 0x1590
989 #define SRC_Y_X 0x1434 1027 #define SRC_Y_X 0x1434
990 #define DST_Y_X 0x1438 1028 #define DST_Y_X 0x1438
991 #define DST_WIDTH_HEIGHT 0x1598 1029 #define DST_WIDTH_HEIGHT 0x1598
992 #define DST_HEIGHT_WIDTH 0x143c 1030 #define DST_HEIGHT_WIDTH 0x143c
1031 #ifdef RAGE128
1032 #define GUI_STAT 0x1740
1033 # define GUI_FIFOCNT_MASK 0x0fff
1034 # define GUI_ACTIVE (1 << 31)
1035 #endif
993 #define SRC_CLUT_ADDRESS 0x1780 1036 #define SRC_CLUT_ADDRESS 0x1780
994 #define SRC_CLUT_DATA 0x1784 1037 #define SRC_CLUT_DATA 0x1784
995 #define SRC_CLUT_DATA_RD 0x1788 1038 #define SRC_CLUT_DATA_RD 0x1788
996 #define HOST_DATA0 0x17C0 1039 #define HOST_DATA0 0x17C0
997 #define HOST_DATA1 0x17C4 1040 #define HOST_DATA1 0x17C4
1193 #define PPLL_DIV_0 0x0004 1236 #define PPLL_DIV_0 0x0004
1194 #define PPLL_DIV_1 0x0005 1237 #define PPLL_DIV_1 0x0005
1195 #define PPLL_DIV_2 0x0006 1238 #define PPLL_DIV_2 0x0006
1196 #define PPLL_DIV_3 0x0007 1239 #define PPLL_DIV_3 0x0007
1197 #define VCLK_ECP_CNTL 0x0008 1240 #define VCLK_ECP_CNTL 0x0008
1241 # define VCLK_SRC_SEL_MASK 0x03
1242 # define VCLK_SRC_SEL_CPUCLK 0x00
1243 # define VCLK_SRC_SEL_PSCANCLK 0x01
1244 # define VCLK_SRC_SEL_BYTECLK 0x02
1245 # define VCLK_SRC_SEL_PPLLCLK 0x03
1198 #define HTOTAL_CNTL 0x0009 1246 #define HTOTAL_CNTL 0x0009
1199 #define HTOTAL2_CNTL 0x002e /* PLL */ 1247 #define HTOTAL2_CNTL 0x002e /* PLL */
1200 #define M_SPLL_REF_FB_DIV 0x000a 1248 #define M_SPLL_REF_FB_DIV 0x000a
1201 #define AGP_PLL_CNTL 0x000b 1249 #define AGP_PLL_CNTL 0x000b
1202 #define SPLL_CNTL 0x000c 1250 #define SPLL_CNTL 0x000c
1203 #define SCLK_CNTL 0x000d 1251 #define SCLK_CNTL 0x000d
1252 # define DYN_STOP_LAT_MASK 0x00007ff8
1253 # define CP_MAX_DYN_STOP_LAT 0x0008
1254 # define SCLK_FORCEON_MASK 0xffff8000
1255 #define SCLK_MORE_CNTL 0x0035 /* PLL */
1256 # define SCLK_MORE_FORCEON 0x0700
1204 #define MPLL_CNTL 0x000e 1257 #define MPLL_CNTL 0x000e
1258 #ifdef RAGE128
1259 #define MCLK_CNTL 0x000f /* PLL */
1260 # define FORCE_GCP (1 << 16)
1261 # define FORCE_PIPE3D_CP (1 << 17)
1262 # define FORCE_RCP (1 << 18)
1263 #else
1205 #define MCLK_CNTL 0x0012 1264 #define MCLK_CNTL 0x0012
1206 /* MCLK_CNTL bit constants */ 1265 /* MCLK_CNTL bit constants */
1207 # define FORCEON_MCLKA (1 << 16) 1266 # define FORCEON_MCLKA (1 << 16)
1208 # define FORCEON_MCLKB (1 << 17) 1267 # define FORCEON_MCLKB (1 << 17)
1209 # define FORCEON_YCLKA (1 << 18) 1268 # define FORCEON_YCLKA (1 << 18)
1210 # define FORCEON_YCLKB (1 << 19) 1269 # define FORCEON_YCLKB (1 << 19)
1211 # define FORCEON_MC (1 << 20) 1270 # define FORCEON_MC (1 << 20)
1212 # define FORCEON_AIC (1 << 21) 1271 # define FORCEON_AIC (1 << 21)
1272 #endif
1213 #define PLL_TEST_CNTL 0x0013 1273 #define PLL_TEST_CNTL 0x0013
1214 #define P2PLL_CNTL 0x002a /* P2PLL */ 1274 #define P2PLL_CNTL 0x002a /* P2PLL */
1215 # define P2PLL_RESET (1 << 0) 1275 # define P2PLL_RESET (1 << 0)
1216 # define P2PLL_SLEEP (1 << 1) 1276 # define P2PLL_SLEEP (1 << 1)
1217 # define P2PLL_ATOMIC_UPDATE_EN (1 << 16) 1277 # define P2PLL_ATOMIC_UPDATE_EN (1 << 16)
1222 # define P2PLL_POST0_DIV_MASK 0x00070000 1282 # define P2PLL_POST0_DIV_MASK 0x00070000
1223 #define P2PLL_REF_DIV 0x002B /* PLL */ 1283 #define P2PLL_REF_DIV 0x002B /* PLL */
1224 # define P2PLL_REF_DIV_MASK 0x03ff 1284 # define P2PLL_REF_DIV_MASK 0x03ff
1225 # define P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */ 1285 # define P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */
1226 # define P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */ 1286 # define P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */
1287 #define PIXCLKS_CNTL 0x002d
1288 # define PIX2CLK_SRC_SEL_MASK 0x03
1289 # define PIX2CLK_SRC_SEL_CPUCLK 0x00
1290 # define PIX2CLK_SRC_SEL_PSCANCLK 0x01
1291 # define PIX2CLK_SRC_SEL_BYTECLK 0x02
1292 # define PIX2CLK_SRC_SEL_P2PLLCLK 0x03
1227 1293
1228 /* masks */ 1294 /* masks */
1229 1295
1230 #define CONFIG_MEMSIZE_MASK 0x1f000000 1296 #define CONFIG_MEMSIZE_MASK 0x1f000000
1231 #define MEM_CFG_TYPE 0x40000000 1297 #define MEM_CFG_TYPE 0x40000000
1234 #define DEFAULT_TILE_MASK 0xc0000000 1300 #define DEFAULT_TILE_MASK 0xc0000000
1235 #define PPLL_DIV_SEL_MASK 0x00000300 1301 #define PPLL_DIV_SEL_MASK 0x00000300
1236 #define PPLL_FB3_DIV_MASK 0x000007ff 1302 #define PPLL_FB3_DIV_MASK 0x000007ff
1237 #define PPLL_POST3_DIV_MASK 0x00070000 1303 #define PPLL_POST3_DIV_MASK 0x00070000
1238 1304
1239 #define GUI_ACTIVE 0x80000000 1305 /* BUS MASTERING */
1240 1306 #define BM_FRAME_BUF_OFFSET 0xA00
1241 /* GEN_RESET_CNTL bit constants */ 1307 #define BM_SYSTEM_MEM_ADDR 0xA04
1242 #define SOFT_RESET_GUI 0x00000001 1308 #define BM_COMMAND 0xA08
1243 #define SOFT_RESET_VCLK 0x00000100 1309 # define BM_INTERRUPT_DIS 0x08000000
1244 #define SOFT_RESET_PCLK 0x00000200 1310 # define BM_TRANSFER_DEST_REG 0x10000000
1245 #define SOFT_RESET_ECP 0x00000400 1311 # define BM_FORCE_TO_PCI 0x20000000
1246 #define SOFT_RESET_DISPENG_XCLK 0x00000800 1312 # define BM_FRAME_OFFSET_HOLD 0x40000000
1247 1313 # define BM_END_OF_LIST 0x80000000
1314 #define BM_STATUS 0xA0c
1315 #define BM_QUEUE_STATUS 0xA10
1316 #define BM_QUEUE_FREE_STATUS 0xA14
1317 #define BM_CHUNK_0_VAL 0xA18
1318 # define BM_PTR_FORCE_TO_PCI 0x00200000
1319 # define BM_PM4_RD_FORCE_TO_PCI 0x00400000
1320 # define BM_GLOBAL_FORCE_TO_PCI 0x00800000
1321 # define BM_VIP3_NOCHUNK 0x10000000
1322 # define BM_VIP2_NOCHUNK 0x20000000
1323 # define BM_VIP1_NOCHUNK 0x40000000
1324 # define BM_VIP0_NOCHUNK 0x80000000
1325 #define BM_CHUNK_1_VAL 0xA1C
1326 #define BM_VIP0_BUF 0xA20
1327 # define SYSTEM_TRIGGER_SYSTEM_TO_VIDEO 0x0
1328 # define SYSTEM_TRIGGER_VIDEO_TO_SYSTEM 0x1
1329 #define BM_VIP0_ACTIVE 0xA24
1330 #define BM_VIP1_BUF 0xA30
1331 #define BM_VIP1_ACTIVE 0xA34
1332 #define BM_VIP2_BUF 0xA40
1333 #define BM_VIP2_ACTIVE 0xA44
1334 #define BM_VIP3_BUF 0xA50
1335 #define BM_VIP3_ACTIVE 0xA54
1336 #define BM_VIDCAP_BUF0 0xA60
1337 #define BM_VIDCAP_BUF1 0xA64
1338 #define BM_VIDCAP_BUF2 0xA68
1339 #define BM_VIDCAP_ACTIVE 0xA6c
1340 #define BM_GUI 0xA80
1341
1248 /* RAGE THEATER REGISTERS */ 1342 /* RAGE THEATER REGISTERS */
1249 1343
1250 #define DMA_VIPH0_COMMAND 0x0A00 1344 #define DMA_VIPH0_COMMAND 0x0A00
1251 #define DMA_VIPH1_COMMAND 0x0A04 1345 #define DMA_VIPH1_COMMAND 0x0A04
1252 #define DMA_VIPH2_COMMAND 0x0A08 1346 #define DMA_VIPH2_COMMAND 0x0A08