2
* Copyright 1992-2000 by Alan Hourihane, Wigan, England.
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.
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.
22
* Author: Alan Hourihane, alanh@fairlite.demon.co.uk
24
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_regs.h,v 1.22 2002/01/11 13:06:30 alanh Exp $ */
31
/* General Registers */
32
#define SPR 0x1F /* Software Programming Register (videoram) */
35
#define RevisionID 0x09
36
#define ConfPort1 0x0C
37
#define ConfPort2 0x0C
39
#define OldMode2 0x00 /* Should be 0x0D - dealt with in trident_dac.c */
42
#define Protection 0x11
46
#define ClockHigh 0x19
53
#define Underline 0x14
55
#define CRTCModuleTest 0x1E
56
#define FIFOControl 0x20
57
#define LinearAddReg 0x21
58
#define DRAMTiming 0x23
60
#define RAMDACTiming 0x25
62
#define AddColReg 0x29
63
#define InterfaceSel 0x2A
64
#define HorizOverflow 0x2B
66
#define Performance 0x2F
67
#define GraphEngReg 0x36
69
#define PixelBusReg 0x38
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
91
#define PreEndControl 0x56
92
#define PreEndFetch 0x57
93
#define PCIMaster 0x60
94
#define Enhancement0 0x62
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
110
#define TVinterface 0xC0
112
#define ClockControl 0xCF
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
128
/* --- IO Macros by AMR --- */
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))