22850
|
1 /*
|
|
2 * Copyright 1992-2000 by Alan Hourihane, Wigan, England.
|
|
3 *
|
|
4 * Permission to use, copy, modify, distribute, and sell this software and its
|
|
5 * documentation for any purpose is hereby granted without fee, provided that
|
|
6 * the above copyright notice appear in all copies and that both that
|
|
7 * copyright notice and this permission notice appear in supporting
|
|
8 * documentation, and that the name of Alan Hourihane not be used in
|
|
9 * advertising or publicity pertaining to distribution of the software without
|
|
10 * specific, written prior permission. Alan Hourihane makes no representations
|
|
11 * about the suitability of this software for any purpose. It is provided
|
|
12 * "as is" without express or implied warranty.
|
|
13 *
|
|
14 * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
16 * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
20 * PERFORMANCE OF THIS SOFTWARE.
|
|
21 *
|
|
22 * Author: Alan Hourihane, alanh@fairlite.demon.co.uk
|
|
23 */
|
|
24 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_regs.h,v 1.22 2002/01/11 13:06:30 alanh Exp $ */
|
|
25
|
|
26 #define DEBUG 1
|
|
27
|
|
28 #define NTSC 14.31818
|
|
29 #define PAL 17.73448
|
|
30
|
|
31 /* General Registers */
|
|
32 #define SPR 0x1F /* Software Programming Register (videoram) */
|
|
33
|
|
34 /* 3C4 */
|
|
35 #define RevisionID 0x09
|
|
36 #define ConfPort1 0x0C
|
|
37 #define ConfPort2 0x0C
|
|
38 #define NewMode2 0x0D
|
|
39 #define OldMode2 0x00 /* Should be 0x0D - dealt with in trident_dac.c */
|
|
40 #define OldMode1 0x0E
|
|
41 #define NewMode1 0x0E
|
|
42 #define Protection 0x11
|
|
43 #define MCLKLow 0x16
|
|
44 #define MCLKHigh 0x17
|
|
45 #define ClockLow 0x18
|
|
46 #define ClockHigh 0x19
|
|
47 #define SSetup 0x20
|
|
48 #define SKey 0x37
|
|
49 #define SPKey 0x57
|
|
50
|
|
51 /* 3x4 */
|
|
52 #define Offset 0x13
|
|
53 #define Underline 0x14
|
|
54 #define CRTCMode 0x17
|
|
55 #define CRTCModuleTest 0x1E
|
|
56 #define FIFOControl 0x20
|
|
57 #define LinearAddReg 0x21
|
|
58 #define DRAMTiming 0x23
|
|
59 #define New32 0x23
|
|
60 #define RAMDACTiming 0x25
|
|
61 #define CRTHiOrd 0x27
|
|
62 #define AddColReg 0x29
|
|
63 #define InterfaceSel 0x2A
|
|
64 #define HorizOverflow 0x2B
|
|
65 #define GETest 0x2D
|
|
66 #define Performance 0x2F
|
|
67 #define GraphEngReg 0x36
|
|
68 #define I2C 0x37
|
|
69 #define PixelBusReg 0x38
|
|
70 #define PCIReg 0x39
|
|
71 #define DRAMControl 0x3A
|
|
72 #define MiscContReg 0x3C
|
|
73 #define CursorXLow 0x40
|
|
74 #define CursorXHigh 0x41
|
|
75 #define CursorYLow 0x42
|
|
76 #define CursorYHigh 0x43
|
|
77 #define CursorLocLow 0x44
|
|
78 #define CursorLocHigh 0x45
|
|
79 #define CursorXOffset 0x46
|
|
80 #define CursorYOffset 0x47
|
|
81 #define CursorFG1 0x48
|
|
82 #define CursorFG2 0x49
|
|
83 #define CursorFG3 0x4A
|
|
84 #define CursorFG4 0x4B
|
|
85 #define CursorBG1 0x4C
|
|
86 #define CursorBG2 0x4D
|
|
87 #define CursorBG3 0x4E
|
|
88 #define CursorBG4 0x4F
|
|
89 #define CursorControl 0x50
|
|
90 #define PCIRetry 0x55
|
|
91 #define PreEndControl 0x56
|
|
92 #define PreEndFetch 0x57
|
|
93 #define PCIMaster 0x60
|
|
94 #define Enhancement0 0x62
|
|
95 #define NewEDO 0x64
|
|
96
|
|
97 /* --- Additions by AMR for Vidix support --- */
|
|
98 #define VideoWin1_HScale 0x80
|
|
99 #define VideoWin1_VScale 0x82
|
|
100 #define VideoWin1_Start 0x86
|
|
101 #define VideoWin1_Stop 0x8a
|
|
102 #define Video_Flags 0x8e
|
|
103 #define VideoWin1_Y_BPR 0x90
|
|
104 #define VideoWin1_Y_Offset 0x92
|
|
105 #define Video_LineBufferThreshold 0x95
|
|
106 #define Video_LineBufferLevel 0x96
|
|
107 #define Video_Flags2 0x97
|
|
108 /* --- */
|
|
109
|
|
110 #define TVinterface 0xC0
|
|
111 #define TVMode 0xC1
|
|
112 #define ClockControl 0xCF
|
|
113
|
|
114
|
|
115 /* 3CE */
|
|
116 #define MiscExtFunc 0x0F
|
|
117 #define MiscIntContReg 0x2F
|
|
118 #define CyberControl 0x30
|
|
119 #define CyberEnhance 0x31
|
|
120 #define FPConfig 0x33
|
|
121 #define VertStretch 0x52
|
|
122 #define HorStretch 0x53
|
|
123 #define BiosMode 0x5c
|
|
124 #define BiosNewMode1 0x5a
|
|
125 #define BiosNewMode2 0x5c
|
|
126 #define BiosReg 0x5d
|
|
127
|
|
128 /* --- IO Macros by AMR --- */
|
|
129
|
|
130 #define CRINB(reg) (OUTPORT8(0x3d4,reg), INPORT8(0x3d5))
|
|
131 #define SRINB(reg) (OUTPORT8(0x3c4,reg), INPORT8(0x3c5))
|
|
132 #define CROUTB(reg,val) (OUTPORT8(0x3d4,reg), OUTPORT8(0x3d5,val))
|
|
133 #define SROUTB(reg,val) (OUTPORT8(0x3c4,reg), OUTPORT8(0x3c5,val))
|
|
134
|
|
135 /* --- */
|
|
136
|