1/*-*- linux-c -*-
2 *  linux/drivers/video/i810_regs.h -- Intel 810/815 Register List
3 *
4 *      Copyright (C) 2001 Antonino Daplas<adaplas@pol.net>
5 *      All Rights Reserved
6 *
7 *
8 *  This file is subject to the terms and conditions of the GNU General Public
9 *  License. See the file COPYING in the main directory of this archive for
10 *  more details.
11 */
12
13
14/*
15 * Intel 810 Chipset Family PRM 15 3.1
16 * GC Register Memory Address Map
17 *
18 * Based on:
19 * Intel (R) 810 Chipset Family
20 * Programmer s Reference Manual
21 * November 1999
22 * Revision 1.0
23 * Order Number: 298026-001 R
24 *
25 * All GC registers are memory-mapped. In addition, the VGA and extended VGA registers
26 * are I/O mapped.
27 */
28
29#ifndef __I810_REGS_H__
30#define __I810_REGS_H__
31
32/*  Instruction and Interrupt Control Registers (01000h 02FFFh) */
33#define FENCE                 0x02000
34#define PGTBL_CTL             0x02020
35#define PGTBL_ER              0x02024
36#define    LRING              0x02030
37#define    IRING              0x02040
38#define HWS_PGA               0x02080
39#define IPEIR                 0x02088
40#define IPEHR                 0x0208C
41#define INSTDONE              0x02090
42#define NOPID                 0x02094
43#define HWSTAM                0x02098
44#define IER                   0x020A0
45#define IIR                   0x020A4
46#define IMR                   0x020A8
47#define ISR                   0x020AC
48#define EIR                   0x020B0
49#define EMR                   0x020B4
50#define ESR                   0x020B8
51#define INSTPM                0x020C0
52#define INSTPS                0x020C4
53#define BBP_PTR               0x020C8
54#define ABB_SRT               0x020CC
55#define ABB_END               0x020D0
56#define DMA_FADD              0x020D4
57#define FW_BLC                0x020D8
58#define MEM_MODE              0x020DC
59
60/*  Memory Control Registers (03000h 03FFFh) */
61#define DRT                   0x03000
62#define DRAMCL                0x03001
63#define DRAMCH                0x03002
64
65
66/* Span Cursor Registers (04000h 04FFFh) */
67#define UI_SC_CTL             0x04008
68
69/* I/O Control Registers (05000h 05FFFh) */
70#define HVSYNC                0x05000
71#define GPIOA                 0x05010
72#define GPIOB                 0x05014
73#define GPIOC                 0x0501C
74
75/* Clock Control and Power Management Registers (06000h 06FFFh) */
76#define DCLK_0D               0x06000
77#define DCLK_1D               0x06004
78#define DCLK_2D               0x06008
79#define LCD_CLKD              0x0600C
80#define DCLK_0DS              0x06010
81#define PWR_CLKC              0x06014
82
83/* Graphics Translation Table Range Definition (10000h 1FFFFh) */
84#define GTT                   0x10000
85
86/*  Overlay Registers (30000h 03FFFFh) */
87#define OVOADDR               0x30000
88#define DOVOSTA               0x30008
89#define GAMMA                 0x30010
90#define OBUF_0Y               0x30100
91#define OBUF_1Y               0x30104
92#define OBUF_0U               0x30108
93#define OBUF_0V               0x3010C
94#define OBUF_1U               0x30110
95#define OBUF_1V               0x30114
96#define OVOSTRIDE             0x30118
97#define YRGB_VPH              0x3011C
98#define UV_VPH                0x30120
99#define HORZ_PH               0x30124
100#define INIT_PH               0x30128
101#define DWINPOS               0x3012C
102#define DWINSZ                0x30130
103#define SWID                  0x30134
104#define SWIDQW                0x30138
105#define SHEIGHT               0x3013F
106#define YRGBSCALE             0x30140
107#define UVSCALE               0x30144
108#define OVOCLRCO              0x30148
109#define OVOCLRC1              0x3014C
110#define DCLRKV                0x30150
111#define DLCRKM                0x30154
112#define SCLRKVH               0x30158
113#define SCLRKVL               0x3015C
114#define SCLRKM                0x30160
115#define OVOCONF               0x30164
116#define OVOCMD                0x30168
117#define AWINPOS               0x30170
118#define AWINZ                 0x30174
119
120/*  BLT Engine Status (40000h 4FFFFh) (Software Debug) */
121#define BR00                  0x40000
122#define BRO1                  0x40004
123#define BR02                  0x40008
124#define BR03                  0x4000C
125#define BR04                  0x40010
126#define BR05                  0x40014
127#define BR06                  0x40018
128#define BR07                  0x4001C
129#define BR08                  0x40020
130#define BR09                  0x40024
131#define BR10                  0x40028
132#define BR11                  0x4002C
133#define BR12                  0x40030
134#define BR13                  0x40034
135#define BR14                  0x40038
136#define BR15                  0x4003C
137#define BR16                  0x40040
138#define BR17                  0x40044
139#define BR18                  0x40048
140#define BR19                  0x4004C
141#define SSLADD                0x40074
142#define DSLH                  0x40078
143#define DSLRADD               0x4007C
144
145
146/* LCD/TV-Out and HW DVD Registers (60000h 6FFFFh) */
147/* LCD/TV-Out */
148#define HTOTAL                0x60000
149#define HBLANK                0x60004
150#define HSYNC                 0x60008
151#define VTOTAL                0x6000C
152#define VBLANK                0x60010
153#define VSYNC                 0x60014
154#define LCDTV_C               0x60018
155#define OVRACT                0x6001C
156#define BCLRPAT               0x60020
157
158/*  Display and Cursor Control Registers (70000h 7FFFFh) */
159#define DISP_SL               0x70000
160#define DISP_SLC              0x70004
161#define PIXCONF               0x70008
162#define PIXCONF1              0x70009
163#define BLTCNTL               0x7000C
164#define SWF                   0x70014
165#define DPLYBASE              0x70020
166#define DPLYSTAS              0x70024
167#define CURCNTR               0x70080
168#define CURBASE               0x70084
169#define CURPOS                0x70088
170
171
172/* VGA Registers */
173
174/* SMRAM Registers */
175#define SMRAM                 0x10
176
177/* Graphics Control Registers */
178#define GR_INDEX              0x3CE
179#define GR_DATA               0x3CF
180
181#define GR10                  0x10
182#define GR11                  0x11
183
184/* CRT Controller Registers */
185#define CR_INDEX_MDA          0x3B4
186#define CR_INDEX_CGA          0x3D4
187#define CR_DATA_MDA           0x3B5
188#define CR_DATA_CGA           0x3D5
189
190#define CR30                  0x30
191#define CR31                  0x31
192#define CR32                  0x32
193#define CR33                  0x33
194#define CR35                  0x35
195#define CR39                  0x39
196#define CR40                  0x40
197#define CR41                  0x41
198#define CR42                  0x42
199#define CR70                  0x70
200#define CR80                  0x80
201#define CR81                  0x82
202
203/* Extended VGA Registers */
204
205/* General Control and Status Registers */
206#define ST00                  0x3C2
207#define ST01_MDA              0x3BA
208#define ST01_CGA              0x3DA
209#define FRC_READ              0x3CA
210#define FRC_WRITE_MDA         0x3BA
211#define FRC_WRITE_CGA         0x3DA
212#define MSR_READ              0x3CC
213#define MSR_WRITE             0x3C2
214
215/* Sequencer Registers */
216#define SR_INDEX              0x3C4
217#define SR_DATA               0x3C5
218
219#define SR01                  0x01
220#define SR02                  0x02
221#define SR03                  0x03
222#define SR04                  0x04
223#define SR07                  0x07
224
225/* Graphics Controller Registers */
226#define GR00                  0x00
227#define GR01                  0x01
228#define GR02                  0x02
229#define GR03                  0x03
230#define GR04                  0x04
231#define GR05                  0x05
232#define GR06                  0x06
233#define GR07                  0x07
234#define GR08                  0x08
235
236/* Attribute Controller Registers */
237#define ATTR_WRITE              0x3C0
238#define ATTR_READ               0x3C1
239
240/* VGA Color Palette Registers */
241
242/* CLUT */
243#define CLUT_DATA             0x3C9        /* DACDATA */
244#define CLUT_INDEX_READ       0x3C7        /* DACRX */
245#define CLUT_INDEX_WRITE      0x3C8        /* DACWX */
246#define DACMASK               0x3C6
247
248/* CRT Controller Registers */
249#define CR00                  0x00
250#define CR01                  0x01
251#define CR02                  0x02
252#define CR03                  0x03
253#define CR04                  0x04
254#define CR05                  0x05
255#define CR06                  0x06
256#define CR07                  0x07
257#define CR08                  0x08
258#define CR09                  0x09
259#define CR0A                  0x0A
260#define CR0B                  0x0B
261#define CR0C                  0x0C
262#define CR0D                  0x0D
263#define CR0E                  0x0E
264#define CR0F                  0x0F
265#define CR10                  0x10
266#define CR11                  0x11
267#define CR12                  0x12
268#define CR13                  0x13
269#define CR14                  0x14
270#define CR15                  0x15
271#define CR16                  0x16
272#define CR17                  0x17
273#define CR18                  0x18
274
275#endif /* __I810_REGS_H__ */
276