Mercurial > mplayer.hg
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 |