~ubuntu-branches/ubuntu/precise/xserver-xorg-video-mach64-lts-quantal/precise-proposed

« back to all changes in this revision

Viewing changes to src/atiregs.h

  • Committer: Package Import Robot
  • Author(s): Maarten Lankhorst
  • Date: 2012-11-30 20:59:57 UTC
  • Revision ID: package-import@ubuntu.com-20121130205957-cn3ei5b1ckwqht26
Tags: upstream-6.9.3
ImportĀ upstreamĀ versionĀ 6.9.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 1994 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
 
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 copyright
 
7
 * notice and this permission notice appear in supporting documentation, and
 
8
 * that the name of Marc Aurele La France not be used in advertising or
 
9
 * publicity pertaining to distribution of the software without specific,
 
10
 * written prior permission.  Marc Aurele La France 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
 * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 
15
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO
 
16
 * EVENT SHALL MARC AURELE LA FRANCE 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
 * Acknowledgements:
 
23
 *    Jake Richter, Panacea Inc., Londonderry, New Hampshire, U.S.A.
 
24
 *    Kevin E. Martin, martin@cs.unc.edu
 
25
 *    Tiago Gons, tiago@comosjn.hobby.nl
 
26
 *    Rickard E. Faith, faith@cs.unc.edu
 
27
 *    Scott Laird, lair@kimbark.uchicago.edu
 
28
 *
 
29
 * The intent here is to list all I/O ports for VGA (and its predecessors),
 
30
 * ATI VGA Wonder, 8514/A, ATI Mach8, ATI Mach32 and ATI Mach64 video adapters,
 
31
 * not just the ones in use by the ATI driver.
 
32
 */
 
33
 
 
34
#ifndef ___ATIREGS_H___
 
35
#define ___ATIREGS_H___ 1
 
36
 
 
37
#include "atiutil.h"
 
38
 
 
39
/* I/O decoding definitions */
 
40
#define SPARSE_IO_BASE          0x03fcu
 
41
#define SPARSE_IO_SELECT        0xfc00u
 
42
 
 
43
#define BLOCK_IO_BASE           0xff00u
 
44
#define BLOCK_IO_SELECT         0x00fcu
 
45
 
 
46
#define MM_IO_SELECT            0x03fcu
 
47
#define BLOCK_SELECT            0x0400u
 
48
#define DWORD_SELECT            (BLOCK_SELECT | MM_IO_SELECT)
 
49
 
 
50
#define IO_BYTE_SELECT          0x0003u
 
51
 
 
52
#define SPARSE_IO_PORT          (SPARSE_IO_BASE | IO_BYTE_SELECT)
 
53
#define BLOCK_IO_PORT           (BLOCK_IO_BASE | IO_BYTE_SELECT)
 
54
 
 
55
#define IOPortTag(_SparseIOSelect, _BlockIOSelect)      \
 
56
        (SetBits(_SparseIOSelect, SPARSE_IO_SELECT) |   \
 
57
         SetBits(_BlockIOSelect, DWORD_SELECT))
 
58
#define SparseIOTag(_IOSelect)  IOPortTag(_IOSelect, 0)
 
59
#define BlockIOTag(_IOSelect)   IOPortTag(0, _IOSelect)
 
60
 
 
61
/* MDA/[M]CGA/EGA/VGA I/O ports */
 
62
#define GENVS                   0x0102u         /* Write (and Read on uC only) */
 
63
 
 
64
#define R_GENLPS                0x03b9u         /* Read */
 
65
 
 
66
#define GENHP                   0x03bfu
 
67
 
 
68
#define ATTRX                   0x03c0u
 
69
#define ATTRD                   0x03c1u
 
70
#define GENS0                   0x03c2u         /* Read */
 
71
#define GENMO                   0x03c2u         /* Write */
 
72
#define GENENB                  0x03c3u         /* Read */
 
73
#define SEQX                    0x03c4u
 
74
#define SEQD                    0x03c5u
 
75
#define VGA_DAC_MASK            0x03c6u
 
76
#define VGA_DAC_READ            0x03c7u
 
77
#define VGA_DAC_WRITE           0x03c8u
 
78
#define VGA_DAC_DATA            0x03c9u
 
79
#define R_GENFC                 0x03cau         /* Read */
 
80
/*      ?                       0x03cbu */
 
81
#define R_GENMO                 0x03ccu         /* Read */
 
82
/*      ?                       0x03cdu */
 
83
#define GRAX                    0x03ceu
 
84
#define GRAD                    0x03cfu
 
85
 
 
86
#define GENB                    0x03d9u
 
87
 
 
88
#define GENLPS                  0x03dcu         /* Write */
 
89
#define KCX                     0x03ddu
 
90
#define KCD                     0x03deu
 
91
 
 
92
#define GENENA                  0x46e8u         /* Write */
 
93
 
 
94
/* I/O port base numbers */
 
95
#define MonochromeIOBase        0x03b0u
 
96
#define ColourIOBase            0x03d0u
 
97
 
 
98
/* Other MDA/[M]CGA/EGA/VGA I/O ports */
 
99
/*      ?(_IOBase)              ((_IOBase) + 0x00u) */  /* CRTX synonym */
 
100
/*      ?(_IOBase)              ((_IOBase) + 0x01u) */  /* CRTD synonym */
 
101
/*      ?(_IOBase)              ((_IOBase) + 0x02u) */  /* CRTX synonym */
 
102
/*      ?(_IOBase)              ((_IOBase) + 0x03u) */  /* CRTD synonym */
 
103
#define CRTX(_IOBase)           ((_IOBase) + 0x04u)
 
104
#define CRTD(_IOBase)           ((_IOBase) + 0x05u)
 
105
/*      ?(_IOBase)              ((_IOBase) + 0x06u) */
 
106
/*      ?(_IOBase)              ((_IOBase) + 0x07u) */
 
107
#define GENMC(_IOBase)          ((_IOBase) + 0x08u)
 
108
/*      ?(_IOBase)              ((_IOBase) + 0x09u) */  /* R_GENLPS/GENB */
 
109
#define GENS1(_IOBase)          ((_IOBase) + 0x0au)     /* Read */
 
110
#define GENFC(_IOBase)          ((_IOBase) + 0x0au)     /* Write */
 
111
#define GENLPC(_IOBase)         ((_IOBase) + 0x0bu)
 
112
/*      ?(_IOBase)              ((_IOBase) + 0x0cu) */  /* /GENLPS */
 
113
/*      ?(_IOBase)              ((_IOBase) + 0x0du) */  /* /KCX */
 
114
/*      ?(_IOBase)              ((_IOBase) + 0x0eu) */  /* /KCD */
 
115
/*      ?(_IOBase)              ((_IOBase) + 0x0fu) */  /* GENHP/ */
 
116
 
 
117
/* 8514/A VESA approved register definitions */
 
118
#define DISP_STAT               0x02e8u         /* Read */
 
119
#define SENSE                           0x0001u /* Presumably belong here */
 
120
#define VBLANK                          0x0002u
 
121
#define HORTOG                          0x0004u
 
122
#define H_TOTAL                 0x02e8u         /* Write */
 
123
#define IBM_DAC_MASK            0x02eau
 
124
#define IBM_DAC_READ            0x02ebu
 
125
#define IBM_DAC_WRITE           0x02ecu
 
126
#define IBM_DAC_DATA            0x02edu
 
127
#define H_DISP                  0x06e8u         /* Write */
 
128
#define H_SYNC_STRT             0x0ae8u         /* Write */
 
129
#define H_SYNC_WID              0x0ee8u         /* Write */
 
130
#define HSYNCPOL_POS                    0x0000u
 
131
#define HSYNCPOL_NEG                    0x0020u
 
132
#define H_POLARITY_POS                  HSYNCPOL_POS    /* Sigh */
 
133
#define H_POLARITY_NEG                  HSYNCPOL_NEG    /* Sigh */
 
134
#define V_TOTAL                 0x12e8u         /* Write */
 
135
#define V_DISP                  0x16e8u         /* Write */
 
136
#define V_SYNC_STRT             0x1ae8u         /* Write */
 
137
#define V_SYNC_WID              0x1ee8u         /* Write */
 
138
#define VSYNCPOL_POS                    0x0000u
 
139
#define VSYNCPOL_NEG                    0x0020u
 
140
#define V_POLARITY_POS                  VSYNCPOL_POS    /* Sigh */
 
141
#define V_POLARITY_NEG                  VSYNCPOL_NEG    /* Sigh */
 
142
#define DISP_CNTL               0x22e8u         /* Write */
 
143
#define ODDBNKENAB                      0x0001u
 
144
#define MEMCFG_2                        0x0000u
 
145
#define MEMCFG_4                        0x0002u
 
146
#define MEMCFG_6                        0x0004u
 
147
#define MEMCFG_8                        0x0006u
 
148
#define DBLSCAN                         0x0008u
 
149
#define INTERLACE                       0x0010u
 
150
#define DISPEN_NC                       0x0000u
 
151
#define DISPEN_ENAB                     0x0020u
 
152
#define DISPEN_DISAB                    0x0040u
 
153
#define R_H_TOTAL               0x26e8u         /* Read */
 
154
/*      ?                       0x2ae8u */
 
155
/*      ?                       0x2ee8u */
 
156
/*      ?                       0x32e8u */
 
157
/*      ?                       0x36e8u */
 
158
/*      ?                       0x3ae8u */
 
159
/*      ?                       0x3ee8u */
 
160
#define SUBSYS_STAT             0x42e8u         /* Read */
 
161
#define VBLNKFLG                        0x0001u
 
162
#define PICKFLAG                        0x0002u
 
163
#define INVALIDIO                       0x0004u
 
164
#define GPIDLE                          0x0008u
 
165
#define MONITORID_MASK                  0x0070u
 
166
/*      MONITORID_?                             0x0000u */
 
167
#define MONITORID_8507                          0x0010u
 
168
#define MONITORID_8514                          0x0020u
 
169
/*      MONITORID_?                             0x0030u */
 
170
/*      MONITORID_?                             0x0040u */
 
171
#define MONITORID_8503                          0x0050u
 
172
#define MONITORID_8512                          0x0060u
 
173
#define MONITORID_8513                          0x0060u
 
174
#define MONITORID_NONE                          0x0070u
 
175
#define _8PLANE                         0x0080u
 
176
#define SUBSYS_CNTL             0x42e8u         /* Write */
 
177
#define RVBLNKFLG                       0x0001u
 
178
#define RPICKFLAG                       0x0002u
 
179
#define RINVALIDIO                      0x0004u
 
180
#define RGPIDLE                         0x0008u
 
181
#define IVBLNKFLG                       0x0100u
 
182
#define IPICKFLAG                       0x0200u
 
183
#define IINVALIDIO                      0x0400u
 
184
#define IGPIDLE                         0x0800u
 
185
#define CHPTEST_NC                      0x0000u
 
186
#define CHPTEST_NORMAL                  0x1000u
 
187
#define CHPTEST_ENAB                    0x2000u
 
188
#define GPCTRL_NC                       0x0000u
 
189
#define GPCTRL_ENAB                     0x4000u
 
190
#define GPCTRL_RESET                    0x8000u
 
191
#define ROM_PAGE_SEL            0x46e8u         /* Write */
 
192
#define ADVFUNC_CNTL            0x4ae8u         /* Write */
 
193
#define DISABPASSTHRU                   0x0001u
 
194
#define CLOKSEL                         0x0004u
 
195
/*      ?                       0x4ee8u */
 
196
#define EXT_CONFIG_0            0x52e8u         /* C & T 82C480 */
 
197
#define EXT_CONFIG_1            0x56e8u         /* C & T 82C480 */
 
198
#define EXT_CONFIG_2            0x5ae8u         /* C & T 82C480 */
 
199
#define EXT_CONFIG_3            0x5ee8u         /* C & T 82C480 */
 
200
/*      ?                       0x62e8u */
 
201
/*      ?                       0x66e8u */
 
202
/*      ?                       0x6ae8u */
 
203
/*      ?                       0x6ee8u */
 
204
/*      ?                       0x72e8u */
 
205
/*      ?                       0x76e8u */
 
206
/*      ?                       0x7ae8u */
 
207
/*      ?                       0x7ee8u */
 
208
#define CUR_Y                   0x82e8u
 
209
#define CUR_X                   0x86e8u
 
210
#define DESTY_AXSTP             0x8ae8u         /* Write */
 
211
#define DESTX_DIASTP            0x8ee8u         /* Write */
 
212
#define ERR_TERM                0x92e8u
 
213
#define MAJ_AXIS_PCNT           0x96e8u         /* Write */
 
214
#define GP_STAT                 0x9ae8u         /* Read */
 
215
#define GE_STAT                 0x9ae8u         /* Alias */
 
216
#define DATARDY                         0x0100u
 
217
#define DATA_READY                      DATARDY /* Alias */
 
218
#define GPBUSY                          0x0200u
 
219
#define CMD                     0x9ae8u         /* Write */
 
220
#define WRTDATA                         0x0001u
 
221
#define PLANAR                          0x0002u
 
222
#define LASTPIX                         0x0004u
 
223
#define LINETYPE                        0x0008u
 
224
#define DRAW                            0x0010u
 
225
#define INC_X                           0x0020u
 
226
#define YMAJAXIS                        0x0040u
 
227
#define INC_Y                           0x0080u
 
228
#define PCDATA                          0x0100u
 
229
#define _16BIT                          0x0200u
 
230
#define CMD_NOP                         0x0000u
 
231
#define CMD_OP_MSK                      0xf000u
 
232
#define BYTSEQ                                  0x1000u
 
233
#define CMD_LINE                                0x2000u
 
234
#define CMD_RECT                                0x4000u
 
235
#define CMD_RECTV1                              0x6000u
 
236
#define CMD_RECTV2                              0x8000u
 
237
#define CMD_LINEAF                              0xa000u
 
238
#define CMD_BITBLT                              0xc000u
 
239
#define SHORT_STROKE            0x9ee8u         /* Write */
 
240
#define SSVDRAW                         0x0010u
 
241
#define VECDIR_000                      0x0000u
 
242
#define VECDIR_045                      0x0020u
 
243
#define VECDIR_090                      0x0040u
 
244
#define VECDIR_135                      0x0060u
 
245
#define VECDIR_180                      0x0080u
 
246
#define VECDIR_225                      0x00a0u
 
247
#define VECDIR_270                      0x00c0u
 
248
#define VECDIR_315                      0x00e0u
 
249
#define BKGD_COLOR              0xa2e8u         /* Write */
 
250
#define FRGD_COLOR              0xa6e8u         /* Write */
 
251
#define WRT_MASK                0xaae8u         /* Write */
 
252
#define RD_MASK                 0xaee8u         /* Write */
 
253
#define COLOR_CMP               0xb2e8u         /* Write */
 
254
#define BKGD_MIX                0xb6e8u         /* Write */
 
255
/*                                      0x001fu See MIX_* definitions below */
 
256
#define BSS_BKGDCOL                     0x0000u
 
257
#define BSS_FRGDCOL                     0x0020u
 
258
#define BSS_PCDATA                      0x0040u
 
259
#define BSS_BITBLT                      0x0060u
 
260
#define FRGD_MIX                0xbae8u         /* Write */
 
261
/*                                      0x001fu See MIX_* definitions below */
 
262
#define FSS_BKGDCOL                     0x0000u
 
263
#define FSS_FRGDCOL                     0x0020u
 
264
#define FSS_PCDATA                      0x0040u
 
265
#define FSS_BITBLT                      0x0060u
 
266
#define MULTIFUNC_CNTL          0xbee8u         /* Write */
 
267
#define MIN_AXIS_PCNT                   0x0000u
 
268
#define SCISSORS_T                      0x1000u
 
269
#define SCISSORS_L                      0x2000u
 
270
#define SCISSORS_B                      0x3000u
 
271
#define SCISSORS_R                      0x4000u
 
272
#define M32_MEM_CNTL                    0x5000u
 
273
#define HORCFG_4                                0x0000u
 
274
#define HORCFG_5                                0x0001u
 
275
#define HORCFG_8                                0x0002u
 
276
#define HORCFG_10                               0x0003u
 
277
#define VRTCFG_2                                0x0000u
 
278
#define VRTCFG_4                                0x0004u
 
279
#define VRTCFG_6                                0x0008u
 
280
#define VRTCFG_8                                0x000cu
 
281
#define BUFSWP                                  0x0010u
 
282
#define PATTERN_L                       0x8000u
 
283
#define PATTERN_H                       0x9000u
 
284
#define PIX_CNTL                        0xa000u
 
285
#define PLANEMODE                               0x0004u
 
286
#define COLCMPOP_F                              0x0000u
 
287
#define COLCMPOP_T                              0x0008u
 
288
#define COLCMPOP_GE                             0x0010u
 
289
#define COLCMPOP_LT                             0x0018u
 
290
#define COLCMPOP_NE                             0x0020u
 
291
#define COLCMPOP_EQ                             0x0028u
 
292
#define COLCMPOP_LE                             0x0030u
 
293
#define COLCMPOP_GT                             0x0038u
 
294
#define MIXSEL_FRGDMIX                          0x0000u
 
295
#define MIXSEL_PATT                             0x0040u
 
296
#define MIXSEL_EXPPC                            0x0080u
 
297
#define MIXSEL_EXPBLT                           0x00c0u
 
298
/*      ?                       0xc2e8u */
 
299
/*      ?                       0xc6e8u */
 
300
/*      ?                       0xcae8u */
 
301
/*      ?                       0xcee8u */
 
302
/*      ?                       0xd2e8u */
 
303
/*      ?                       0xd6e8u */
 
304
/*      ?                       0xdae8u */
 
305
/*      ?                       0xdee8u */
 
306
#define PIX_TRANS               0xe2e8u
 
307
/*      ?                       0xe6e8u */
 
308
/*      ?                       0xeae8u */
 
309
/*      ?                       0xeee8u */
 
310
/*      ?                       0xf2e8u */
 
311
/*      ?                       0xf6e8u */
 
312
/*      ?                       0xfae8u */
 
313
/*      ?                       0xfee8u */
 
314
 
 
315
/* ATI Mach8 & Mach32 register definitions */
 
316
#define OVERSCAN_COLOR_8        0x02eeu         /* Write */     /* Mach32 */
 
317
#define OVERSCAN_BLUE_24        0x02efu         /* Write */     /* Mach32 */
 
318
#define OVERSCAN_GREEN_24       0x06eeu         /* Write */     /* Mach32 */
 
319
#define OVERSCAN_RED_24         0x06efu         /* Write */     /* Mach32 */
 
320
#define CURSOR_OFFSET_LO        0x0aeeu         /* Write */     /* Mach32 */
 
321
#define CURSOR_OFFSET_HI        0x0eeeu         /* Write */     /* Mach32 */
 
322
#define CONFIG_STATUS_1         0x12eeu         /* Read */
 
323
#define CLK_MODE                        0x0001u                 /* Mach8 */
 
324
#define BUS_16                          0x0002u                 /* Mach8 */
 
325
#define MC_BUS                          0x0004u                 /* Mach8 */
 
326
#define EEPROM_ENA                      0x0008u                 /* Mach8 */
 
327
#define DRAM_ENA                        0x0010u                 /* Mach8 */
 
328
#define MEM_INSTALLED                   0x0060u                 /* Mach8 */
 
329
#define ROM_ENA                         0x0080u                 /* Mach8 */
 
330
#define ROM_PAGE_ENA                    0x0100u                 /* Mach8 */
 
331
#define ROM_LOCATION                    0xfe00u                 /* Mach8 */
 
332
#define _8514_ONLY                      0x0001u                 /* Mach32 */
 
333
#define BUS_TYPE                        0x000eu                 /* Mach32 */
 
334
#define ISA_16_BIT                              0x0000u         /* Mach32 */
 
335
#define EISA                                    0x0002u         /* Mach32 */
 
336
#define MICRO_C_16_BIT                          0x0004u         /* Mach32 */
 
337
#define MICRO_C_8_BIT                           0x0006u         /* Mach32 */
 
338
#define LOCAL_386SX                             0x0008u         /* Mach32 */
 
339
#define LOCAL_386DX                             0x000au         /* Mach32 */
 
340
#define LOCAL_486                               0x000cu         /* Mach32 */
 
341
#define PCI                                     0x000eu         /* Mach32 */
 
342
#define MEM_TYPE                        0x0070u                 /* Mach32 */
 
343
#define CHIP_DIS                        0x0080u                 /* Mach32 */
 
344
#define TST_VCTR_ENA                    0x0100u                 /* Mach32 */
 
345
#define DACTYPE                         0x0e00u                 /* Mach32 */
 
346
#define MC_ADR_DECODE                   0x1000u                 /* Mach32 */
 
347
#define CARD_ID                         0xe000u                 /* Mach32 */
 
348
#define HORZ_CURSOR_POSN        0x12eeu         /* Write */     /* Mach32 */
 
349
#define CONFIG_STATUS_2         0x16eeu         /* Read */
 
350
#define SHARE_CLOCK                     0x0001u                 /* Mach8 */
 
351
#define HIRES_BOOT                      0x0002u                 /* Mach8 */
 
352
#define EPROM_16_ENA                    0x0004u                 /* Mach8 */
 
353
#define WRITE_PER_BIT                   0x0008u                 /* Mach8 */
 
354
#define FLASH_ENA                       0x0010u                 /* Mach8 */
 
355
#define SLOW_SEQ_EN                     0x0001u                 /* Mach32 */
 
356
#define MEM_ADDR_DIS                    0x0002u                 /* Mach32 */
 
357
#define ISA_16_ENA                      0x0004u                 /* Mach32 */
 
358
#define KOR_TXT_MODE_ENA                0x0008u                 /* Mach32 */
 
359
#define LOCAL_BUS_SUPPORT               0x0030u                 /* Mach32 */
 
360
#define LOCAL_BUS_CONFIG_2              0x0040u                 /* Mach32 */
 
361
#define LOCAL_BUS_RD_DLY_ENA            0x0080u                 /* Mach32 */
 
362
#define LOCAL_DAC_EN                    0x0100u                 /* Mach32 */
 
363
#define LOCAL_RDY_EN                    0x0200u                 /* Mach32 */
 
364
#define EEPROM_ADR_SEL                  0x0400u                 /* Mach32 */
 
365
#define GE_STRAP_SEL                    0x0800u                 /* Mach32 */
 
366
#define VESA_RDY                        0x1000u                 /* Mach32 */
 
367
#define Z4GB                            0x2000u                 /* Mach32 */
 
368
#define LOC2_MDRAM                      0x4000u                 /* Mach32 */
 
369
#define VERT_CURSOR_POSN        0x16eeu         /* Write */     /* Mach32 */
 
370
#define FIFO_TEST_DATA          0x1aeeu         /* Read */      /* Mach32 */
 
371
#define CURSOR_COLOR_0          0x1aeeu         /* Write */     /* Mach32 */
 
372
#define CURSOR_COLOR_1          0x1aefu         /* Write */     /* Mach32 */
 
373
#define HORZ_CURSOR_OFFSET      0x1eeeu         /* Write */     /* Mach32 */
 
374
#define VERT_CURSOR_OFFSET      0x1eefu         /* Write */     /* Mach32 */
 
375
#define PCI_CNTL                0x22eeu                         /* Mach32-PCI */
 
376
#define CRT_PITCH               0x26eeu         /* Write */
 
377
#define CRT_OFFSET_LO           0x2aeeu         /* Write */
 
378
#define CRT_OFFSET_HI           0x2eeeu         /* Write */
 
379
#define LOCAL_CNTL              0x32eeu                         /* Mach32 */
 
380
#define FIFO_OPT                0x36eeu         /* Write */     /* Mach8 */
 
381
#define MISC_OPTIONS            0x36eeu                         /* Mach32 */
 
382
#define W_STATE_ENA                     0x0000u                 /* Mach32 */
 
383
#define HOST_8_ENA                      0x0001u                 /* Mach32 */
 
384
#define MEM_SIZE_ALIAS                  0x000cu                 /* Mach32 */
 
385
#define MEM_SIZE_512K                           0x0000u         /* Mach32 */
 
386
#define MEM_SIZE_1M                             0x0004u         /* Mach32 */
 
387
#define MEM_SIZE_2M                             0x0008u         /* Mach32 */
 
388
#define MEM_SIZE_4M                             0x000cu         /* Mach32 */
 
389
#define DISABLE_VGA                     0x0010u                 /* Mach32 */
 
390
#define _16_BIT_IO                      0x0020u                 /* Mach32 */
 
391
#define DISABLE_DAC                     0x0040u                 /* Mach32 */
 
392
#define DLY_LATCH_ENA                   0x0080u                 /* Mach32 */
 
393
#define TEST_MODE                       0x0100u                 /* Mach32 */
 
394
#define BLK_WR_ENA                      0x0400u                 /* Mach32 */
 
395
#define _64_DRAW_ENA                    0x0800u                 /* Mach32 */
 
396
#define FIFO_TEST_TAG           0x3aeeu         /* Read */      /* Mach32 */
 
397
#define EXT_CURSOR_COLOR_0      0x3aeeu         /* Write */     /* Mach32 */
 
398
#define EXT_CURSOR_COLOR_1      0x3eeeu         /* Write */     /* Mach32 */
 
399
#define MEM_BNDRY               0x42eeu                         /* Mach32 */
 
400
#define MEM_PAGE_BNDRY                  0x000fu                 /* Mach32 */
 
401
#define MEM_BNDRY_ENA                   0x0010u                 /* Mach32 */
 
402
#define SHADOW_CTL              0x46eeu         /* Write */
 
403
#define CLOCK_SEL               0x4aeeu
 
404
/*      DISABPASSTHRU                   0x0001u See ADVFUNC_CNTL */
 
405
#define VFIFO_DEPTH_1                   0x0100u                 /* Mach32 */
 
406
#define VFIFO_DEPTH_2                   0x0200u                 /* Mach32 */
 
407
#define VFIFO_DEPTH_3                   0x0300u                 /* Mach32 */
 
408
#define VFIFO_DEPTH_4                   0x0400u                 /* Mach32 */
 
409
#define VFIFO_DEPTH_5                   0x0500u                 /* Mach32 */
 
410
#define VFIFO_DEPTH_6                   0x0600u                 /* Mach32 */
 
411
#define VFIFO_DEPTH_7                   0x0700u                 /* Mach32 */
 
412
#define VFIFO_DEPTH_8                   0x0800u                 /* Mach32 */
 
413
#define VFIFO_DEPTH_9                   0x0900u                 /* Mach32 */
 
414
#define VFIFO_DEPTH_A                   0x0a00u                 /* Mach32 */
 
415
#define VFIFO_DEPTH_B                   0x0b00u                 /* Mach32 */
 
416
#define VFIFO_DEPTH_C                   0x0c00u                 /* Mach32 */
 
417
#define VFIFO_DEPTH_D                   0x0d00u                 /* Mach32 */
 
418
#define VFIFO_DEPTH_E                   0x0e00u                 /* Mach32 */
 
419
#define VFIFO_DEPTH_F                   0x0f00u                 /* Mach32 */
 
420
#define COMPOSITE_SYNC                  0x1000u
 
421
/*      ?                       0x4eeeu */
 
422
#define ROM_ADDR_1              0x52eeu
 
423
#define BIOS_BASE_SEGMENT               0x007fu                 /* Mach32 */
 
424
/*      ?                               0xff80u */              /* Mach32 */
 
425
#define ROM_ADDR_2              0x56eeu         /* Sick ... */
 
426
#define SHADOW_SET              0x5aeeu         /* Write */
 
427
#define MEM_CFG                 0x5eeeu                         /* Mach32 */
 
428
#define MEM_APERT_SEL                   0x0003u                 /* Mach32 */
 
429
#define MEM_APERT_PAGE                  0x000cu                 /* Mach32 */
 
430
#define MEM_APERT_LOC                   0xfff0u                 /* Mach32 */
 
431
#define EXT_GE_STATUS           0x62eeu         /* Read */      /* Mach32 */
 
432
#define HORZ_OVERSCAN           0x62eeu         /* Write */     /* Mach32 */
 
433
#define VERT_OVERSCAN           0x66eeu         /* Write */     /* Mach32 */
 
434
#define MAX_WAITSTATES          0x6aeeu
 
435
#define GE_OFFSET_LO            0x6eeeu         /* Write */
 
436
#define BOUNDS_LEFT             0x72eeu         /* Read */
 
437
#define GE_OFFSET_HI            0x72eeu         /* Write */
 
438
#define BOUNDS_TOP              0x76eeu         /* Read */
 
439
#define GE_PITCH                0x76eeu         /* Write */
 
440
#define BOUNDS_RIGHT            0x7aeeu         /* Read */
 
441
#define EXT_GE_CONFIG           0x7aeeu         /* Write */     /* Mach32 */
 
442
#define MONITOR_ALIAS                   0x0007u                 /* Mach32 */
 
443
/*      MONITOR_?                               0x0000u */      /* Mach32 */
 
444
#define MONITOR_8507                            0x0001u         /* Mach32 */
 
445
#define MONITOR_8514                            0x0002u         /* Mach32 */
 
446
/*      MONITOR_?                               0x0003u */      /* Mach32 */
 
447
/*      MONITOR_?                               0x0004u */      /* Mach32 */
 
448
#define MONITOR_8503                            0x0005u         /* Mach32 */
 
449
#define MONITOR_8512                            0x0006u         /* Mach32 */
 
450
#define MONITOR_8513                            0x0006u         /* Mach32 */
 
451
#define MONITOR_NONE                            0x0007u         /* Mach32 */
 
452
#define ALIAS_ENA                       0x0008u                 /* Mach32 */
 
453
#define PIXEL_WIDTH_4                   0x0000u                 /* Mach32 */
 
454
#define PIXEL_WIDTH_8                   0x0010u                 /* Mach32 */
 
455
#define PIXEL_WIDTH_16                  0x0020u                 /* Mach32 */
 
456
#define PIXEL_WIDTH_24                  0x0030u                 /* Mach32 */
 
457
#define RGB16_555                       0x0000u                 /* Mach32 */
 
458
#define RGB16_565                       0x0040u                 /* Mach32 */
 
459
#define RGB16_655                       0x0080u                 /* Mach32 */
 
460
#define RGB16_664                       0x00c0u                 /* Mach32 */
 
461
#define MULTIPLEX_PIXELS                0x0100u                 /* Mach32 */
 
462
#define RGB24                           0x0000u                 /* Mach32 */
 
463
#define RGBx24                          0x0200u                 /* Mach32 */
 
464
#define BGR24                           0x0400u                 /* Mach32 */
 
465
#define xBGR24                          0x0600u                 /* Mach32 */
 
466
#define DAC_8_BIT_EN                    0x4000u                 /* Mach32 */
 
467
#define ORDER_16BPP_565                 RGB16_565               /* Mach32 */
 
468
#define BOUNDS_BOTTOM           0x7eeeu         /* Read */
 
469
#define MISC_CNTL               0x7eeeu         /* Write */     /* Mach32 */
 
470
#define PATT_DATA_INDEX         0x82eeu
 
471
/*      ?                       0x86eeu */
 
472
/*      ?                       0x8aeeu */
 
473
#define R_EXT_GE_CONFIG         0x8eeeu         /* Read */      /* Mach32 */
 
474
#define PATT_DATA               0x8eeeu         /* Write */
 
475
#define R_MISC_CNTL             0x92eeu         /* Read */      /* Mach32 */
 
476
#define BRES_COUNT              0x96eeu
 
477
#define EXT_FIFO_STATUS         0x9aeeu         /* Read */
 
478
#define LINEDRAW_INDEX          0x9aeeu         /* Write */
 
479
/*      ?                       0x9eeeu */
 
480
#define LINEDRAW_OPT            0xa2eeu
 
481
#define BOUNDS_RESET                    0x0100u
 
482
#define CLIP_MODE_0                     0x0000u /* Clip exception disabled */
 
483
#define CLIP_MODE_1                     0x0200u /* Line segments */
 
484
#define CLIP_MODE_2                     0x0400u /* Polygon boundary lines */
 
485
#define CLIP_MODE_3                     0x0600u /* Patterned lines */
 
486
#define DEST_X_START            0xa6eeu         /* Write */
 
487
#define DEST_X_END              0xaaeeu         /* Write */
 
488
#define DEST_Y_END              0xaeeeu         /* Write */
 
489
#define R_H_TOTAL_DISP          0xb2eeu         /* Read */      /* Mach32 */
 
490
#define SRC_X_STRT              0xb2eeu         /* Write */
 
491
#define R_H_SYNC_STRT           0xb6eeu         /* Read */      /* Mach32 */
 
492
#define ALU_BG_FN               0xb6eeu         /* Write */
 
493
#define R_H_SYNC_WID            0xbaeeu         /* Read */      /* Mach32 */
 
494
#define ALU_FG_FN               0xbaeeu         /* Write */
 
495
#define SRC_X_END               0xbeeeu         /* Write */
 
496
#define R_V_TOTAL               0xc2eeu         /* Read */
 
497
#define SRC_Y_DIR               0xc2eeu         /* Write */
 
498
#define R_V_DISP                0xc6eeu         /* Read */      /* Mach32 */
 
499
#define EXT_SHORT_STROKE        0xc6eeu         /* Write */
 
500
#define R_V_SYNC_STRT           0xcaeeu         /* Read */      /* Mach32 */
 
501
#define SCAN_X                  0xcaeeu         /* Write */
 
502
#define VERT_LINE_CNTR          0xceeeu         /* Read */      /* Mach32 */
 
503
#define DP_CONFIG               0xceeeu         /* Write */
 
504
#define READ_WRITE                      0x0001u
 
505
#define DATA_WIDTH                      0x0200u
 
506
#define DATA_ORDER                      0x1000u
 
507
#define FG_COLOR_SRC_FG                 0x2000u
 
508
#define FG_COLOR_SRC_BLIT               0x6000u
 
509
#define R_V_SYNC_WID            0xd2eeu         /* Read */
 
510
#define PATT_LENGTH             0xd2eeu         /* Write */
 
511
#define PATT_INDEX              0xd6eeu         /* Write */
 
512
#define READ_SRC_X              0xdaeeu         /* Read */      /* Mach32 */
 
513
#define EXT_SCISSOR_L           0xdaeeu         /* Write */
 
514
#define READ_SRC_Y              0xdeeeu         /* Read */      /* Mach32 */
 
515
#define EXT_SCISSOR_T           0xdeeeu         /* Write */
 
516
#define EXT_SCISSOR_R           0xe2eeu         /* Write */
 
517
#define EXT_SCISSOR_B           0xe6eeu         /* Write */
 
518
/*      ?                       0xeaeeu */
 
519
#define DEST_COMP_FN            0xeeeeu         /* Write */
 
520
#define DEST_COLOR_CMP_MASK     0xf2eeu         /* Write */     /* Mach32 */
 
521
/*      ?                       0xf6eeu */
 
522
#define CHIP_ID                 0xfaeeu         /* Read */      /* Mach32 */
 
523
#define CHIP_CODE_0                     0x001fu                 /* Mach32 */
 
524
#define CHIP_CODE_1                     0x03e0u                 /* Mach32 */
 
525
#define CHIP_CLASS                      0x0c00u                 /* Mach32 */
 
526
#define CHIP_REV                        0xf000u                 /* Mach32 */
 
527
#define LINEDRAW                0xfeeeu         /* Write */
 
528
 
 
529
/* ATI Mach64 register definitions */
 
530
#define CRTC_H_TOTAL_DISP       IOPortTag(0x00u, 0x00u)
 
531
#define CRTC_H_TOTAL                    0x000001fful
 
532
/*      ?                               0x0000fe00ul */
 
533
#define CRTC_H_DISP                     0x01ff0000ul
 
534
/*      ?                               0xfe000000ul */
 
535
#define CRTC_H_SYNC_STRT_WID    IOPortTag(0x01u, 0x01u)
 
536
#define CRTC_H_SYNC_STRT                0x000000fful
 
537
#define CRTC_H_SYNC_DLY                 0x00000700ul
 
538
/*      ?                               0x00000800ul */
 
539
#define CRTC_H_SYNC_STRT_HI             0x00001000ul
 
540
/*      ?                               0x0000e000ul */
 
541
#define CRTC_H_SYNC_WID                 0x001f0000ul
 
542
#define CRTC_H_SYNC_POL                 0x00200000ul
 
543
/*      ?                               0xffc00000ul */
 
544
#define CRTC_V_TOTAL_DISP       IOPortTag(0x02u, 0x02u)
 
545
#define CRTC_V_TOTAL                    0x000007fful
 
546
/*      ?                               0x0000f800ul */
 
547
#define CRTC_V_DISP                     0x07ff0000ul
 
548
/*      ?                               0xf8000000ul */
 
549
#define CRTC_V_SYNC_STRT_WID    IOPortTag(0x03u, 0x03u)
 
550
#define CRTC_V_SYNC_STRT                0x000007fful
 
551
/*      ?                               0x0000f800ul */
 
552
#define CRTC_V_SYNC_WID                 0x001f0000ul
 
553
#define CRTC_V_SYNC_END_VGA             0x000f0000ul
 
554
#define CRTC_V_SYNC_POL                 0x00200000ul
 
555
/*      ?                               0xffc00000ul */
 
556
#define CRTC_VLINE_CRNT_VLINE   IOPortTag(0x04u, 0x04u)
 
557
#define CRTC_VLINE                      0x000007fful
 
558
/*      ?                               0x0000f800ul */
 
559
#define CRTC_CRNT_VLINE                 0x07ff0000ul
 
560
/*      ?                               0xf8000000ul */
 
561
#define CRTC_OFF_PITCH          IOPortTag(0x05u, 0x05u)
 
562
#define CRTC_OFFSET                     0x000ffffful
 
563
#define CRTC_OFFSET_VGA                 0x0003fffful
 
564
#define CRTC_OFFSET_LOCK                0x00100000ul    /* XC/XL */
 
565
/*      ?                               0x00200000ul */
 
566
#define CRTC_PITCH                      0xffc00000ul
 
567
#define CRTC_INT_CNTL           IOPortTag(0x06u, 0x06u)
 
568
#define CRTC_VBLANK                     0x00000001ul
 
569
#define CRTC_VBLANK_INT_EN              0x00000002ul
 
570
#define CRTC_VBLANK_INT                 0x00000004ul
 
571
#define CRTC_VLINE_INT_EN               0x00000008ul
 
572
#define CRTC_VLINE_INT                  0x00000010ul
 
573
#define CRTC_VLINE_SYNC                 0x00000020ul
 
574
#define CRTC_FRAME                      0x00000040ul
 
575
#define CRTC_SNAPSHOT_INT_EN            0x00000080ul    /* GTPro */
 
576
#define CRTC_SNAPSHOT_INT               0x00000100ul    /* GTPro */
 
577
#define CRTC_I2C_INT_EN                 0x00000200ul    /* GTPro */
 
578
#define CRTC_I2C_INT                    0x00000400ul    /* GTPro */
 
579
#define CRTC2_VBLANK                    0x00000800ul    /* LTPro */
 
580
#define CRTC2_VBLANK_INT_EN             0x00001000ul    /* LTPro */
 
581
#define CRTC2_VBLANK_INT                0x00002000ul    /* LTPro */
 
582
#define CRTC2_VLINE_INT_EN              0x00004000ul    /* LTPro */
 
583
#define CRTC2_VLINE_INT                 0x00008000ul    /* LTPro */
 
584
#define CRTC_CAPBUF0_INT_EN             0x00010000ul    /* VT/GT */
 
585
#define CRTC_CAPBUF0_INT                0x00020000ul    /* VT/GT */
 
586
#define CRTC_CAPBUF1_INT_EN             0x00040000ul    /* VT/GT */
 
587
#define CRTC_CAPBUF1_INT                0x00080000ul    /* VT/GT */
 
588
#define CRTC_OVERLAY_EOF_INT_EN         0x00100000ul    /* VT/GT */
 
589
#define CRTC_OVERLAY_EOF_INT            0x00200000ul    /* VT/GT */
 
590
#define CRTC_ONESHOT_CAP_INT_EN         0x00400000ul    /* VT/GT */
 
591
#define CRTC_ONESHOT_CAP_INT            0x00800000ul    /* VT/GT */
 
592
#define CRTC_BUSMASTER_EOL_INT_EN       0x01000000ul    /* VTB/GTB/LT */
 
593
#define CRTC_BUSMASTER_EOL_INT          0x02000000ul    /* VTB/GTB/LT */
 
594
#define CRTC_GP_INT_EN                  0x04000000ul    /* VTB/GTB/LT */
 
595
#define CRTC_GP_INT                     0x08000000ul    /* VTB/GTB/LT */
 
596
#define CRTC2_VLINE_SYNC                0x10000000ul    /* LTPro */
 
597
#define CRTC_SNAPSHOT2_INT_EN           0x20000000ul    /* LTPro */
 
598
#define CRTC_SNAPSHOT2_INT              0x40000000ul    /* LTPro */
 
599
#define CRTC_VBLANK_BIT2_INT            0x80000000ul    /* GTPro */
 
600
#define CRTC_INT_ENS    /* *** UPDATE ME *** */         \
 
601
                (                                       \
 
602
                        CRTC_VBLANK_INT_EN |            \
 
603
                        CRTC_VLINE_INT_EN |             \
 
604
                        CRTC_SNAPSHOT_INT_EN |          \
 
605
                        CRTC_I2C_INT_EN |               \
 
606
                        CRTC2_VBLANK_INT_EN |           \
 
607
                        CRTC2_VLINE_INT_EN |            \
 
608
                        CRTC_CAPBUF0_INT_EN |           \
 
609
                        CRTC_CAPBUF1_INT_EN |           \
 
610
                        CRTC_OVERLAY_EOF_INT_EN |       \
 
611
                        CRTC_ONESHOT_CAP_INT_EN |       \
 
612
                        CRTC_BUSMASTER_EOL_INT_EN |     \
 
613
                        CRTC_GP_INT_EN |                \
 
614
                        CRTC_SNAPSHOT2_INT_EN |         \
 
615
                        0                               \
 
616
                )
 
617
#define CRTC_INT_ACKS   /* *** UPDATE ME *** */         \
 
618
                (                                       \
 
619
                        CRTC_VBLANK_INT |               \
 
620
                        CRTC_VLINE_INT |                \
 
621
                        CRTC_SNAPSHOT_INT |             \
 
622
                        CRTC_I2C_INT |                  \
 
623
                        CRTC2_VBLANK_INT |              \
 
624
                        CRTC2_VLINE_INT |               \
 
625
                        CRTC_CAPBUF0_INT |              \
 
626
                        CRTC_CAPBUF1_INT |              \
 
627
                        CRTC_OVERLAY_EOF_INT |          \
 
628
                        CRTC_ONESHOT_CAP_INT |          \
 
629
                        CRTC_BUSMASTER_EOL_INT |        \
 
630
                        CRTC_GP_INT |                   \
 
631
                        CRTC_SNAPSHOT2_INT |            \
 
632
                        CRTC_VBLANK_BIT2_INT |          \
 
633
                        0                               \
 
634
                )
 
635
#define CRTC_GEN_CNTL           IOPortTag(0x07u, 0x07u)
 
636
#define CRTC_DBL_SCAN_EN                0x00000001ul
 
637
#define CRTC_INTERLACE_EN               0x00000002ul
 
638
#define CRTC_HSYNC_DIS                  0x00000004ul
 
639
#define CRTC_VSYNC_DIS                  0x00000008ul
 
640
#define CRTC_CSYNC_EN                   0x00000010ul
 
641
#define CRTC_PIX_BY_2_EN                0x00000020ul
 
642
#define CRTC2_DBL_SCAN_EN               0x00000020ul    /* LTPro */
 
643
#define CRTC_DISPLAY_DIS                0x00000040ul
 
644
#define CRTC_VGA_XOVERSCAN              0x00000080ul
 
645
#define CRTC_PIX_WIDTH                  0x00000700ul
 
646
#define CRTC_BYTE_PIX_ORDER             0x00000800ul
 
647
#define CRTC_VSYNC_INT_EN               0x00001000ul    /* XC/XL */
 
648
#define CRTC_VSYNC_INT                  0x00002000ul    /* XC/XL */
 
649
#define CRTC_FIFO_OVERFILL              0x0000c000ul    /* VT/GT */
 
650
#define CRTC2_VSYNC_INT_EN              0x00004000ul    /* XC/XL */
 
651
#define CRTC2_VSYNC_INT                 0x00008000ul    /* XC/XL */
 
652
#define CRTC_FIFO_LWM                   0x000f0000ul
 
653
#define CRTC_HVSYNC_IO_DRIVE            0x00010000ul    /* XC/XL */
 
654
#define CRTC2_PIX_WIDTH                 0x000e0000ul    /* LTPro */
 
655
#define CRTC_VGA_128KAP_PAGING          0x00100000ul    /* VT/GT */
 
656
#define CRTC_DISPREQ_ONLY               0x00200000ul    /* VT/GT */
 
657
#define CRTC_VFC_SYNC_TRISTATE          0x00200000ul    /* VTB/GTB/LT */
 
658
#define CRTC2_EN                        0x00200000ul    /* LTPro */
 
659
#define CRTC_LOCK_REGS                  0x00400000ul    /* VT/GT */
 
660
#define CRTC_SYNC_TRISTATE              0x00800000ul    /* VT/GT */
 
661
#define CRTC_EXT_DISP_EN                0x01000000ul
 
662
#define CRTC_EN                         0x02000000ul
 
663
#define CRTC_DISP_REQ_EN                0x04000000ul
 
664
#define CRTC_VGA_LINEAR                 0x08000000ul
 
665
#define CRTC_VSYNC_FALL_EDGE            0x10000000ul
 
666
#define CRTC_VGA_TEXT_132               0x20000000ul
 
667
#define CRTC_CNT_EN                     0x40000000ul
 
668
#define CRTC_CUR_B_TEST                 0x80000000ul
 
669
#define CRTC_INT_ENS_X  /* *** UPDATE ME *** */         \
 
670
                (                                       \
 
671
                        CRTC_VSYNC_INT_EN |             \
 
672
                        CRTC2_VSYNC_INT_EN |            \
 
673
                        0                               \
 
674
                )
 
675
#define CRTC_INT_ACKS_X /* *** UPDATE ME *** */         \
 
676
                (                                       \
 
677
                        CRTC_VSYNC_INT |                \
 
678
                        CRTC2_VSYNC_INT |               \
 
679
                        0                               \
 
680
                )
 
681
#define DSP_CONFIG              BlockIOTag(0x08u)       /* VTB/GTB/LT */
 
682
#define DSP_XCLKS_PER_QW                0x00003ffful
 
683
/*      ?                               0x00004000ul */
 
684
#define DSP_FLUSH_WB                    0x00008000ul
 
685
#define DSP_LOOP_LATENCY                0x000f0000ul
 
686
#define DSP_PRECISION                   0x00700000ul
 
687
/*      ?                               0xff800000ul */
 
688
#define DSP_ON_OFF              BlockIOTag(0x09u)       /* VTB/GTB/LT */
 
689
#define DSP_OFF                         0x000007fful
 
690
/*      ?                               0x0000f800ul */
 
691
#define DSP_ON                          0x07ff0000ul
 
692
/*      ?                               0xf8000000ul */
 
693
#define TIMER_CONFIG            BlockIOTag(0x0au)       /* VTB/GTB/LT */
 
694
#define MEM_BUF_CNTL            BlockIOTag(0x0bu)       /* VTB/GTB/LT */
 
695
#define Z_WB_FLUSH                      0x00000007ul
 
696
#define Z_WB_FLUSH_P                    0x0000000ful    /* GTPro */
 
697
#define VID_WB_FLUSH_P                  0x000000f0ul    /* GTPro */
 
698
#define VID_WB_FLUSH_MSB                0x00000100ul
 
699
#define GUI_WB_FLUSH_P                  0x00001f00ul    /* GTPro */
 
700
#define HST_WB_FLUSH_P                  0x0000e000ul    /* GTPro */
 
701
#define SCL_MIN_BURST_LEN               0x001f0000ul
 
702
#define SCL_THRESH                      0x003f0000ul    /* GTPro */
 
703
/*      ?                               0x00400000ul */
 
704
#define INVALIDATE_RB_CACHE             0x00800000ul
 
705
#define HST_WB_FLUSH                    0x03000000ul
 
706
#define VID_WB_FLUSH                    0x1c000000ul
 
707
#define GUI_WB_FLUSH                    0xe0000000ul
 
708
#define SHARED_CNTL             BlockIOTag(0x0cu)       /* VTB/GTB/LT */
 
709
#define SHARED_MEM_CONFIG       BlockIOTag(0x0du)       /* VTB/GTB/LT */
 
710
#define MEM_ADDR_CONFIG         BlockIOTag(0x0du)       /* GTPro */
 
711
#define SHARED_CNTL_CTD         BlockIOTag(0x0eu)       /* CTD */
 
712
/*      ?                               0x00fffffful */
 
713
#define CTD_FIFO5                       0x01000000ul
 
714
/*      ?                               0xfe000000ul */
 
715
#define CRT_TRAP                BlockIOTag(0x0eu)       /* VTB/GTB/LT */
 
716
#define DSTN_CONTROL            BlockIOTag(0x0fu)       /* LT */
 
717
#define I2C_CNTL_0              BlockIOTag(0x0fu)       /* GTPro */
 
718
#define I2C_CNTL_STAT                   0x0000000ful
 
719
#define I2C_CNTL_DONE                           0x00000001ul
 
720
#define I2C_CNTL_NACK                           0x00000002ul
 
721
#define I2C_CNTL_HALT                           0x00000004ul
 
722
#define I2C_CNTL_FULL                           0x00000008ul
 
723
/*      ?                               0x00000010ul */
 
724
#define I2C_CNTL_HPTR_RST               0x00000020ul
 
725
/*      ?                               0x000000c0ul */
 
726
#define I2C_CNTL_START                  0x00000100ul
 
727
#define I2C_CNTL_STOP                   0x00000200ul
 
728
#define I2C_CNTL_GO                     0x00000400ul
 
729
#define I2C_CNTL_RECEIVE                0x00000800ul
 
730
#define I2C_CNTL_ABORT                  0x00001000ul
 
731
#define I2C_CNTL_INT_EN                 0x00002000ul
 
732
#define I2C_CNTL_SCL                    0x00004000ul
 
733
#define I2C_CNTL_SDA                    0x00008000ul
 
734
#define I2C_CNTL_M_FACTOR               0x00ff0000ul
 
735
#define I2C_CNTL_N_FACTOR               0xff000000ul
 
736
#define OVR_CLR                 IOPortTag(0x08u, 0x10u)
 
737
#define OVR_CLR_8                       0x000000fful
 
738
#define OVR_CLR_B                       0x0000ff00ul
 
739
#define OVR_CLR_G                       0x00ff0000ul
 
740
#define OVR_CLR_R                       0xff000000ul
 
741
#define OVR_WID_LEFT_RIGHT      IOPortTag(0x09u, 0x11u)
 
742
#define OVR_WID_LEFT                    0x0000003ful    /* 0x0f on <LT */
 
743
/*      ?                               0x0000ffc0ul */
 
744
#define OVR_WID_RIGHT                   0x003f0000ul    /* 0x0f0000 on <LT */
 
745
/*      ?                               0xffc00000ul */
 
746
#define OVR_WID_TOP_BOTTOM      IOPortTag(0x0au, 0x12u)
 
747
#define OVR_WID_TOP                     0x000001fful    /* 0x00ff on <LT */
 
748
/*      ?                               0x0000fe00ul */
 
749
#define OVR_WID_BOTTOM                  0x01ff0000ul    /* 0x00ff0000 on <LT */
 
750
/*      ?                               0xfe000000ul */
 
751
#define VGA_DSP_CONFIG          BlockIOTag(0x13u)       /* VTB/GTB/LT */
 
752
#define VGA_DSP_XCLKS_PER_QW            DSP_XCLKS_PER_QW
 
753
/*      ?                               0x000fc000ul */
 
754
#define VGA_DSP_PREC_PCLKBY2            0x00700000ul
 
755
/*      ?                               0x00800000ul */
 
756
#define VGA_DSP_PREC_PCLK               0x07000000ul
 
757
/*      ?                               0xf8000000ul */
 
758
#define VGA_DSP_ON_OFF          BlockIOTag(0x14u)       /* VTB/GTB/LT */
 
759
#define VGA_DSP_OFF                     DSP_OFF
 
760
/*      ?                               0x0000f800ul */
 
761
#define VGA_DSP_ON                      DSP_ON
 
762
/*      ?                               0xf8000000ul */
 
763
#define DSP2_CONFIG             BlockIOTag(0x15u)       /* LTPro */
 
764
#define DSP2_ON_OFF             BlockIOTag(0x16u)       /* LTPro */
 
765
#define EXT_CRTC_GEN_CNTL       BlockIOTag(0x17u)       /* VT-A4 (W) */
 
766
#define CRTC2_OFF_PITCH         BlockIOTag(0x17u)       /* LTPro */
 
767
#define CUR_CLR0                IOPortTag(0x0bu, 0x18u)
 
768
#define CUR_CLR1                IOPortTag(0x0cu, 0x19u)
 
769
/* These are for both CUR_CLR0 and CUR_CLR1 */
 
770
#define CUR_CLR_I                       0x000000fful
 
771
#define CUR_CLR_B                       0x0000ff00ul
 
772
#define CUR_CLR_G                       0x00ff0000ul
 
773
#define CUR_CLR_R                       0xff000000ul
 
774
#define CUR_CLR                         (CUR_CLR_R | CUR_CLR_G | CUR_CLR_B)
 
775
#define CUR_OFFSET              IOPortTag(0x0du, 0x1au)
 
776
#define CUR_HORZ_VERT_POSN      IOPortTag(0x0eu, 0x1bu)
 
777
#define CUR_HORZ_POSN                   0x000007fful
 
778
/*      ?                               0x0000f800ul */
 
779
#define CUR_VERT_POSN                   0x07ff0000ul
 
780
/*      ?                               0xf8000000ul */
 
781
#define CUR_HORZ_VERT_OFF       IOPortTag(0x0fu, 0x1cu)
 
782
#define CUR_HORZ_OFF                    0x0000007ful
 
783
/*      ?                               0x0000ff80ul */
 
784
#define CUR_VERT_OFF                    0x007f0000ul
 
785
/*      ?                               0xff800000ul */
 
786
#define CONFIG_PANEL            BlockIOTag(0x1du)       /* LT */
 
787
#define PANEL_FORMAT                    0x00000007ul
 
788
/*      ?                               0x00000008ul */
 
789
#define PANEL_TYPE                      0x000000f0ul
 
790
#define NO_OF_GREY                      0x00000700ul
 
791
#define MOD_GEN                         0x00001800ul
 
792
#define EXT_LVDS_CLK                    0x00001800ul    /* LTPro */
 
793
#define BLINK_RATE                      0x00006000ul
 
794
#define BLINK_RATE_PRO                  0x00002000ul    /* LTPro */
 
795
#define DONT_SHADOW_HEND                0x00004000ul    /* LTPro */
 
796
#define DONT_USE_F32KHZ                 0x00008000ul
 
797
#define LCD_IO_DRIVE                    0x00008000ul    /* XC/XL */
 
798
#define FP_POL                          0x00010000ul
 
799
#define LP_POL                          0x00020000ul
 
800
#define DTMG_POL                        0x00040000ul
 
801
#define SCK_POL                         0x00080000ul
 
802
#define DITHER_SEL                      0x00300000ul
 
803
#define INVERSE_VIDEO_EN                0x00400000ul
 
804
#define BL_CLK_SEL                      0x01800000ul
 
805
#define BL_LEVEL                        0x0e000000ul
 
806
#define BL_CLK_SEL_PRO                  0x00800000ul    /* LTPro */
 
807
#define BL_LEVEL_PRO                    0x03000000ul    /* LTPro */
 
808
#define BIAS_LEVEL_PRO                  0x0c000000ul    /* LTPro */
 
809
#define HSYNC_DELAY                     0xf0000000ul
 
810
#define TV_OUT_INDEX            BlockIOTag(0x1du)       /* LTPro */
 
811
#define TV_REG_INDEX                    0x000000fful
 
812
#define TV_ON                           0x00000100ul
 
813
/*      ?                               0xfffffe00ul */
 
814
#define GP_IO                   IOPortTag(0x1eu, 0x1eu) /* VT/GT */
 
815
#define GP_IO_0                         0x00000001ul
 
816
#define GP_IO_1                         0x00000002ul
 
817
#define GP_IO_2                         0x00000004ul
 
818
#define GP_IO_3                         0x00000008ul
 
819
#define GP_IO_4                         0x00000010ul
 
820
#define GP_IO_5                         0x00000020ul
 
821
#define GP_IO_6                         0x00000040ul
 
822
#define GP_IO_7                         0x00000080ul
 
823
#define GP_IO_8                         0x00000100ul
 
824
#define GP_IO_9                         0x00000200ul
 
825
#define GP_IO_A                         0x00000400ul
 
826
#define GP_IO_B                         0x00000800ul
 
827
#define GP_IO_C                         0x00001000ul
 
828
#define GP_IO_D                         0x00002000ul
 
829
#define GP_IO_E                         0x00004000ul
 
830
#define GP_IO_F                         0x00008000ul
 
831
#define GP_IO_DIR_0                     0x00010000ul
 
832
#define GP_IO_DIR_1                     0x00020000ul
 
833
#define GP_IO_DIR_2                     0x00040000ul
 
834
#define GP_IO_DIR_3                     0x00080000ul
 
835
#define GP_IO_DIR_4                     0x00100000ul
 
836
#define GP_IO_DIR_5                     0x00200000ul
 
837
#define GP_IO_DIR_6                     0x00400000ul
 
838
#define GP_IO_DIR_7                     0x00800000ul
 
839
#define GP_IO_DIR_8                     0x01000000ul
 
840
#define GP_IO_DIR_9                     0x02000000ul
 
841
#define GP_IO_DIR_A                     0x04000000ul
 
842
#define GP_IO_DIR_B                     0x08000000ul
 
843
#define GP_IO_DIR_C                     0x10000000ul
 
844
#define GP_IO_DIR_D                     0x20000000ul
 
845
#define GP_IO_DIR_E                     0x40000000ul
 
846
#define GP_IO_DIR_F                     0x80000000ul
 
847
#define GP_IO_CNTL              BlockIOTag(0x1fu)       /* VT/GT */
 
848
#define GP_IO_MODE                      0x0000000ful
 
849
/*      ?                               0x7ffffff0ul */
 
850
#define GP_IO_EN                        0x80000000ul
 
851
#define HW_DEBUG                BlockIOTag(0x1fu)       /* VTB/GTB/LT */
 
852
#define FAST_SRCCOPY_DIS                0x00000001ul
 
853
#define BYPASS_SUBPIC_DBF               0x00000001ul    /* XL/XC */
 
854
#define SRC_AUTONA_FIX_DIS              0x00000002ul
 
855
#define SYNC_PD_EN                      0x00000002ul    /* Mobility */
 
856
#define DISP_QW_FIX_DIS                 0x00000004ul
 
857
#define GUIDST_WB_EXP_DIS               0x00000008ul
 
858
#define CYC_ALL_FIX_DIS                 0x00000008ul    /* GTPro */
 
859
#define AGPPLL_FIX_EN                   0x00000008ul    /* Mobility */
 
860
#define SRC_AUTONA_ALWAYS_EN            0x00000010ul
 
861
#define GUI_BEATS_HOST_P                0x00000010ul    /* GTPro */
 
862
#define DRV_CNTL_DQMB_WEB               0x00000020ul
 
863
#define FAST_FILL_SCISSOR_DIS           0x00000020ul    /* GT2c/VT4 */
 
864
#define INTER_BLIT_FIX_DIS              0x00000020ul    /* GTPro */
 
865
#define DRV_CNTL_MA                     0x00000040ul
 
866
#define AUTO_BLKWRT_COLOR_DIS           0x00000040ul    /* GT2c/VT4 */
 
867
#define INTER_PRIM_DIS                  0x00000040ul    /* GTPro */
 
868
#define DRV_CNTL_MD                     0x00000080ul
 
869
#define CHG_DEV_ID                      0x00000100ul
 
870
#define SRC_TRACK_DST_FIX_DIS           0x00000200ul
 
871
#define HCLK_FB_SKEW                    0x00000380ul    /* GT2c/VT4 */
 
872
#define SRC_TRACK_DST_FIX_DIS_P         0x00000080ul    /* GTPro */
 
873
#define AUTO_BLKWRT_COLOR_DIS_P         0x00000100ul    /* GTPro */
 
874
#define INTER_LINE_OVERLAP_DIS          0x00000200ul    /* GTPro */
 
875
#define MEM_OE_PULLBACK                 0x00000400ul
 
876
#define DBL_BUFFER_EN                   0x00000400ul    /* GTPro */
 
877
#define MEM_WE_FIX_DIS                  0x00000800ul
 
878
#define MEM_OE_PULLBACK_B               0x00000800ul    /* GT2c/VT4 */
 
879
#define CMDFIFO_SIZE_EN                 0x00000800ul    /* GTPro */
 
880
#define RD_EN_FIX_DIS                   0x00001000ul
 
881
#define MEM_WE_FIX_DIS_B                0x00001000ul
 
882
#define AUTO_FF_DIS                     0x00001000ul    /* GTPro */
 
883
#define CMDFIFO_SIZE_DIS                0x00002000ul    /* GT2c/VT4 */
 
884
#define AUTO_BLKWRT_DIS                 0x00002000ul    /* GTPro */
 
885
#define GUI_BEATS_HOST                  0x00004000ul    /* GT2c/VT4 */
 
886
#define ORED_INVLD_RB_CACHE             0x00004000ul    /* GTPro */
 
887
#define BLOCK_DBL_BUF                   0x00008000ul    /* GTPro */
 
888
#define R2W_TURNAROUND_DELAY            0x00020000ul    /* GT2c/VT4 */
 
889
#define ENA_32BIT_DATA_BUS              0x00040000ul    /* GT2c/VT4 */
 
890
#define HCLK_FB_SKEW_P                  0x00070000ul    /* GTPro */
 
891
#define ENA_FLASH_ROM                   0x00080000ul    /* GT2c/VT4 */
 
892
#define DISABLE_SWITCH_FIX              0x00080000ul    /* GTPro */
 
893
#define MCLK_START_EN                   0x00080000ul    /* LTPro */
 
894
#define SEL_VBLANK_BDL_BUF              0x00100000ul    /* GTPro */
 
895
#define CMDFIFO_64EN                    0x00200000ul    /* GTPro */
 
896
#define BM_FIX_DIS                      0x00400000ul    /* GTPro */
 
897
#define Z_SWITCH_EN                     0x00800000ul    /* LTPro */
 
898
#define FLUSH_HOST_WB                   0x01000000ul    /* GTPro */
 
899
#define HW_DEBUG_WRITE_MSK_FIX_DIS      0x02000000ul    /* LTPro */
 
900
#define Z_NO_WRITE_EN                   0x04000000ul    /* LTPro */
 
901
#define DISABLE_PCLK_RESET_P            0x08000000ul    /* LTPro */
 
902
#define PM_D3_SUPPORT_ENABLE_P          0x10000000ul    /* LTPro */
 
903
#define STARTCYCLE_FIX_ENABLE           0x20000000ul    /* LTPro */
 
904
#define DONT_RST_CHAREN                 0x20000000ul    /* XL/XC */
 
905
#define C3_FIX_ENABLE                   0x40000000ul    /* LTPro */
 
906
#define BM_HOSTRA_EN                    0x40000000ul    /* XL/XC */
 
907
#define PKGBGAb                         0x80000000ul    /* XL/XC */
 
908
#define AUTOEXP_HORZ_FIX                0x80000000ul    /* Mobility */
 
909
#define SCRATCH_REG0            IOPortTag(0x10u, 0x20u)
 
910
#define SCRATCH_REG1            IOPortTag(0x11u, 0x21u)
 
911
/*      BIOS_BASE_SEGMENT               0x0000007ful */ /* As above */
 
912
/*      ?                               0x00000f80ul */
 
913
#define BIOS_INIT_DAC_SUBTYPE           0x0000f000ul
 
914
/*      ?                               0xffff0000ul */
 
915
#define SCRATCH_REG2            BlockIOTag(0x22u)       /* LT */
 
916
#define SCRATCH_REG3            BlockIOTag(0x23u)       /* GTPro */
 
917
/*      Not described here              0x07fffffful */
 
918
#define DISPLAY_SWITCH_DISABLE          0x08000000ul
 
919
/*      Not described here              0xf0000000ul */
 
920
#define CLOCK_CNTL              IOPortTag(0x12u, 0x24u)
 
921
#define CLOCK_BIT                       0x00000004ul    /* For ICS2595 */
 
922
#define CLOCK_PULSE                     0x00000008ul    /* For ICS2595 */
 
923
#define CLOCK_SELECT                    0x0000000ful
 
924
#define CLOCK_DIVIDER                   0x00000030ul
 
925
#define CLOCK_STROBE                    0x00000040ul
 
926
#define CLOCK_DATA                      0x00000080ul
 
927
/*      ?                               0x00000100ul */
 
928
#define PLL_WR_EN                       0x00000200ul    /* For internal PLL */
 
929
#define PLL_ADDR                        0x0000fc00ul    /* For internal PLL */
 
930
#define PLL_DATA                        0x00ff0000ul    /* For internal PLL */
 
931
/*      ?                               0xff000000ul */
 
932
#define CONFIG_STAT64_1         BlockIOTag(0x25u)       /* GTPro */
 
933
#define CFG_SUBSYS_DEV_ID               0x000000fful
 
934
#define CFG_SUBSYS_VEN_ID               0x00ffff00ul
 
935
/*      ?                               0x1f000000ul */
 
936
#define CFG_DIMM_TYPE                   0xe0000000ul
 
937
#define CFG_PCI_SUBSYS_DEV_ID           0x0000fffful    /* XC/XL */
 
938
#define CFG_PCI_SUBSYS_VEN_ID           0xffff0000ul    /* XC/XL */
 
939
#define CONFIG_STAT64_2         BlockIOTag(0x26u)       /* GTPro */
 
940
#define CFG_DIMM_TYPE_3                 0x00000001ul
 
941
/*      ?                               0x0000001eul */
 
942
#define CFG_ROMWRTEN                    0x00000020ul
 
943
#define CFG_AGPVCOGAIN                  0x000000c0ul
 
944
#define CFG_PCI_TYPE                    0x00000100ul
 
945
#define CFG_AGPSKEW                     0x00000e00ul
 
946
#define CFG_X1CLKSKEW                   0x00007000ul
 
947
#define CFG_PANEL_ID_P                  0x000f8000ul    /* LTPro */
 
948
/*      ?                               0x00100000ul */
 
949
#define CFG_PREFETCH_EN                 0x00200000ul
 
950
#define CFG_ID_DISABLE                  0x00400000ul
 
951
#define CFG_PRE_TESTEN                  0x00800000ul
 
952
/*      ?                               0x01000000ul */
 
953
#define CFG_PCI5VEN                     0x02000000ul    /* LTPro */
 
954
#define CFG_VGA_DISABLE                 0x04000000ul
 
955
#define CFG_ENINTB                      0x08000000ul
 
956
/*      ?                               0x10000000ul */
 
957
#define CFG_ROM_REMAP_2                 0x20000000ul
 
958
#define CFG_IDSEL                       0x40000000ul
 
959
/*      ?                               0x80000000ul */
 
960
#define TV_OUT_DATA             BlockIOTag(0x27u)       /* LTPro */
 
961
#define BUS_CNTL                IOPortTag(0x13u, 0x28u)
 
962
#define BUS_WS                          0x0000000ful
 
963
#define BUS_DBL_RESYNC                  0x00000001ul    /* VTB/GTB/LT */
 
964
#define BUS_MSTR_RESET                  0x00000002ul    /* VTB/GTB/LT */
 
965
#define BUS_FLUSH_BUF                   0x00000004ul    /* VTB/GTB/LT */
 
966
#define BUS_STOP_REQ_DIS                0x00000008ul    /* VTB/GTB/LT */
 
967
#define BUS_ROM_WS                      0x000000f0ul
 
968
#define BUS_APER_REG_DIS                0x00000010ul    /* VTB/GTB/LT */
 
969
#define BUS_EXTRA_PIPE_DIS              0x00000020ul    /* VTB/GTB/LT */
 
970
#define BUS_MASTER_DIS                  0x00000040ul    /* VTB/GTB/LT */
 
971
#define BUS_ROM_WRT_EN                  0x00000080ul    /* GTPro */
 
972
#define BUS_ROM_PAGE                    0x00000f00ul
 
973
#define BUS_MINOR_REV_ID                0x00000700ul    /* LTPro */
 
974
/*              First silicom - Prototype (A11) 0x00000000ul */
 
975
/*              Metal mask spin (A12 & A13)     0x00000100ul */
 
976
/*              All layer spin (A21)            0x00000200ul */
 
977
/*              Fast metal spin (A22) - Prod.   0x00000300ul */
 
978
/*              All layer spin (A31)            0x00000700ul */
 
979
/*      ?                               0x00000800ul */ /* LTPro */
 
980
#define BUS_CHIP_HIDDEN_REV             0x00000300ul    /* XC/XL */
 
981
/*      ?                               0x00001c00ul */ /* XC/XL */
 
982
#define BUS_ROM_DIS                     0x00001000ul
 
983
#define BUS_IO_16_EN                    0x00002000ul    /* GX */
 
984
#define BUS_PCI_READ_RETRY_EN           0x00002000ul    /* VTB/GTB/LT */
 
985
#define BUS_DAC_SNOOP_EN                0x00004000ul
 
986
#define BUS_PCI_RETRY_EN                0x00008000ul    /* VT/GT */
 
987
#define BUS_PCI_WRT_RETRY_EN            0x00008000ul    /* VTB/GTB/LT */
 
988
#define BUS_FIFO_WS                     0x000f0000ul
 
989
#define BUS_RETRY_WS                    0x000f0000ul    /* VTB/GTB/LT */
 
990
#define BUS_FIFO_ERR_INT_EN             0x00100000ul
 
991
#define BUS_MSTR_RD_MULT                0x00100000ul    /* VTB/GTB/LT */
 
992
#define BUS_FIFO_ERR_INT                0x00200000ul
 
993
#define BUS_MSTR_RD_LINE                0x00200000ul    /* VTB/GTB/LT */
 
994
#define BUS_HOST_ERR_INT_EN             0x00400000ul
 
995
#define BUS_SUSPEND                     0x00400000ul    /* GTPro */
 
996
#define BUS_HOST_ERR_INT                0x00800000ul
 
997
#define BUS_LAT16X                      0x00800000ul    /* GTPro */
 
998
#define BUS_PCI_DAC_WS                  0x07000000ul
 
999
#define BUS_RD_DISCARD_EN               0x01000000ul    /* VTB/GTB/LT */
 
1000
#define BUS_RD_ABORT_EN                 0x02000000ul    /* VTB/GTB/LT */
 
1001
#define BUS_MSTR_WS                     0x04000000ul    /* VTB/GTB/LT */
 
1002
#define BUS_PCI_DAC_DLY                 0x08000000ul
 
1003
#define BUS_EXT_REG_EN                  0x08000000ul    /* VT/GT */
 
1004
#define BUS_PCI_MEMW_WS                 0x10000000ul
 
1005
#define BUS_MSTR_DISCONNECT_EN          0x10000000ul    /* VTB/GTB/LT */
 
1006
#define BUS_PCI_BURST_DEC               0x20000000ul    /* GX/CX */
 
1007
#define BUS_BURST                       0x20000000ul    /* 264xT */
 
1008
#define BUS_WRT_BURST                   0x20000000ul    /* VTB/GTB/LT */
 
1009
#define BUS_RDY_READ_DLY                0xc0000000ul
 
1010
#define BUS_READ_BURST                  0x40000000ul    /* VTB/GTB/LT */
 
1011
#define BUS_RDY_READ_DLY_B              0x80000000ul    /* VTB/GTB/LT */
 
1012
#define LCD_INDEX               BlockIOTag(0x29u)       /* LTPro */
 
1013
#define LCD_REG_INDEX                   0x0000003ful
 
1014
/*      ?                               0x000000c0ul */
 
1015
#define LCD_DISPLAY_DIS                 0x00000100ul
 
1016
#define LCD_SRC_SEL                     0x00000200ul
 
1017
#define LCD_SRC_SEL_CRTC1                       0x00000000ul
 
1018
#define LCD_SRC_SEL_CRTC2                       0x00000200ul
 
1019
#define LCD_CRTC2_DISPLAY_DIS           0x00000400ul
 
1020
#define LCD_GUI_ACTIVE                  0x00000800ul    /* XC/XL */
 
1021
/*      ?                               0x00fff000ul */
 
1022
#define LCD_MONDET_SENSE                0x01000000ul    /* XC/XL */
 
1023
#define LCD_MONDET_INT_POL              0x02000000ul    /* XC/XL */
 
1024
#define LCD_MONDET_INT_EN               0x04000000ul    /* XC/XL */
 
1025
#define LCD_MONDET_INT                  0x08000000ul    /* XC/XL */
 
1026
#define LCD_MONDET_EN                   0x10000000ul    /* XC/XL */
 
1027
#define LCD_EN_PL                       0x20000000ul    /* XC/XL */
 
1028
/*      ?                               0xc0000000ul */
 
1029
#define HFB_PITCH_ADDR          BlockIOTag(0x2au)       /* LT */
 
1030
#define LCD_DATA                BlockIOTag(0x2au)       /* LTPro */
 
1031
#define EXT_MEM_CNTL            BlockIOTag(0x2bu)       /* VTB/GTB/LT */
 
1032
#define MEM_CNTL                IOPortTag(0x14u, 0x2cu)
 
1033
#define CTL_MEM_SIZE                    0x00000007ul
 
1034
/*      ?                               0x00000008ul */
 
1035
#define CTL_MEM_REFRESH                 0x00000078ul    /* VT/GT */
 
1036
#define CTL_MEM_SIZEB                   0x0000000ful    /* VTB/GTB/LT */
 
1037
#define CTL_MEM_RD_LATCH_EN             0x00000010ul
 
1038
#define CTL_MEM_RD_LATCH_DLY            0x00000020ul
 
1039
#define CTL_MEM_LATENCY                 0x00000030ul    /* VTB/GTB/LT */
 
1040
#define CTL_MEM_SD_LATCH_EN             0x00000040ul
 
1041
#define CTL_MEM_SD_LATCH_DLY            0x00000080ul
 
1042
#define CTL_MEM_LATCH                   0x000000c0ul    /* VTB/GTB/LT */
 
1043
#define CTL_MEM_WDOE_CNTL               0x000000c0ul    /* XC/XL */
 
1044
#define CTL_MEM_FULL_PLS                0x00000100ul
 
1045
#define CTL_MEM_CYC_LNTH_AUX            0x00000180ul    /* VT/GT */
 
1046
#define CTL_MEM_TRP                     0x00000300ul    /* VTB/GTB/LT */
 
1047
#define CTL_MEM_CYC_LNTH                0x00000600ul
 
1048
#define CTL_MEM_REFRESH_RATE            0x00001800ul    /* 264xT */
 
1049
#define CTL_MEM_TRCD                    0x00000c00ul    /* VTB/GTB/LT */
 
1050
#define CTL_MEM_WR_RDY_SEL              0x00000800ul    /* GX/CX */
 
1051
#define CTL_MEM_EXT_RMW_CYC_EN          0x00001000ul    /* GX/CX */
 
1052
#define CTL_MEM_TCRD                    0x00001000ul    /* VTB/GTB/LT */
 
1053
#define CTL_MEM_DLL_RESET               0x00002000ul    /* VT/GT */
 
1054
#define CTL_MEM_TR2W                    0x00002000ul    /* GTPro */
 
1055
#define CTL_MEM_ACTV_PRE                0x0000c000ul    /* VT/GT */
 
1056
#define CTL_MEM_CAS_PHASE               0x00004000ul    /* GTPro */
 
1057
#define CTL_MEM_OE_PULLBACK             0x00008000ul    /* GTPro */
 
1058
#define CTL_MEM_TWR                     0x0000c000ul    /* XC/XL */
 
1059
#define CTL_MEM_BNDRY                   0x00030000ul
 
1060
#define CTL_MEM_BNDRY_0K                        0x00000000ul
 
1061
#define CTL_MEM_BNDRY_256K                      0x00010000ul
 
1062
#define CTL_MEM_BNDRY_512K                      0x00020000ul
 
1063
#define CTL_MEM_BNDRY_1024K                     0x00030000ul
 
1064
#define CTL_MEM_DLL_GAIN_CNTL           0x00030000ul    /* VT/GT */
 
1065
#define CTL_MEM_BNDRY_EN                0x00040000ul
 
1066
#define CTL_MEM_SDRAM_RESET             0x00040000ul    /* VT/GT */
 
1067
#define CTL_MEM_TRAS                    0x00070000ul    /* VTB/GTB/LT */
 
1068
#define CTL_MEM_TILE_SELECT             0x00180000ul    /* VT/GT */
 
1069
#define CTL_MEM_REFRESH_DIS             0x00080000ul    /* VTB/GTB/LT */
 
1070
#define CTL_MEM_LOW_LATENCY_MODE        0x00200000ul    /* VT/GT */
 
1071
#define CTL_MEM_CDE_PULLBACK            0x00400000ul    /* VT/GT */
 
1072
#define CTL_MEM_REFRESH_RATE_B          0x00f00000ul    /* VTB/GTB/LT */
 
1073
#define CTL_MEM_PIX_WIDTH               0x07000000ul
 
1074
#define CTL_MEM_LOWER_APER_ENDIAN       0x03000000ul    /* VTB/GTB/LT */
 
1075
#define CTL_MEM_OE_SELECT               0x18000000ul    /* VT/GT */
 
1076
#define CTL_MEM_UPPER_APER_ENDIAN       0x0c000000ul    /* VTB/GTB/LT */
 
1077
/*      ?                               0xe0000000ul */
 
1078
#define CTL_MEM_PAGE_SIZE               0x30000000ul    /* VTB/GTB/LT */
 
1079
#define MEM_VGA_WP_SEL          IOPortTag(0x15u, 0x2du)
 
1080
#define MEM_VGA_WPS0                    0x0000fffful
 
1081
#define MEM_VGA_WPS1                    0xffff0000ul
 
1082
#define MEM_VGA_RP_SEL          IOPortTag(0x16u, 0x2eu)
 
1083
#define MEM_VGA_RPS0                    0x0000fffful
 
1084
#define MEM_VGA_RPS1                    0xffff0000ul
 
1085
#define LT_GIO                  BlockIOTag(0x2fu)       /* LT */
 
1086
#define I2C_CNTL_1              BlockIOTag(0x2fu)       /* GTPro */
 
1087
#define I2C_DATA_PORT                   0x000000fful
 
1088
#define I2C_DATA_COUNT                  0x0000ff00ul
 
1089
#define I2C_ADDR_COUNT                  0x00070000ul
 
1090
/*      ?                               0x00380000ul */
 
1091
#define I2C_SEL                         0x00400000ul
 
1092
/*      ?                               0x00800000ul */
 
1093
#define I2C_TIME_LIMIT                  0xff000000ul
 
1094
#define DAC_REGS                IOPortTag(0x17u, 0x30u) /* 4 separate bytes */
 
1095
#define M64_DAC_WRITE                   (DAC_REGS + 0)
 
1096
#define M64_DAC_DATA                    (DAC_REGS + 1)
 
1097
#define M64_DAC_MASK                    (DAC_REGS + 2)
 
1098
#define M64_DAC_READ                    (DAC_REGS + 3)
 
1099
#define DAC_CNTL                IOPortTag(0x18u, 0x31u)
 
1100
#define DAC_EXT_SEL                     0x00000003ul
 
1101
#define DAC_EXT_SEL_RS2                         0x000000001ul
 
1102
#define DAC_EXT_SEL_RS3                         0x000000002ul
 
1103
#define DAC_RANGE_CTL                   0x00000003ul    /* VTB/GTB/LT */
 
1104
#define DAC_BLANKING                    0x00000004ul    /* 264xT */
 
1105
#define DAC_CMP_DIS                     0x00000008ul    /* 264xT */
 
1106
#define DAC1_CLK_SEL                    0x00000010ul    /* LTPro */
 
1107
#define DAC_PALETTE_ACCESS_CNTL         0x00000020ul    /* LTPro */
 
1108
#define DAC_PALETTE2_SNOOP_EN           0x00000040ul    /* LTPro */
 
1109
#define DAC_CMP_OUTPUT                  0x00000080ul    /* 264xT */
 
1110
#define DAC_8BIT_EN                     0x00000100ul
 
1111
#define DAC_PIX_DLY                     0x00000600ul
 
1112
#define DAC_DIRECT                      0x00000400ul    /* VTB/GTB/LT */
 
1113
#define DAC_BLANK_ADJ                   0x00001800ul
 
1114
#define DAC_PAL_CLK_SEL                 0x00000800ul    /* VTB/GTB/LT */
 
1115
#define DAC_CRT_SENSE                   0x00000800ul    /* XC/XL */
 
1116
#define DAC_CRT_DETECTION_ON            0x00001000ul    /* XC/XL */
 
1117
#define DAC_VGA_ADR_EN                  0x00002000ul
 
1118
#define DAC_FEA_CON_EN                  0x00004000ul    /* 264xT */
 
1119
#define DAC_PDMN                        0x00008000ul    /* 264xT */
 
1120
#define DAC_TYPE                        0x00070000ul
 
1121
/*      ?                               0x00f80000ul */
 
1122
#define DAC_MON_ID_STATE0               0x01000000ul    /* GX-E+/CX */
 
1123
#define DAC_GIO_STATE_1                 0x01000000ul    /* 264xT */
 
1124
#define DAC_MON_ID_STATE1               0x02000000ul    /* GX-E+/CX */
 
1125
#define DAC_GIO_STATE_0                 0x02000000ul    /* 264xT */
 
1126
#define DAC_MON_ID_STATE2               0x04000000ul    /* GX-E+/CX */
 
1127
#define DAC_GIO_STATE_4                 0x04000000ul    /* 264xT */
 
1128
#define DAC_MON_ID_DIR0                 0x08000000ul    /* GX-E+/CX */
 
1129
#define DAC_GIO_DIR_1                   0x08000000ul    /* 264xT */
 
1130
#define DAC_MON_ID_DIR1                 0x10000000ul    /* GX-E+/CX */
 
1131
#define DAC_GIO_DIR_0                   0x10000000ul    /* 264xT */
 
1132
#define DAC_MON_ID_DIR2                 0x20000000ul    /* GX-E+/CX */
 
1133
#define DAC_GIO_DIR_4                   0x20000000ul    /* 264xT */
 
1134
#define DAC_MAN_CMP_STATE               0x40000000ul    /* GX-E+ */
 
1135
#define DAC_RW_WS                       0x80000000ul    /* VT/GT */
 
1136
#define HORZ_STRETCHING         BlockIOTag(0x32u)       /* LT */
 
1137
#define HORZ_STRETCH_BLEND              0x00000ffful
 
1138
#define HORZ_STRETCH_RATIO              0x0000fffful
 
1139
#define HORZ_STRETCH_LOOP               0x00070000ul
 
1140
#define HORZ_STRETCH_LOOP09                     0x00000000ul
 
1141
#define HORZ_STRETCH_LOOP11                     0x00010000ul
 
1142
#define HORZ_STRETCH_LOOP12                     0x00020000ul
 
1143
#define HORZ_STRETCH_LOOP14                     0x00030000ul
 
1144
#define HORZ_STRETCH_LOOP15                     0x00040000ul
 
1145
/*      ?                                       0x00050000ul */
 
1146
/*      ?                                       0x00060000ul */
 
1147
/*      ?                                       0x00070000ul */
 
1148
/*      ?                               0x00080000ul */
 
1149
#define HORZ_PANEL_SIZE                 0x0ff00000ul    /* XC/XL */
 
1150
/*      ?                               0x10000000ul */
 
1151
#define AUTO_HORZ_RATIO                 0x20000000ul    /* XC/XL */
 
1152
#define HORZ_STRETCH_MODE               0x40000000ul
 
1153
#define HORZ_STRETCH_EN                 0x80000000ul
 
1154
#define EXT_DAC_REGS            BlockIOTag(0x32u)       /* GTPro */
 
1155
#define EXT_DAC_REG_SEL                 0x0000000ful
 
1156
/*      ?                               0x000000f0ul */
 
1157
#define EXT_DAC_DATA                    0x0000ff00ul
 
1158
#define EXT_DAC_EN                      0x00010000ul
 
1159
#define EXT_DAC_WID                     0x00020000ul
 
1160
/*      ?                               0xfffc0000ul */
 
1161
#define VERT_STRETCHING         BlockIOTag(0x33u)       /* LT */
 
1162
#define VERT_STRETCH_RATIO0             0x000003fful
 
1163
#define VERT_STRETCH_RATIO1             0x000ffc00ul
 
1164
#define VERT_STRETCH_RATIO2             0x3ff00000ul
 
1165
#define VERT_STRETCH_USE0               0x40000000ul
 
1166
#define VERT_STRETCH_EN                 0x80000000ul
 
1167
#define GEN_TEST_CNTL           IOPortTag(0x19u, 0x34u)
 
1168
#define GEN_EE_DATA_OUT                 0x00000001ul    /* GX/CX */
 
1169
#define GEN_GIO2_DATA_OUT               0x00000001ul    /* 264xT */
 
1170
#define GEN_EE_CLOCK                    0x00000002ul    /* GX/CX */
 
1171
/*      ?                               0x00000002ul */ /* 264xT */
 
1172
#define GEN_EE_CHIP_SEL                 0x00000004ul    /* GX/CX */
 
1173
#define GEN_GIO3_DATA_OUT               0x00000004ul    /* 264xT */
 
1174
#define GEN_EE_DATA_IN                  0x00000008ul    /* GX/CX */
 
1175
#define GEN_GIO2_DATA_IN                0x00000008ul    /* 264xT */
 
1176
#define GEN_EE_EN                       0x00000010ul    /* GX/CX */
 
1177
#define GEN_GIO2_ENABLE                 0x00000010ul    /* 264xT */
 
1178
#define GEN_ICON2_ENABLE                0x00000010ul    /* XC/XL */
 
1179
#define GEN_OVR_OUTPUT_EN               0x00000020ul    /* GX/CX */
 
1180
#define GEN_GIO2_WRITE                  0x00000020ul    /* 264xT */
 
1181
#define GEN_CUR2_ENABLE                 0x00000020ul    /* XC/XL */
 
1182
#define GEN_OVR_POLARITY                0x00000040ul    /* GX/CX */
 
1183
#define GEN_ICON_ENABLE                 0x00000040ul    /* XC/XL */
 
1184
#define GEN_CUR_EN                      0x00000080ul
 
1185
#define GEN_GUI_EN                      0x00000100ul    /* GX/CX */
 
1186
#define GEN_GUI_RESETB                  0x00000100ul    /* 264xT */
 
1187
#define GEN_BLOCK_WR_EN                 0x00000200ul    /* GX */
 
1188
/*      ?                               0x00000200ul */ /* CX/264xT */
 
1189
#define GEN_SOFT_RESET                  0x00000200ul    /* VTB/GTB/LT */
 
1190
#define GEN_MEM_TRISTATE                0x00000400ul    /* GTPro */
 
1191
/*      ?                               0x00000800ul */
 
1192
#define GEN_TEST_VECT_MODE              0x00003000ul    /* VT/GT */
 
1193
/*      ?                               0x0000c000ul */
 
1194
#define GEN_TEST_FIFO_EN                0x00010000ul    /* GX/CX */
 
1195
#define GEN_TEST_GUI_REGS_EN            0x00020000ul    /* GX/CX */
 
1196
#define GEN_TEST_VECT_EN                0x00040000ul    /* GX/CX */
 
1197
#define GEN_TEST_CRC_STR                0x00080000ul    /* GX-C/-D */
 
1198
/*      ?                               0x00080000ul */ /* GX-E+/CX */
 
1199
#define GEN_TEST_MODE_T                 0x000f0000ul    /* 264xT */
 
1200
#define GEN_TEST_MODE                   0x00700000ul    /* GX/CX */
 
1201
#define GEN_TEST_CNT_EN                 0x00100000ul    /* 264xT */
 
1202
#define GEN_TEST_CRC_EN                 0x00200000ul    /* 264xT */
 
1203
/*      ?                               0x00400000ul */ /* 264xT */
 
1204
/*      ?                               0x00800000ul */
 
1205
#define GEN_TEST_MEM_WR                 0x01000000ul    /* GX-C/-D */
 
1206
#define GEN_TEST_MEM_STROBE             0x02000000ul    /* GX-C/-D */
 
1207
#define GEN_TEST_DST_SS_EN              0x04000000ul    /* GX/CX */
 
1208
#define GEN_TEST_DST_SS_STROBE          0x08000000ul    /* GX/CX */
 
1209
#define GEN_TEST_SRC_SS_EN              0x10000000ul    /* GX/CX */
 
1210
#define GEN_TEST_SRC_SS_STROBE          0x20000000ul    /* GX/CX */
 
1211
#define GEN_TEST_CNT_VALUE              0x3f000000ul    /* 264xT */
 
1212
#define GEN_TEST_CC_EN                  0x40000000ul    /* GX/CX */
 
1213
#define GEN_TEST_CC_STROBE              0x80000000ul    /* GX/CX */
 
1214
/*      ?                               0xc0000000ul */ /* 264xT */
 
1215
#define GEN_DEBUG_MODE                  0xff000000ul    /* VTB/GTB/LT */
 
1216
#define LCD_GEN_CTRL            BlockIOTag(0x35u)       /* LT */
 
1217
#define CRT_ON                          0x00000001ul
 
1218
#define LCD_ON                          0x00000002ul
 
1219
#define HORZ_DIVBY2_EN                  0x00000004ul
 
1220
#define TRISTATE_MEM_EN                 0x00000008ul
 
1221
#define DONT_DS_ICON                    0x00000008ul    /* LTPro */
 
1222
#define LOCK_8DOT                       0x00000010ul
 
1223
#define ICON_ENABLE                     0x00000020ul
 
1224
#define DONT_SHADOW_VPAR                0x00000040ul
 
1225
#define TOGGLE_EN                       0x00000080ul
 
1226
#define V2CLK_PM_EN                     0x00000080ul    /* LTPro */
 
1227
#define RST_FM                          0x00000100ul
 
1228
#define DISABLE_PCLK_RESET              0x00000200ul    /* XC/XL */
 
1229
#define DIS_HOR_CRT_DIVBY2              0x00000400ul
 
1230
#define SCLK_SEL                        0x00000800ul
 
1231
#define SCLK_DELAY                      0x0000f000ul
 
1232
#define MCLK_PM_EN                      0x00010000ul
 
1233
#define TVCLK_PM_EN                     0x00010000ul    /* LTPro */
 
1234
#define VCLK_DAC_PM_EN                  0x00020000ul
 
1235
#define VCLK_LCD_OFF                    0x00040000ul
 
1236
#define SLOWDOWN_XMCLK                  0x00080000ul
 
1237
#define SELECT_WAIT_4MS                 0x00080000ul    /* LTPro */
 
1238
#define XTALIN_PM_EN                    0x00080000ul    /* XC/XL */
 
1239
#define LCD_CLK_RATIO                   0x00100000ul
 
1240
#define V2CLK_DAC_PM_EN                 0x00100000ul    /* LTPro */
 
1241
#define LVDS_EN                         0x00200000ul
 
1242
#define LVDS_PLL_EN                     0x00400000ul
 
1243
#define LVDS_PLL_RESET                  0x00800000ul
 
1244
#define LVDS_RESERVED_BITS              0x07000000ul
 
1245
#define CRTC_RW_SELECT                  0x08000000ul    /* LTPro */
 
1246
#define USE_SHADOWED_VEND               0x10000000ul
 
1247
#define USE_SHADOWED_ROWCUR             0x20000000ul
 
1248
#define SHADOW_EN                       0x40000000ul
 
1249
#define SHADOW_RW_EN                    0x80000000ul
 
1250
#define CUSTOM_MACRO_CNTL       BlockIOTag(0x35u)       /* GTPro */
 
1251
#define POWER_MANAGEMENT        BlockIOTag(0x36u)       /* LT */
 
1252
#define PWR_MGT_ON                      0x00000001ul
 
1253
#define PWR_MGT_MODE                    0x00000006ul
 
1254
#define AUTO_PWRUP_EN                   0x00000008ul
 
1255
#define ACTIVITY_PIN_ON                 0x00000010ul
 
1256
#define STANDBY_POL                     0x00000020ul
 
1257
#define SUSPEND_POL                     0x00000040ul
 
1258
#define SELF_REFRESH                    0x00000080ul
 
1259
#define ACTIVITY_PIN_EN                 0x00000100ul
 
1260
#define KEYBD_SNOOP                     0x00000200ul
 
1261
#define USE_F32KHZ                      0x00000400ul    /* LTPro */
 
1262
#define DONT_USE_XTALIN                 0x00000400ul    /* XC/XL */
 
1263
#define TRISTATE_MEM_EN_P               0x00000800ul    /* LTPro */
 
1264
#define LCDENG_TEST_MODE                0x0000f000ul
 
1265
#define STANDBY_COUNT                   0x000f0000ul
 
1266
#define SUSPEND_COUNT                   0x00f00000ul
 
1267
#define BAISON                          0x01000000ul
 
1268
#define BLON                            0x02000000ul
 
1269
#define DIGON                           0x04000000ul
 
1270
#define PM_D3_SUPPORT_ENABLE            0x08000000ul    /* XC/XL */
 
1271
#define STANDBY_NOW                     0x10000000ul
 
1272
#define SUSPEND_NOW                     0x20000000ul
 
1273
#define PWR_MGT_STATUS                  0xc0000000ul
 
1274
#define CONFIG_CNTL             IOPortTag(0x1au, 0x37u)
 
1275
#define CFG_MEM_AP_SIZE                 0x00000003ul
 
1276
#define CFG_MEM_VGA_AP_EN               0x00000004ul
 
1277
/*      ?                               0x00000008ul */
 
1278
#define CFG_MEM_AP_LOC                  0x00003ff0ul
 
1279
/*      ?                               0x0000c000ul */
 
1280
#define CFG_CARD_ID                     0x00070000ul
 
1281
#define CFG_VGA_DIS                     0x00080000ul
 
1282
/*      ?                               0x00f00000ul */
 
1283
#define CFG_CDE_WINDOW                  0x3f000000ul    /* VT/GT */
 
1284
/*      ?                               0xc0000000ul */
 
1285
#define CONFIG_CHIP_ID          IOPortTag(0x1bu, 0x38u) /* Read */
 
1286
#define CFG_CHIP_TYPE0                  0x000000fful
 
1287
#define CFG_CHIP_TYPE1                  0x0000ff00ul
 
1288
#define CFG_CHIP_TYPE                   0x0000fffful
 
1289
#define CFG_CHIP_CLASS                  0x00ff0000ul
 
1290
#define CFG_CHIP_REV                    0xff000000ul
 
1291
#define CFG_CHIP_VERSION                0x07000000ul    /* 264xT */
 
1292
#define CFG_CHIP_FOUNDRY                0x38000000ul    /* 264xT */
 
1293
#define CFG_CHIP_REVISION               0xc0000000ul    /* 264xT */
 
1294
#define CONFIG_STATUS64_0       IOPortTag(0x1cu, 0x39u) /* Read (R/W (264xT)) */
 
1295
#define CFG_BUS_TYPE                    0x00000007ul    /* GX/CX */
 
1296
#define CFG_MEM_TYPE_T                  0x00000007ul    /* 264xT */
 
1297
#define CFG_MEM_TYPE                    0x00000038ul    /* GX/CX */
 
1298
#define CFG_DUAL_CAS_EN_T               0x00000008ul    /* 264xT */
 
1299
#define CFG_ROM_128K_EN                 0x00000008ul    /* VTB/GTB/LT */
 
1300
#define CFG_ROM_REMAP                   0x00000008ul    /* GTPro */
 
1301
#define CFG_VGA_EN_T                    0x00000010ul    /* VT/GT */
 
1302
#define CFG_CLOCK_EN                    0x00000020ul    /* 264xT */
 
1303
#define CFG_DUAL_CAS_EN                 0x00000040ul    /* GX/CX */
 
1304
#define CFG_VMC_SENSE                   0x00000040ul    /* VT/GT */
 
1305
#define CFG_SHARED_MEM_EN               0x00000040ul    /* VTB/GTB/LT */
 
1306
#define CFG_LOCAL_BUS_OPTION            0x00000180ul    /* GX/CX */
 
1307
#define CFG_VFC_SENSE                   0x00000080ul    /* VT/GT */
 
1308
#define CFG_INIT_DAC_TYPE               0x00000e00ul    /* GX/CX */
 
1309
#define CFG_INIT_CARD_ID                0x00007000ul    /* GX-C/-D */
 
1310
#define CFG_BLK_WR_SIZE                 0x00001000ul    /* GX-E+ */
 
1311
#define CFG_INT_QSF_EN                  0x00002000ul    /* GX-E+ */
 
1312
/*      ?                               0x00004000ul */ /* GX-E+ */
 
1313
/*      ?                               0x00007000ul */ /* CX */
 
1314
#define CFG_TRI_BUF_DIS                 0x00008000ul    /* GX/CX */
 
1315
#define CFG_BOARD_ID                    0x0000ff00ul    /* VT/GT */
 
1316
#define CFG_EXT_RAM_ADDR                0x003f0000ul    /* GX/CX */
 
1317
#define CFG_PANEL_ID                    0x001f0000ul    /* LT */
 
1318
#define CFG_MACROVISION_EN              0x00200000ul    /* GTPro */
 
1319
#define CFG_ROM_DIS                     0x00400000ul    /* GX/CX */
 
1320
#define CFG_PCI33EN                     0x00400000ul    /* GTPro */
 
1321
#define CFG_VGA_EN                      0x00800000ul    /* GX/CX */
 
1322
#define CFG_FULLAGP                     0x00800000ul    /* GTPro */
 
1323
#define CFG_ARITHMOS_ENABLE             0x00800000ul    /* XC/XL */
 
1324
#define CFG_LOCAL_BUS_CFG               0x01000000ul    /* GX/CX */
 
1325
#define CFG_CHIP_EN                     0x02000000ul    /* GX/CX */
 
1326
#define CFG_LOCAL_READ_DLY_DIS          0x04000000ul    /* GX/CX */
 
1327
#define CFG_ROM_OPTION                  0x08000000ul    /* GX/CX */
 
1328
#define CFG_BUS_OPTION                  0x10000000ul    /* GX/CX */
 
1329
#define CFG_LOCAL_DAC_WR_EN             0x20000000ul    /* GX/CX */
 
1330
#define CFG_VLB_RDY_DIS                 0x40000000ul    /* GX/CX */
 
1331
#define CFG_AP_4GBYTE_DIS               0x80000000ul    /* GX/CX */
 
1332
#define CONFIG_STATUS64_1       IOPortTag(0x1du, 0x3au) /* Read */
 
1333
#define CFG_PCI_DAC_CFG                 0x00000001ul    /* GX/CX */
 
1334
/*      ?                               0x0000001eul */ /* GX/CX */
 
1335
#define CFG_1C8_IO_SEL                  0x00000020ul    /* GX/CX */
 
1336
/*      ?                               0xffffffc0ul */ /* GX/CX */
 
1337
#define CRC_SIG                         0xfffffffful    /* 264xT */
 
1338
#define MPP_CONFIG              BlockIOTag(0x3bu)       /* VTB/GTB/LT */
 
1339
#define MPP_PRESCALE                    0x00000007ul
 
1340
/*      ?                               0x00000008ul */
 
1341
#define MPP_NSTATES                     0x00000030ul
 
1342
/*      ?                                       0x00000000ul */
 
1343
#define MPP_NSTATES_2                           0x00000010ul
 
1344
#define MPP_NSTATES_4                           0x00000020ul
 
1345
#define MPP_NSTATES_8                           0x00000030ul
 
1346
#define MPP_FORMAT                      0x000000c0ul
 
1347
#define MPP_FORMAT_DO8                          0x00000000ul
 
1348
#define MPP_FORMAT_DO16                         0x00000040ul
 
1349
#define MPP_FORMAT_DA8                          0x00000080ul
 
1350
#define MPP_FORMAT_DA16                         0x000000c0ul
 
1351
#define MPP_WAIT_STATE                  0x00000700ul
 
1352
#define MPP_CHKRDY_EN                   0x00000800ul
 
1353
#define MPP_INSERT_WAIT                 0x00001000ul
 
1354
#define MPP_TRISTATE_ADDR               0x00002000ul
 
1355
/*      ?                               0x00004000ul */
 
1356
#define MPP_READ_EARLY                  0x00008000ul
 
1357
#define MPP_RW_MODE                     0x00030000ul
 
1358
#define MPP_INT_MASK                    0x000c0000ul
 
1359
#define MPP_AUTO_INC_EN                 0x00300000ul
 
1360
#define MPP_CHKREQ_EN                   0x00400000ul
 
1361
#define MPP_CHKREQ_MODE                 0x00800000ul
 
1362
#define MPP_BUFFER_SIZE                 0x03000000ul
 
1363
#define MPP_BUFFER_MODE                 0x0c000000ul
 
1364
#define MPP_BUFFER_MODE_NORMAL                  0x00000000ul
 
1365
#define MPP_BUFFER_MODE_PREFETCH                0x04000000ul
 
1366
#define MPP_BUFFER_MODE_BUS_MASTER              0x08000000ul
 
1367
/*      ?                                       0x0c000000ul */
 
1368
/*      ?                               0x30000000ul */
 
1369
#define MPP_BUSY                        0x40000000ul
 
1370
#define MPP_EN                          0x80000000ul
 
1371
#define MPP_STROBE_SEQ          BlockIOTag(0x3cu)       /* VTB/GTB/LT */
 
1372
#define MPP_STB0_SEQ                    0x000000fful
 
1373
#define MPP_STB1_SEQ                    0x0000ff00ul
 
1374
/*      ?                               0xffff0000ul */
 
1375
#define MPP_ADDR                BlockIOTag(0x3du)       /* VTB/GTB/LT */
 
1376
#define MPP_DATA                BlockIOTag(0x3eu)       /* VTB/GTB/LT */
 
1377
#define TVO_CNTL                BlockIOTag(0x3fu)       /* VTB/GTB/LT */
 
1378
#define TVO_H_TOT_PIX                   0x00000007ul
 
1379
#define TVO_PC_OVR_DIS                  0x00000008ul
 
1380
#define TVO_H_TOT_EDGE                  0x00000010ul
 
1381
/*      ?                               0x00000060ul */
 
1382
#define TVO_VBLANK_ONLY                 0x00000080ul
 
1383
/*      ?                               0x0000ff00ul */
 
1384
#define TVO_MPEG_CLR_SRC                0x00030000ul
 
1385
/*      ?                               0x1ffc0000ul */
 
1386
#define TVO_MPEG_CLK_EN                 0x20000000ul
 
1387
#define TVO_OVERRIDE_EN                 0x40000000ul
 
1388
#define TVO_EN                          0x80000000ul
 
1389
/*      GP_IO                   IOPortTag(0x1eu, 0x1eu) */      /* See above */
 
1390
/*      CRTC_H_TOTAL_DISP       IOPortTag(0x1fu, 0x00u) */      /* Duplicate */
 
1391
#define DST_OFF_PITCH           BlockIOTag(0x40u)
 
1392
#define DST_OFFSET                      0x000ffffful
 
1393
/*      ?                               0x00300000ul */
 
1394
#define DST_PITCH                       0xffc00000ul
 
1395
#define DST_X                   BlockIOTag(0x41u)
 
1396
#define DST_Y                   BlockIOTag(0x42u)
 
1397
#define DST_Y_X                 BlockIOTag(0x43u)
 
1398
#define DST_WIDTH               BlockIOTag(0x44u)
 
1399
#define DST_HEIGHT              BlockIOTag(0x45u)
 
1400
#define DST_HEIGHT_WIDTH        BlockIOTag(0x46u)
 
1401
#define DST_X_WIDTH             BlockIOTag(0x47u)
 
1402
#define DST_BRES_LNTH           BlockIOTag(0x48u)
 
1403
#define DST_BRES_ERR            BlockIOTag(0x49u)
 
1404
#define DST_BRES_INC            BlockIOTag(0x4au)
 
1405
#define DST_BRES_DEC            BlockIOTag(0x4bu)
 
1406
#define DST_CNTL                BlockIOTag(0x4cu)
 
1407
#define DST_X_DIR                       0x00000001ul
 
1408
#define DST_Y_DIR                       0x00000002ul
 
1409
#define DST_Y_MAJOR                     0x00000004ul
 
1410
#define DST_X_TILE                      0x00000008ul
 
1411
#define DST_Y_TILE                      0x00000010ul
 
1412
#define DST_LAST_PEL                    0x00000020ul
 
1413
#define DST_POLYGON_EN                  0x00000040ul
 
1414
#define DST_24_ROT_EN                   0x00000080ul
 
1415
#define DST_24_ROT                      0x00000700ul
 
1416
#define DST_BRES_SIGN                   0x00000800ul    /* GX/CX */
 
1417
#define DST_BRES_ZERO                   0x00000800ul    /* CT */
 
1418
#define DST_POLYGON_RTEDGE_DIS          0x00001000ul    /* CT */
 
1419
#define TRAIL_X_DIR                     0x00002000ul    /* GT */
 
1420
#define TRAP_FILL_DIR                   0x00004000ul    /* GT */
 
1421
#define TRAIL_BRES_SIGN                 0x00008000ul    /* GT */
 
1422
/*      ?                               0x00010000ul */
 
1423
#define BRES_SIGN_AUTO                  0x00020000ul    /* GT */
 
1424
/*      ?                               0x00040000ul */
 
1425
#define ALPHA_OVERLAP_ENB               0x00080000ul    /* GTPro */
 
1426
#define SUB_PIX_ON                      0x00100000ul    /* GTPro */
 
1427
/*      ?                               0xffe00000ul */
 
1428
/*      DST_Y_X                 BlockIOTag(0x4du) */    /* Duplicate */
 
1429
#define TRAIL_BRES_ERR          BlockIOTag(0x4eu)       /* GT */
 
1430
#define TRAIL_BRES_INC          BlockIOTag(0x4fu)       /* GT */
 
1431
#define TRAIL_BRES_DEC          BlockIOTag(0x50u)       /* GT */
 
1432
#define LEAD_BRES_LNTH          BlockIOTag(0x51u)       /* GT */
 
1433
#define Z_OFF_PITCH             BlockIOTag(0x52u)       /* GT */
 
1434
#define Z_CNTL                  BlockIOTag(0x53u)       /* GT */
 
1435
#define ALPHA_TST_CNTL          BlockIOTag(0x54u)       /* GTPro */
 
1436
/*      ?                       BlockIOTag(0x55u) */
 
1437
#define SECONDARY_STW_EXP       BlockIOTag(0x56u)       /* GTPro */
 
1438
#define SECONDARY_S_X_INC       BlockIOTag(0x57u)       /* GTPro */
 
1439
#define SECONDARY_S_Y_INC       BlockIOTag(0x58u)       /* GTPro */
 
1440
#define SECONDARY_S_START       BlockIOTag(0x59u)       /* GTPro */
 
1441
#define SECONDARY_W_X_INC       BlockIOTag(0x5au)       /* GTPro */
 
1442
#define SECONDARY_W_Y_INC       BlockIOTag(0x5bu)       /* GTPro */
 
1443
#define SECONDARY_W_START       BlockIOTag(0x5cu)       /* GTPro */
 
1444
#define SECONDARY_T_X_INC       BlockIOTag(0x5du)       /* GTPro */
 
1445
#define SECONDARY_T_Y_INC       BlockIOTag(0x5eu)       /* GTPro */
 
1446
#define SECONDARY_T_START       BlockIOTag(0x5fu)       /* GTPro */
 
1447
#define SRC_OFF_PITCH           BlockIOTag(0x60u)
 
1448
#define SRC_OFFSET                      0x000ffffful
 
1449
/*      ?                               0x00300000ul */
 
1450
#define SRC_PITCH                       0xffc00000ul
 
1451
#define SRC_X                   BlockIOTag(0x61u)
 
1452
#define SRC_Y                   BlockIOTag(0x62u)
 
1453
#define SRC_Y_X                 BlockIOTag(0x63u)
 
1454
#define SRC_WIDTH1              BlockIOTag(0x64u)
 
1455
#define SRC_HEIGHT1             BlockIOTag(0x65u)
 
1456
#define SRC_HEIGHT1_WIDTH1      BlockIOTag(0x66u)
 
1457
#define SRC_X_START             BlockIOTag(0x67u)
 
1458
#define SRC_Y_START             BlockIOTag(0x68u)
 
1459
#define SRC_Y_X_START           BlockIOTag(0x69u)
 
1460
#define SRC_WIDTH2              BlockIOTag(0x6au)
 
1461
#define SRC_HEIGHT2             BlockIOTag(0x6bu)
 
1462
#define SRC_HEIGHT2_WIDTH2      BlockIOTag(0x6cu)
 
1463
#define SRC_CNTL                BlockIOTag(0x6du)
 
1464
#define SRC_PATT_EN                     0x00000001ul
 
1465
#define SRC_PATT_ROT_EN                 0x00000002ul
 
1466
#define SRC_LINEAR_EN                   0x00000004ul
 
1467
#define SRC_BYTE_ALIGN                  0x00000008ul
 
1468
#define SRC_LINE_X_DIR                  0x00000010ul
 
1469
#define SRC_8X8X8_BRUSH                 0x00000020ul    /* VTB/GTB */
 
1470
#define FAST_FILL_EN                    0x00000040ul    /* VTB/GTB */
 
1471
#define SRC_TRACK_DST                   0x00000080ul    /* VTB/GTB */
 
1472
#define BUS_MASTER_EN                   0x00000100ul    /* VTB/GTB */
 
1473
#define BUS_MASTER_SYNC                 0x00000200ul    /* VTB/GTB */
 
1474
#define BUS_MASTER_OP                   0x00000c00ul    /* VTB/GTB */
 
1475
#define SRC_8X8X8_BRUSH_LOADED          0x00001000ul    /* VTB/GTB */
 
1476
#define COLOR_REG_WRITE_EN              0x00002000ul    /* VTB/GTB */
 
1477
#define BLOCK_WRITE_EN                  0x00004000ul    /* VTB/GTB */
 
1478
/*      ?                               0xffff8000ul */
 
1479
/*      ?                       BlockIOTag(0x6eu) */
 
1480
/*      ?                       BlockIOTag(0x6fu) */
 
1481
#define SCALE_Y_OFF             BlockIOTag(0x70u)       /* GT */
 
1482
#define SCALE_OFF               BlockIOTag(0x70u)       /* GTPro */
 
1483
#define SECONDARY_SCALE_OFF     BlockIOTag(0x70u)       /* GTPro */
 
1484
#define TEX_0_OFF               BlockIOTag(0x70u)       /* GT */
 
1485
#define TEX_1_OFF               BlockIOTag(0x71u)       /* GT */
 
1486
#define TEX_2_OFF               BlockIOTag(0x72u)       /* GT */
 
1487
#define TEX_3_OFF               BlockIOTag(0x73u)       /* GT */
 
1488
#define TEX_4_OFF               BlockIOTag(0x74u)       /* GT */
 
1489
#define TEX_5_OFF               BlockIOTag(0x75u)       /* GT */
 
1490
#define TEX_6_OFF               BlockIOTag(0x76u)       /* GT */
 
1491
#define SCALE_WIDTH             BlockIOTag(0x77u)       /* GT */
 
1492
#define TEX_7_OFF               BlockIOTag(0x77u)       /* GT */
 
1493
#define SCALE_HEIGHT            BlockIOTag(0x78u)       /* GT */
 
1494
#define TEX_8_OFF               BlockIOTag(0x78u)       /* GT */
 
1495
#define TEX_9_OFF               BlockIOTag(0x79u)       /* GT */
 
1496
#define TEX_10_OFF              BlockIOTag(0x7au)       /* GT */
 
1497
#define S_Y_INC                 BlockIOTag(0x7bu)       /* GT */
 
1498
#define SCALE_Y_PITCH           BlockIOTag(0x7bu)       /* GT */
 
1499
#define SCALE_X_INC             BlockIOTag(0x7cu)       /* GT */
 
1500
#define RED_X_INC               BlockIOTag(0x7cu)       /* GT */
 
1501
#define GREEN_X_INC             BlockIOTag(0x7du)       /* GT */
 
1502
#define SCALE_Y_INC             BlockIOTag(0x7du)       /* GT */
 
1503
#define SCALE_VACC              BlockIOTag(0x7eu)       /* GT */
 
1504
#define SCALE_3D_CNTL           BlockIOTag(0x7fu)       /* GT */
 
1505
#define HOST_DATA_0             BlockIOTag(0x80u)
 
1506
#define HOST_DATA_1             BlockIOTag(0x81u)
 
1507
#define HOST_DATA_2             BlockIOTag(0x82u)
 
1508
#define HOST_DATA_3             BlockIOTag(0x83u)
 
1509
#define HOST_DATA_4             BlockIOTag(0x84u)
 
1510
#define HOST_DATA_5             BlockIOTag(0x85u)
 
1511
#define HOST_DATA_6             BlockIOTag(0x86u)
 
1512
#define HOST_DATA_7             BlockIOTag(0x87u)
 
1513
#define HOST_DATA_8             BlockIOTag(0x88u)
 
1514
#define HOST_DATA_9             BlockIOTag(0x89u)
 
1515
#define HOST_DATA_A             BlockIOTag(0x8au)
 
1516
#define HOST_DATA_B             BlockIOTag(0x8bu)
 
1517
#define HOST_DATA_C             BlockIOTag(0x8cu)
 
1518
#define HOST_DATA_D             BlockIOTag(0x8du)
 
1519
#define HOST_DATA_E             BlockIOTag(0x8eu)
 
1520
#define HOST_DATA_F             BlockIOTag(0x8fu)
 
1521
#define HOST_CNTL               BlockIOTag(0x90u)
 
1522
#define HOST_BYTE_ALIGN                 0x00000001ul
 
1523
#define HOST_BIG_ENDIAN_EN              0x00000002ul    /* GX-E/CT */
 
1524
/*      ?                               0xfffffffcul */
 
1525
#define BM_HOSTDATA             BlockIOTag(0x91u)       /* VTB/GTB */
 
1526
#define BM_ADDR                 BlockIOTag(0x92u)       /* VTB/GTB */
 
1527
#define BM_DATA                 BlockIOTag(0x92u)       /* VTB/GTB */
 
1528
#define BM_GUI_TABLE_CMD        BlockIOTag(0x93u)       /* GTPro */
 
1529
/*      ?                       BlockIOTag(0x94u) */
 
1530
/*      ?                       BlockIOTag(0x95u) */
 
1531
/*      ?                       BlockIOTag(0x96u) */
 
1532
/*      ?                       BlockIOTag(0x97u) */
 
1533
/*      ?                       BlockIOTag(0x98u) */
 
1534
/*      ?                       BlockIOTag(0x99u) */
 
1535
/*      ?                       BlockIOTag(0x9au) */
 
1536
/*      ?                       BlockIOTag(0x9bu) */
 
1537
/*      ?                       BlockIOTag(0x9cu) */
 
1538
/*      ?                       BlockIOTag(0x9du) */
 
1539
/*      ?                       BlockIOTag(0x9eu) */
 
1540
/*      ?                       BlockIOTag(0x9fu) */
 
1541
#define PAT_REG0                BlockIOTag(0xa0u)
 
1542
#define PAT_REG1                BlockIOTag(0xa1u)
 
1543
#define PAT_CNTL                BlockIOTag(0xa2u)
 
1544
#define PAT_MONO_EN                     0x00000001ul
 
1545
#define PAT_CLR_4x2_EN                  0x00000002ul
 
1546
#define PAT_CLR_8x1_EN                  0x00000004ul
 
1547
/*      ?                               0xfffffff8ul */
 
1548
/*      ?                       BlockIOTag(0xa3u) */
 
1549
/*      ?                       BlockIOTag(0xa4u) */
 
1550
/*      ?                       BlockIOTag(0xa5u) */
 
1551
/*      ?                       BlockIOTag(0xa6u) */
 
1552
/*      ?                       BlockIOTag(0xa7u) */
 
1553
#define SC_LEFT                 BlockIOTag(0xa8u)
 
1554
#define SC_RIGHT                BlockIOTag(0xa9u)
 
1555
#define SC_LEFT_RIGHT           BlockIOTag(0xaau)
 
1556
#define SC_TOP                  BlockIOTag(0xabu)
 
1557
#define SC_BOTTOM               BlockIOTag(0xacu)
 
1558
#define SC_TOP_BOTTOM           BlockIOTag(0xadu)
 
1559
#define USR1_DST_OFF_PITCH      BlockIOTag(0xaeu)       /* LTPro */
 
1560
#define USR2_DST_OFF_PITCH      BlockIOTag(0xafu)       /* LTPro */
 
1561
#define DP_BKGD_CLR             BlockIOTag(0xb0u)
 
1562
#define DP_FRGD_CLR             BlockIOTag(0xb1u)
 
1563
#define DP_WRITE_MASK           BlockIOTag(0xb2u)
 
1564
#define DP_CHAIN_MASK           BlockIOTag(0xb3u)
 
1565
#define DP_CHAIN_1BPP                   0x00000000ul    /* Irrelevant */
 
1566
#define DP_CHAIN_4BPP                   0x00008888ul
 
1567
#define DP_CHAIN_8BPP                   0x00008080ul
 
1568
#define DP_CHAIN_8BPP_332               0x00009292ul
 
1569
#define DP_CHAIN_15BPP_1555             0x00004210ul
 
1570
#define DP_CHAIN_16BPP_565              0x00008410ul
 
1571
#define DP_CHAIN_24BPP_888              0x00008080ul
 
1572
#define DP_CHAIN_32BPP_8888             0x00008080ul
 
1573
/*      ?                               0xffff0000ul */
 
1574
#define DP_PIX_WIDTH            BlockIOTag(0xb4u)
 
1575
#define DP_DST_PIX_WIDTH                0x0000000ful
 
1576
#define COMPOSITE_PIX_WIDTH             0x000000f0ul    /* GTPro */
 
1577
#define DP_SRC_PIX_WIDTH                0x00000f00ul
 
1578
/*      ?                               0x00001000ul */
 
1579
#define DP_HOST_TRIPLE_EN               0x00002000ul    /* GT2c/VT4 */
 
1580
#define DP_SRC_AUTONA_FIX_DIS           0x00004000ul    /* GTB */
 
1581
#define DP_FAST_SRCCOPY_DIS             0x00008000ul    /* GTB */
 
1582
#define DP_HOST_PIX_WIDTH               0x000f0000ul
 
1583
#define DP_CI4_RGB_INDEX                0x00f00000ul    /* GTB */
 
1584
#define DP_BYTE_PIX_ORDER               0x01000000ul
 
1585
#define DP_CONVERSION_TEMP              0x02000000ul    /* GTB */
 
1586
#define DP_CI4_RGB_LOW_NIBBLE           0x04000000ul    /* GTB */
 
1587
#define DP_C14_RGB_HIGH_NIBBLE          0x08000000ul    /* GTB */
 
1588
#define DP_SCALE_PIX_WIDTH              0xf0000000ul    /* GTB */
 
1589
#define DP_MIX                  BlockIOTag(0xb5u)
 
1590
#define DP_BKGD_MIX                     0x0000001ful
 
1591
/*      ?                               0x0000ffe0ul */
 
1592
#define DP_FRGD_MIX                     0x001f0000ul
 
1593
/*      ?                               0xffe00000ul */
 
1594
#define DP_SRC                  BlockIOTag(0xb6u)
 
1595
#define DP_BKGD_SRC                     0x00000007ul
 
1596
/*      ?                               0x000000feul */
 
1597
#define DP_FRGD_SRC                     0x00000700ul
 
1598
/*      ?                               0x0000fe00ul */
 
1599
#define DP_MONO_SRC                     0x00030000ul
 
1600
#define DP_MONO_SRC_ALLONES                     0x00000000ul
 
1601
#define DP_MONO_SRC_PATTERN                     0x00010000ul
 
1602
#define DP_MONO_SRC_HOST                        0x00020000ul
 
1603
#define DP_MONO_SRC_BLIT                        0x00030000ul
 
1604
/*      ?                               0xfffc0000ul */
 
1605
#define DP_FRGD_CLR_MIX         BlockIOTag(0xb7u)       /* VTB/GTB */
 
1606
#define DP_FRGD_BKGD_CLR        BlockIOTag(0xb8u)       /* VTB/GTB */
 
1607
/*      ?                       BlockIOTag(0xb9u) */
 
1608
#define DST_X_Y                 BlockIOTag(0xbau)       /* VTB/GTB */
 
1609
#define DST_WIDTH_HEIGHT        BlockIOTag(0xbbu)       /* VTB/GTB */
 
1610
#define USR_DST_PITCH           BlockIOTag(0xbcu)       /* GTPro */
 
1611
/*      ?                       BlockIOTag(0xbdu) */
 
1612
#define DP_SET_GUI_ENGINE2      BlockIOTag(0xbeu)       /* GTPro */
 
1613
#define DP_SET_GUI_ENGINE       BlockIOTag(0xbfu)       /* VTB/GTB */
 
1614
#define CLR_CMP_CLR             BlockIOTag(0xc0u)
 
1615
#define CLR_CMP_MSK             BlockIOTag(0xc1u)
 
1616
#define CLR_CMP_CNTL            BlockIOTag(0xc2u)
 
1617
#define CLR_CMP_FN                      0x00000007ul
 
1618
#define CLR_CMP_FN_FALSE                        0x00000000ul
 
1619
#define CLR_CMP_FN_TRUE                         0x00000001ul
 
1620
/*      ?                                       0x00000002ul */
 
1621
/*      ?                                       0x00000003ul */
 
1622
#define CLR_CMP_FN_NOT_EQUAL                    0x00000004ul
 
1623
#define CLR_CMP_FN_EQUAL                        0x00000005ul
 
1624
/*      ?                                       0x00000006ul */
 
1625
/*      ?                                       0x00000007ul */
 
1626
/*      ?                               0x00fffff8ul */
 
1627
#define CLR_CMP_SRC                     0x03000000ul
 
1628
#define CLR_CMP_SRC_DST                         0x00000000ul
 
1629
#define CLR_CMP_SRC_2D                          0x01000000ul
 
1630
#define CLR_CMP_SRC_TEXEL                       0x02000000ul
 
1631
/*      ?                                       0x03000000ul */
 
1632
/*      ?                               0xfc000000ul */
 
1633
/*      ?                       BlockIOTag(0xc3u) */
 
1634
#define FIFO_STAT               BlockIOTag(0xc4u)
 
1635
#define FIFO_STAT_BITS                  0x0000fffful
 
1636
/*      ?                               0x7fff0000ul */
 
1637
#define FIFO_ERR                        0x80000000ul
 
1638
/*      ?                       BlockIOTag(0xc5u) */
 
1639
/*      ?                       BlockIOTag(0xc6u) */
 
1640
/*      ?                       BlockIOTag(0xc7u) */
 
1641
#define CONTEXT_MASK            BlockIOTag(0xc8u)
 
1642
/*      ?                       BlockIOTag(0xc9u) */
 
1643
/*      ?                       BlockIOTag(0xcau) */
 
1644
#define CONTEXT_LOAD_CNTL       BlockIOTag(0xcbu)
 
1645
#define CONTEXT_LOAD_PTR                0x00007ffful
 
1646
/*      ?                               0x00008000ul */
 
1647
#define CONTEXT_LOAD_CMD                0x00030000ul
 
1648
#define CONTEXT_LOAD_NONE                       0x00000000ul
 
1649
#define CONTEXT_LOAD_ONLY                       0x00010000ul
 
1650
#define CONTEXT_LOAD_FILL                       0x00020000ul
 
1651
#define CONTEXT_LOAD_LINE                       0x00030000ul
 
1652
/*      ?                               0x7ffc0000ul */
 
1653
#define CONTEXT_LOAD_DIS                0x80000000ul
 
1654
#define GUI_TRAJ_CNTL           BlockIOTag(0xccu)
 
1655
/*      ?                       BlockIOTag(0xcdu) */
 
1656
#define GUI_STAT                BlockIOTag(0xceu)
 
1657
#define GUI_ACTIVE                      0x00000001ul
 
1658
/*      ?                               0x000000feul */
 
1659
#define DSTX_LT_SCISSOR_LEFT            0x00000100ul
 
1660
#define DSTX_GT_SCISSOR_RIGHT           0x00000200ul
 
1661
#define DSTY_LT_SCISSOR_TOP             0x00000400ul
 
1662
#define DSTY_GT_SCISSOR_BOTTOM          0x00000800ul
 
1663
/*      ?                               0x0000f000ul */
 
1664
#define GUI_FIFO                        0x03ff0000ul    /* VTB/GTB */
 
1665
/*      ?                               0xfc000000ul */
 
1666
/*      ?                       BlockIOTag(0xcfu) */
 
1667
#define S_X_INC2                BlockIOTag(0xd0u)       /* GTB */
 
1668
#define TEX_PALETTE_INDEX       BlockIOTag(0xd0u)       /* GTPro */
 
1669
#define S_Y_INC2                BlockIOTag(0xd1u)       /* GTB */
 
1670
#define STW_EXP                 BlockIOTag(0xd1u)       /* GTPro */
 
1671
#define S_XY_INC2               BlockIOTag(0xd2u)       /* GTB */
 
1672
#define LOG_MAX_INC             BlockIOTag(0xd2u)       /* GTPro */
 
1673
#define S_XINC_START            BlockIOTag(0xd3u)       /* GTB */
 
1674
/*      S_Y_INC                 BlockIOTag(0xd4u) */    /* Duplicate */
 
1675
/*      SCALE_Y_PITCH           BlockIOTag(0xd4u) */    /* Duplicate */
 
1676
#define S_START                 BlockIOTag(0xd5u)       /* GTB */
 
1677
#define T_X_INC2                BlockIOTag(0xd6u)       /* GTB */
 
1678
#define W_X_INC                 BlockIOTag(0xd6u)       /* GTPro */
 
1679
#define T_Y_INC2                BlockIOTag(0xd7u)       /* GTB */
 
1680
#define W_Y_INC                 BlockIOTag(0xd7u)       /* GTPro */
 
1681
#define T_XY_INC2               BlockIOTag(0xd8u)       /* GTB */
 
1682
#define W_START                 BlockIOTag(0xd8u)       /* GTPro */
 
1683
#define T_XINC_START            BlockIOTag(0xd9u)       /* GTB */
 
1684
#define T_Y_INC                 BlockIOTag(0xdau)       /* GTB */
 
1685
#define SECONDARY_SCALE_PITCH   BlockIOTag(0xdau)       /* GTPro */
 
1686
#define T_START                 BlockIOTag(0xdbu)       /* GTB */
 
1687
#define TEX_SIZE_PITCH          BlockIOTag(0xdcu)       /* GTB */
 
1688
#define TEX_CNTL                BlockIOTag(0xddu)       /* GTPro */
 
1689
#define SECONDARY_TEX_OFFSET    BlockIOTag(0xdeu)       /* GTPro */
 
1690
#define TEX_PAL_WR              BlockIOTag(0xdfu)       /* GTB */
 
1691
#define TEX_PALETTE             BlockIOTag(0xdfu)       /* GTPro */
 
1692
#define SCALE_PITCH_BOTH        BlockIOTag(0xe0u)       /* GTPro */
 
1693
#define SECONDARY_SCALE_OFF_ACC BlockIOTag(0xe1u)       /* GTPro */
 
1694
#define SCALE_OFF_ACC           BlockIOTag(0xe2u)       /* GTPro */
 
1695
#define SCALE_DST_Y_X           BlockIOTag(0xe3u)       /* GTPro */
 
1696
/*      ?                       BlockIOTag(0xe4u) */
 
1697
/*      ?                       BlockIOTag(0xe5u) */
 
1698
#define COMPOSITE_SHADOW_ID     BlockIOTag(0xe6u)       /* GTPro */
 
1699
#define SECONDARY_SCALE_X_INC   BlockIOTag(0xe7u)       /* GTPro */
 
1700
#define SPECULAR_RED_X_INC      BlockIOTag(0xe7u)       /* GTPro */
 
1701
#define SPECULAR_RED_Y_INC      BlockIOTag(0xe8u)       /* GTPro */
 
1702
#define SPECULAR_RED_START      BlockIOTag(0xe9u)       /* GTPro */
 
1703
#define SECONDARY_SCALE_HACC    BlockIOTag(0xe9u)       /* GTPro */
 
1704
#define SPECULAR_GREEN_X_INC    BlockIOTag(0xeau)       /* GTPro */
 
1705
#define SPECULAR_GREEN_Y_INC    BlockIOTag(0xebu)       /* GTPro */
 
1706
#define SPECULAR_GREEN_START    BlockIOTag(0xecu)       /* GTPro */
 
1707
#define SPECULAR_BLUE_X_INC     BlockIOTag(0xedu)       /* GTPro */
 
1708
#define SPECULAR_BLUE_Y_INC     BlockIOTag(0xeeu)       /* GTPro */
 
1709
#define SPECULAR_BLUE_START     BlockIOTag(0xefu)       /* GTPro */
 
1710
/*      SCALE_X_INC             BlockIOTag(0xf0u) */    /* Duplicate */
 
1711
/*      RED_X_INC               BlockIOTag(0xf0u) */    /* Duplicate */
 
1712
#define RED_Y_INC               BlockIOTag(0xf1u)       /* GTB */
 
1713
#define SCALE_HACC              BlockIOTag(0xf2u)       /* GTB */
 
1714
#define RED_START               BlockIOTag(0xf2u)       /* GTB */
 
1715
/*      GREEN_X_INC             BlockIOTag(0xf3u) */    /* Duplicate */
 
1716
/*      SCALE_Y_INC             BlockIOTag(0xf3u) */    /* Duplicate */
 
1717
#define GREEN_Y_INC             BlockIOTag(0xf4u)       /* GTB */
 
1718
#define SECONDARY_SCALE_Y_INC   BlockIOTag(0xf4u)       /* GTPro */
 
1719
#define SECONDARY_SCALE_VACC    BlockIOTag(0xf5u)       /* GTPro */
 
1720
#define GREEN_START             BlockIOTag(0xf5u)       /* GTB */
 
1721
#define BLUE_X_INC              BlockIOTag(0xf6u)       /* GTB */
 
1722
#define SCALE_XUV_INC           BlockIOTag(0xf6u)       /* GTB */
 
1723
#define BLUE_Y_INC              BlockIOTag(0xf7u)       /* GTB */
 
1724
#define BLUE_START              BlockIOTag(0xf8u)       /* GTB */
 
1725
#define SCALE_UV_HACC           BlockIOTag(0xf8u)       /* GTB */
 
1726
#define Z_X_INC                 BlockIOTag(0xf9u)       /* GTB */
 
1727
#define Z_Y_INC                 BlockIOTag(0xfau)       /* GTB */
 
1728
#define Z_START                 BlockIOTag(0xfbu)       /* GTB */
 
1729
#define ALPHA_FOG_X_INC         BlockIOTag(0xfcu)       /* GTB */
 
1730
#define ALPHA_FOG_Y_INC         BlockIOTag(0xfdu)       /* GTB */
 
1731
#define ALPHA_FOG_START         BlockIOTag(0xfeu)       /* GTB */
 
1732
/*      ?                       BlockIOTag(0xffu) */
 
1733
#define OVERLAY_Y_X_START       BlockIOTag(0x100u)
 
1734
#define OVERLAY_Y_START                 0x000003fful
 
1735
/*      ?                               0x0000fc00ul */
 
1736
#define OVERLAY_X_START                 0x03ff0000ul
 
1737
/*      ?                               0x7c000000ul */
 
1738
#define OVERLAY_LOCK_START              0x80000000ul
 
1739
#define OVERLAY_Y_X_END         BlockIOTag(0x101u)
 
1740
#define OVERLAY_Y_END                   0x000003fful
 
1741
/*      ?                               0x0000fc00ul */
 
1742
#define OVERLAY_X_END                   0x03ff0000ul
 
1743
/*      ?                               0x7c000000ul */
 
1744
#define OVERLAY_LOCK_END                0x80000000ul
 
1745
#define OVERLAY_VIDEO_KEY_CLR   BlockIOTag(0x102u)
 
1746
#define OVERLAY_VIDEO_KEY_MSK   BlockIOTag(0x103u)
 
1747
#define OVERLAY_GRAPHICS_KEY_CLR BlockIOTag(0x104u)
 
1748
#define OVERLAY_GRAPHICS_KEY_MSK BlockIOTag(0x105u)
 
1749
#define OVERLAY_KEY_CNTL        BlockIOTag(0x106u)
 
1750
#define OVERLAY_VIDEO_FN                0x00000007ul
 
1751
/*      ?                               0x00000008ul */
 
1752
#define OVERLAY_GRAPHICS_FN             0x00000070ul
 
1753
/*      ?                               0x00000080ul */
 
1754
#define OVERLAY_CMP_MIX                 0x00000100ul
 
1755
/*      ?                               0xfffffe00ul */
 
1756
/*      ?                       BlockIOTag(0x107u) */
 
1757
#define OVERLAY_SCALE_INC       BlockIOTag(0x108u)
 
1758
#define OVERLAY_SCALE_CNTL      BlockIOTag(0x109u)
 
1759
#define SCALE_PIX_EXPAND                0x00000001ul
 
1760
#define SCALE_Y2R_TEMP                  0x00000002ul
 
1761
#define SCALE_HORZ_MODE                 0x00000004ul
 
1762
#define SCALE_VERT_MODE                 0x00000008ul
 
1763
#define SCALE_SIGNED_UV                 0x00000010ul
 
1764
#define SCALE_GAMMA_SEL                 0x00000060ul
 
1765
/*      ?                               0x03ffff80ul */
 
1766
#define SCALE_BANDWIDTH                 0x04000000ul
 
1767
#define SCALE_DIS_LIMIT                 0x08000000ul
 
1768
/*      ?                               0x10000000ul */
 
1769
#define SCALE_CLK_FORCE_ON              0x20000000ul
 
1770
#define OVERLAY_EN                      0x40000000ul
 
1771
#define SCALE_EN                        0x80000000ul
 
1772
#define SCALER_HEIGHT_WIDTH     BlockIOTag(0x10au)
 
1773
#define SCALER_TEST             BlockIOTag(0x10bu)
 
1774
/*      ?                               0x00000001ul */
 
1775
#define SCALE_Y2R_DIS                   0x00000002ul
 
1776
/*      ?                               0xfffffffcul */
 
1777
#define SCALER_THRESHOLD        BlockIOTag(0x10cu)
 
1778
#define SCALER_BUF0_OFFSET      BlockIOTag(0x10du)      /* VTB/GTB */
 
1779
#define SCALER_BUF1_OFFSET      BlockIOTag(0x10eu)      /* VTB/GTB */
 
1780
#define SCALER_BUF_PITCH        BlockIOTag(0x10fu)      /* VTB/GTB */
 
1781
#define CAPTURE_Y_X             BlockIOTag(0x110u)
 
1782
#define CAPTURE_START_END       BlockIOTag(0x110u)      /* VTB/GTB */
 
1783
#define CAPTURE_HEIGHT_WIDTH    BlockIOTag(0x111u)
 
1784
#define CAPTURE_X_WIDTH         BlockIOTag(0x111u)      /* VTB/GTB */
 
1785
#define VIDEO_FORMAT            BlockIOTag(0x112u)
 
1786
#define VIDEO_IN                        0x0000000ful
 
1787
/*      ?                                       0x00000000ul */
 
1788
/*      ?                                       0x00000001ul */
 
1789
/*      ?                                       0x00000002ul */
 
1790
/*      ?                                       0x00000003ul */
 
1791
/*      ?                                       0x00000004ul */
 
1792
/*      ?                                       0x00000005ul */
 
1793
/*      ?                                       0x00000006ul */
 
1794
/*      ?                                       0x00000007ul */
 
1795
/*      ?                                       0x00000008ul */
 
1796
/*      ?                                       0x00000009ul */
 
1797
/*      ?                                       0x0000000aul */
 
1798
#define VIDEO_IN_VYUY422                        0x0000000bul
 
1799
#define VIDEO_IN_YVYU422                        0x0000000cul
 
1800
/*      ?                                       0x0000000dul */
 
1801
/*      ?                                       0x0000000eul */
 
1802
/*      ?                                       0x0000000ful */
 
1803
#define VIDEO_SIGNED_UV                 0x00000010ul
 
1804
/*      ?                               0x0000ffe0ul */
 
1805
#define SCALER_IN                       0x000f0000ul
 
1806
/*      ?                                       0x00000000ul */
 
1807
/*      ?                                       0x00010000ul */
 
1808
/*      ?                                       0x00020000ul */
 
1809
#define SCALER_IN_15BPP                         0x00030000ul
 
1810
#define SCALER_IN_16BPP                         0x00040000ul
 
1811
/*      ?                                       0x00050000ul */
 
1812
#define SCALER_IN_32BPP                         0x00060000ul
 
1813
/*      ?                                       0x00070000ul */
 
1814
/*      ?                                       0x00080000ul */
 
1815
#define SCALER_IN_YUV9                          0x00090000ul
 
1816
#define SCALER_IN_YUV12                         0x000a0000ul
 
1817
#define SCALER_IN_VYUY422                       0x000b0000ul
 
1818
#define SCALER_IN_YVYU422                       0x000c0000ul
 
1819
/*      ?                                       0x000d0000ul */
 
1820
/*      ?                                       0x000e0000ul */
 
1821
/*      ?                                       0x000f0000ul */
 
1822
/*      ?                               0x0ff00000ul */
 
1823
#define HOST_BYTE_SHIFT_EN              0x10000000ul
 
1824
#define HOST_YUV_APER                   0x20000000ul
 
1825
#define HOST_MEM_MODE                   0xc0000000ul
 
1826
#define HOST_MEM_MODE_NORMAL                    0x00000000ul
 
1827
#define HOST_MEM_MODE_Y                         0x40000000ul
 
1828
#define HOST_MEM_MODE_U                         0x80000000ul
 
1829
#define HOST_MEM_MODE_V                         0xc0000000ul
 
1830
#define VIDEO_CONFIG            BlockIOTag(0x113u)
 
1831
#define VBI_START_END           BlockIOTag(0x113u)      /* VTB/GTB */
 
1832
#define CAPTURE_CONFIG          BlockIOTag(0x114u)
 
1833
#define CAP_INPUT_MODE                  0x00000001ul
 
1834
#define CAP_START_FIELD                 0x00000002ul
 
1835
#define CAP_BUF_MODE                    0x00000004ul
 
1836
#define CAP_START_BUF                   0x00000008ul
 
1837
#define CAP_BUF_TYPE                    0x00000030ul
 
1838
#define CAP_BUF_FIELD                           0x00000000ul
 
1839
#define CAP_BUF_ALTERNATING                     0x00000010ul
 
1840
#define CAP_BUF_FRAME                           0x00000020ul
 
1841
/*      ?                                       0x00000030ul */
 
1842
#define CAP_FIELD_FLIP                  0x00000040ul
 
1843
#define CAP_CCIR656_EN                  0x00000080ul
 
1844
/*      ?                               0x00000f00ul */
 
1845
#define CAP_MIRROR_EN                   0x00001000ul
 
1846
#define ONESHOT_MIRROR_EN               0x00002000ul
 
1847
#define ONESHOT_MODE                    0x00004000ul
 
1848
/*      ?                               0x00008000ul */
 
1849
#define CAP_HORZ_DOWN                   0x00030000ul
 
1850
#define CAP_VERT_DOWN                   0x000c0000ul
 
1851
#define ONESHOT_HORZ_DOWN               0x00300000ul
 
1852
#define ONESHOT_VERT_DOWN               0x00c00000ul
 
1853
/*      ?                               0x0f000000ul */
 
1854
#define OVL_BUF_MODE                    0x10000000ul
 
1855
#define OVL_BUF_NEXT                    0x20000000ul
 
1856
/*      ?                               0xc0000000ul */
 
1857
#define TRIG_CNTL               BlockIOTag(0x115u)
 
1858
#define CAP_TRIGGER                     0x00000003ul
 
1859
#define CAP_TRIGGER_NEXT                        0x00000001ul
 
1860
/*      ?                               0x0000001cul */
 
1861
#define OVL_CUR_BUF                     0x00000020ul
 
1862
#define OVL_BUF_STATUS                  0x00000040ul
 
1863
#define CAP_BUF_STATUS                  0x00000080ul
 
1864
/*      ?                               0x7fffff00ul */
 
1865
#define CAPTURE_EN                      0x80000000ul
 
1866
#define VIDEO_SYNC_TEST         BlockIOTag(0x116u)
 
1867
#define OVERLAY_EXCLUSIVE_HORZ  BlockIOTag(0x116u)      /* VTB/GTB */
 
1868
#define EXCLUSIVE_HORZ_START            0x000000fful
 
1869
#define EXCLUSIVE_HORZ_END              0x0000ff00ul
 
1870
#define EXCLUSIVE_HORZ_PORCH            0x00ff0000ul
 
1871
/*      ?                               0x7f000000ul */
 
1872
#define EXCLUSIVE_EN                    0x80000000ul
 
1873
#define EXT_CRTC_GEN_CNTL_R     BlockIOTag(0x117u)      /* VT-A4 (R) */
 
1874
#define OVERLAY_EXCLUSIVE_VERT  BlockIOTag(0x117u)      /* VTB/GTB */
 
1875
#define EXCLUSIVE_VERT_START            0x000003fful
 
1876
/*      ?                               0x0000fc00ul */
 
1877
#define EXCLUSIVE_VERT_END              0x03ff0000ul
 
1878
/*      ?                               0xfc000000ul */
 
1879
#define VMC_CONFIG              BlockIOTag(0x118u)
 
1880
#define VBI_WIDTH               BlockIOTag(0x118u)      /* VTB/GTB */
 
1881
#define VMC_STATUS              BlockIOTag(0x119u)
 
1882
#define CAPTURE_DEBUG           BlockIOTag(0x119u)      /* VTB/GTB */
 
1883
#define VMC_CMD                 BlockIOTag(0x11au)
 
1884
#define VIDEO_SYNC_TEST_B       BlockIOTag(0x11au)      /* VTB/GTB */
 
1885
#define VMC_ARG0                BlockIOTag(0x11bu)
 
1886
#define VMC_ARG1                BlockIOTag(0x11cu)
 
1887
#define SNAPSHOT_VH_COUNTS      BlockIOTag(0x11cu)      /* GTPro */
 
1888
#define VMC_SNOOP_ARG0          BlockIOTag(0x11du)
 
1889
#define SNAPSHOT_F_COUNT        BlockIOTag(0x11du)      /* GTPro */
 
1890
#define VMC_SNOOP_ARG1          BlockIOTag(0x11eu)
 
1891
#define N_VIF_COUNT             BlockIOTag(0x11eu)      /* GTPro */
 
1892
#define SNAPSHOT_VIF_COUNT      BlockIOTag(0x11fu)      /* GTPro */
 
1893
#define BUF0_OFFSET             BlockIOTag(0x120u)
 
1894
#define CAPTURE_BUF0_OFFSET     BlockIOTag(0x120u)      /* VTB/GTB */
 
1895
#define CAPTURE_BUF1_OFFSET     BlockIOTag(0x121u)      /* VTB/GTB */
 
1896
#define ONESHOT_BUF_OFFSET      BlockIOTag(0x122u)      /* VTB/GTB */
 
1897
#define BUF0_PITCH              BlockIOTag(0x123u)
 
1898
/*      ?                       BlockIOTag(0x124u) */
 
1899
/*      ?                       BlockIOTag(0x125u) */
 
1900
#define BUF1_OFFSET             BlockIOTag(0x126u)
 
1901
/*      ?                       BlockIOTag(0x127u) */
 
1902
/*      ?                       BlockIOTag(0x128u) */
 
1903
#define BUF1_PITCH              BlockIOTag(0x129u)
 
1904
/*      ?                       BlockIOTag(0x12au) */
 
1905
#define BUF0_CAP_ODD_OFFSET     BlockIOTag(0x12bu)
 
1906
#define BUF1_CAP_ODD_OFFSET     BlockIOTag(0x12cu)
 
1907
#define SNAPSHOT2_VH_COUNTS     BlockIOTag(0x12cu)      /* LTPro */
 
1908
#define SNAPSHOT2_F_COUNT       BlockIOTag(0x12du)      /* LTPro */
 
1909
#define N_VIF2_COUNT            BlockIOTag(0x12eu)      /* LTPro */
 
1910
#define SNAPSHOT2_VIF_COUNT     BlockIOTag(0x12fu)      /* LTPro */
 
1911
#define VMC_STRM_DATA_0         BlockIOTag(0x130u)
 
1912
/*      MPP_CONFIG              BlockIOTag(0x130u) */   /* See 0x3bu */
 
1913
#define VMC_STRM_DATA_1         BlockIOTag(0x131u)
 
1914
/*      MPP_STROBE_SEQ          BlockIOTag(0x131u) */   /* See 0x3cu */
 
1915
#define VMC_STRM_DATA_2         BlockIOTag(0x132u)
 
1916
/*      MPP_ADDR                BlockIOTag(0x132u) */   /* See 0x3du */
 
1917
#define VMC_STRM_DATA_3         BlockIOTag(0x133u)
 
1918
/*      MPP_DATA                BlockIOTag(0x133u) */   /* See 0x3eu */
 
1919
#define VMC_STRM_DATA_4         BlockIOTag(0x134u)
 
1920
#define VMC_STRM_DATA_5         BlockIOTag(0x135u)
 
1921
#define VMC_STRM_DATA_6         BlockIOTag(0x136u)
 
1922
#define VMC_STRM_DATA_7         BlockIOTag(0x137u)
 
1923
#define VMC_STRM_DATA_8         BlockIOTag(0x138u)
 
1924
#define VMC_STRM_DATA_9         BlockIOTag(0x139u)
 
1925
#define VMC_STRM_DATA_A         BlockIOTag(0x13au)
 
1926
#define VMC_STRM_DATA_B         BlockIOTag(0x13bu)
 
1927
#define VMC_STRM_DATA_C         BlockIOTag(0x13cu)
 
1928
#define VMC_STRM_DATA_D         BlockIOTag(0x13du)
 
1929
#define VMC_STRM_DATA_E         BlockIOTag(0x13eu)
 
1930
#define VMC_STRM_DATA_F         BlockIOTag(0x13fu)
 
1931
/*      TVO_CNTL                BlockIOTag(0x140u) */   /* See 0x3fu */
 
1932
/*      ?                       BlockIOTag(0x141u) */
 
1933
/*      ?                       BlockIOTag(0x142u) */
 
1934
/*      ?                       BlockIOTag(0x143u) */
 
1935
/*      ?                       BlockIOTag(0x144u) */
 
1936
/*      ?                       BlockIOTag(0x145u) */
 
1937
/*      ?                       BlockIOTag(0x146u) */
 
1938
/*      ?                       BlockIOTag(0x147u) */
 
1939
/*      ?                       BlockIOTag(0x148u) */
 
1940
/*      ?                       BlockIOTag(0x149u) */
 
1941
/*      ?                       BlockIOTag(0x14au) */
 
1942
/*      ?                       BlockIOTag(0x14bu) */
 
1943
/*      ?                       BlockIOTag(0x14cu) */
 
1944
/*      ?                       BlockIOTag(0x14du) */
 
1945
/*      ?                       BlockIOTag(0x14eu) */
 
1946
/*      ?                       BlockIOTag(0x14fu) */
 
1947
/*      ?                       BlockIOTag(0x150u) */
 
1948
#define CRT_HORZ_VERT_LOAD      BlockIOTag(0x151u)      /* VTB/GTB */
 
1949
#define AGP_BASE                BlockIOTag(0x152u)      /* GTPro */
 
1950
#define AGP_CNTL                BlockIOTag(0x153u)      /* GTPro */
 
1951
#define AGP_MODE_1X                     0x00000001ul
 
1952
#define AGP_MODE_2X                     0x00000002ul
 
1953
#define AGP_MODE_MASK                   0x00000003ul
 
1954
#define AGP_APER_SIZE_MASK              0x0000003ful
 
1955
#define AGP_APER_SIZE_4MB               0x0000003ful
 
1956
#define AGP_APER_SIZE_8MB               0x0000003eul
 
1957
#define AGP_APER_SIZE_16MB              0x0000003cul
 
1958
#define AGP_APER_SIZE_32MB              0x00000038ul
 
1959
#define AGP_APER_SIZE_64MB              0x00000030ul
 
1960
#define AGP_APER_SIZE_128MB             0x00000020ul
 
1961
#define AGP_APER_SIZE_256MB             0x00000000ul
 
1962
#define HIGH_PRIORITY_READ_EN           0x00010000ul
 
1963
#define AGP_TRDY_MODE                   0x00020000ul
 
1964
#define SCALER_COLOUR_CNTL      BlockIOTag(0x154u)      /* GTPro */
 
1965
#define SCALE_BRIGHTNESS                0x0000007ful
 
1966
/*      ?                               0x00000080ul */
 
1967
#define SCALE_SATURATION_U              0x00001f00ul
 
1968
/*      ?                               0x0000e000ul */
 
1969
#define SCALE_SATURATION_V              0x001f0000ul
 
1970
#define SCALE_VERT_ADJ_UV               0x0fe00000ul
 
1971
#define SCALE_HORZ_ADJ_UV               0xf0000000ul
 
1972
#define SCALER_H_COEFF0         BlockIOTag(0x155u)      /* GTPro */
 
1973
#define SCALER_H_COEFF1         BlockIOTag(0x156u)      /* GTPro */
 
1974
#define SCALER_H_COEFF2         BlockIOTag(0x157u)      /* GTPro */
 
1975
#define SCALER_H_COEFF3         BlockIOTag(0x158u)      /* GTPro */
 
1976
#define SCALER_H_COEFF4         BlockIOTag(0x159u)      /* GTPro */
 
1977
/*      ?                       BlockIOTag(0x15au) */
 
1978
/*      ?                       BlockIOTag(0x15bu) */
 
1979
#define GUI_CMDFIFO_DEBUG       BlockIOTag(0x15cu)      /* GT2c/VT4 */
 
1980
#define GUI_CMDFIFO_DATA        BlockIOTag(0x15du)      /* GT2c/VT4 */
 
1981
#define GUI_CNTL                BlockIOTag(0x15eu)      /* GT2c/VT4 */
 
1982
#define CMDFIFO_SIZE_MODE               0x00000003ul
 
1983
/*      ?                               0x0000fffcul */
 
1984
#define IDCT_PRSR_MODE                  0x00010000ul    /* XL/XC */
 
1985
#define IDCT_BLOCK_GUI_INITIATOR        0x00020000ul    /* XL/XC */
 
1986
/*      ?                               0xfffc0000ul */
 
1987
/*      ?                       BlockIOTag(0x15fu) */
 
1988
#define BM_FRAME_BUF_OFFSET     BlockIOTag(0x160u)      /* VTB/GTB */
 
1989
#define BM_SYSTEM_MEM_ADDR      BlockIOTag(0x161u)      /* VTB/GTB */
 
1990
#define BM_COMMAND              BlockIOTag(0x162u)      /* VTB/GTB */
 
1991
#define BM_STATUS               BlockIOTag(0x163u)      /* VTB/GTB */
 
1992
/*      ?                       BlockIOTag(0x164u) */
 
1993
/*      ?                       BlockIOTag(0x165u) */
 
1994
/*      ?                       BlockIOTag(0x166u) */
 
1995
/*      ?                       BlockIOTag(0x167u) */
 
1996
/*      ?                       BlockIOTag(0x168u) */
 
1997
/*      ?                       BlockIOTag(0x169u) */
 
1998
/*      ?                       BlockIOTag(0x16au) */
 
1999
/*      ?                       BlockIOTag(0x16bu) */
 
2000
/*      ?                       BlockIOTag(0x16cu) */
 
2001
/*      ?                       BlockIOTag(0x16du) */
 
2002
#define BM_GUI_TABLE            BlockIOTag(0x16eu)      /* VTB/GTB */
 
2003
#define BM_SYSTEM_TABLE         BlockIOTag(0x16fu)      /* VTB/GTB */
 
2004
/*      ?                       BlockIOTag(0x170u) */
 
2005
/*      ?                       BlockIOTag(0x171u) */
 
2006
/*      ?                       BlockIOTag(0x172u) */
 
2007
/*      ?                       BlockIOTag(0x173u) */
 
2008
/*      ?                       BlockIOTag(0x174u) */
 
2009
#define SCALER_BUF0_OFFSET_U    BlockIOTag(0x175u)      /* GTPro */
 
2010
#define SCALER_BUF0_OFFSET_V    BlockIOTag(0x176u)      /* GTPro */
 
2011
#define SCALER_BUF1_OFFSET_U    BlockIOTag(0x177u)      /* GTPro */
 
2012
#define SCALER_BUF1_OFFSET_V    BlockIOTag(0x178u)      /* GTPro */
 
2013
/*      ?                       BlockIOTag(0x179u) */
 
2014
/*      ?                       BlockIOTag(0x17au) */
 
2015
/*      ?                       BlockIOTag(0x17bu) */
 
2016
/*      ?                       BlockIOTag(0x17cu) */
 
2017
/*      ?                       BlockIOTag(0x17du) */
 
2018
/*      ?                       BlockIOTag(0x17eu) */
 
2019
/*      ?                       BlockIOTag(0x17fu) */
 
2020
/*      ?                       BlockIOTag(0x180u) */
 
2021
/*      ?                       BlockIOTag(0x181u) */
 
2022
/*      ?                       BlockIOTag(0x182u) */
 
2023
/*      ?                       BlockIOTag(0x183u) */
 
2024
/*      ?                       BlockIOTag(0x184u) */
 
2025
/*      ?                       BlockIOTag(0x185u) */
 
2026
/*      ?                       BlockIOTag(0x186u) */
 
2027
/*      ?                       BlockIOTag(0x187u) */
 
2028
/*      ?                       BlockIOTag(0x188u) */
 
2029
/*      ?                       BlockIOTag(0x189u) */
 
2030
/*      ?                       BlockIOTag(0x18au) */
 
2031
/*      ?                       BlockIOTag(0x18bu) */
 
2032
/*      ?                       BlockIOTag(0x18cu) */
 
2033
/*      ?                       BlockIOTag(0x18du) */
 
2034
/*      ?                       BlockIOTag(0x18eu) */
 
2035
/*      ?                       BlockIOTag(0x18fu) */
 
2036
#define VERTEX_1_S              BlockIOTag(0x190u)      /* GTPro */
 
2037
#define VERTEX_1_T              BlockIOTag(0x191u)      /* GTPro */
 
2038
#define VERTEX_1_W              BlockIOTag(0x192u)      /* GTPro */
 
2039
#define VERTEX_1_SPEC_ARGB      BlockIOTag(0x193u)      /* GTPro */
 
2040
#define VERTEX_1_Z              BlockIOTag(0x194u)      /* GTPro */
 
2041
#define VERTEX_1_ARGB           BlockIOTag(0x195u)      /* GTPro */
 
2042
#define VERTEX_1_X_Y            BlockIOTag(0x196u)      /* GTPro */
 
2043
#define ONE_OVER_AREA           BlockIOTag(0x197u)      /* GTPro */
 
2044
#define VERTEX_2_S              BlockIOTag(0x198u)      /* GTPro */
 
2045
#define VERTEX_2_T              BlockIOTag(0x199u)      /* GTPro */
 
2046
#define VERTEX_2_W              BlockIOTag(0x19au)      /* GTPro */
 
2047
#define VERTEX_2_SPEC_ARGB      BlockIOTag(0x19bu)      /* GTPro */
 
2048
#define VERTEX_2_Z              BlockIOTag(0x19cu)      /* GTPro */
 
2049
#define VERTEX_2_ARGB           BlockIOTag(0x19du)      /* GTPro */
 
2050
#define VERTEX_2_X_Y            BlockIOTag(0x19eu)      /* GTPro */
 
2051
/*      ONE_OVER_AREA           BlockIOTag(0x19fu) */   /* Duplicate */
 
2052
#define VERTEX_3_S              BlockIOTag(0x1a0u)      /* GTPro */
 
2053
#define VERTEX_3_T              BlockIOTag(0x1a1u)      /* GTPro */
 
2054
#define VERTEX_3_W              BlockIOTag(0x1a2u)      /* GTPro */
 
2055
#define VERTEX_3_SPEC_ARGB      BlockIOTag(0x1a3u)      /* GTPro */
 
2056
#define VERTEX_3_Z              BlockIOTag(0x1a4u)      /* GTPro */
 
2057
#define VERTEX_3_ARGB           BlockIOTag(0x1a5u)      /* GTPro */
 
2058
#define VERTEX_3_X_Y            BlockIOTag(0x1a6u)      /* GTPro */
 
2059
/*      ONE_OVER_AREA           BlockIOTag(0x1a7u) */   /* Duplicate */
 
2060
#define VERTEX_3_SECONDARY_S    BlockIOTag(0x1a8u)      /* GTPro */
 
2061
#define VERTEX_3_SECONDARY_T    BlockIOTag(0x1a9u)      /* GTPro */
 
2062
#define VERTEX_3_SECONDARY_W    BlockIOTag(0x1aau)      /* GTPro */
 
2063
/*      VERTEX_1_S              BlockIOTag(0x1abu) */   /* Duplicate */
 
2064
/*      VERTEX_1_T              BlockIOTag(0x1acu) */   /* Duplicate */
 
2065
/*      VERTEX_1_W              BlockIOTag(0x1adu) */   /* Duplicate */
 
2066
/*      VERTEX_2_S              BlockIOTag(0x1aeu) */   /* Duplicate */
 
2067
/*      VERTEX_2_T              BlockIOTag(0x1afu) */   /* Duplicate */
 
2068
/*      VERTEX_2_W              BlockIOTag(0x1b0u) */   /* Duplicate */
 
2069
/*      VERTEX_3_S              BlockIOTag(0x1b1u) */   /* Duplicate */
 
2070
/*      VERTEX_3_T              BlockIOTag(0x1b2u) */   /* Duplicate */
 
2071
/*      VERTEX_3_W              BlockIOTag(0x1b3u) */   /* Duplicate */
 
2072
/*      VERTEX_1_SPEC_ARGB      BlockIOTag(0x1b4u) */   /* Duplicate */
 
2073
/*      VERTEX_2_SPEC_ARGB      BlockIOTag(0x1b5u) */   /* Duplicate */
 
2074
/*      VERTEX_3_SPEC_ARGB      BlockIOTag(0x1b6u) */   /* Duplicate */
 
2075
/*      VERTEX_1_Z              BlockIOTag(0x1b7u) */   /* Duplicate */
 
2076
/*      VERTEX_2_Z              BlockIOTag(0x1b8u) */   /* Duplicate */
 
2077
/*      VERTEX_3_Z              BlockIOTag(0x1b9u) */   /* Duplicate */
 
2078
/*      VERTEX_1_ARGB           BlockIOTag(0x1bau) */   /* Duplicate */
 
2079
/*      VERTEX_2_ARGB           BlockIOTag(0x1bbu) */   /* Duplicate */
 
2080
/*      VERTEX_3_ARGB           BlockIOTag(0x1bcu) */   /* Duplicate */
 
2081
/*      VERTEX_1_X_Y            BlockIOTag(0x1bdu) */   /* Duplicate */
 
2082
/*      VERTEX_2_X_Y            BlockIOTag(0x1beu) */   /* Duplicate */
 
2083
/*      VERTEX_3_X_Y            BlockIOTag(0x1bfu) */   /* Duplicate */
 
2084
#define ONE_OVER_AREA_UC        BlockIOTag(0x1c0u)      /* GTPro */
 
2085
#define SETUP_CNTL              BlockIOTag(0x1c1u)      /* GTPro */
 
2086
/*      ?                       BlockIOTag(0x1c2u) */
 
2087
/*      ?                       BlockIOTag(0x1c3u) */
 
2088
/*      ?                       BlockIOTag(0x1c4u) */
 
2089
/*      ?                       BlockIOTag(0x1c5u) */
 
2090
/*      ?                       BlockIOTag(0x1c6u) */
 
2091
/*      ?                       BlockIOTag(0x1c7u) */
 
2092
/*      ?                       BlockIOTag(0x1c8u) */
 
2093
/*      ?                       BlockIOTag(0x1c9u) */
 
2094
#define VERTEX_1_SECONDARY_S    BlockIOTag(0x1cau)      /* GTPro */
 
2095
#define VERTEX_1_SECONDARY_T    BlockIOTag(0x1cbu)      /* GTPro */
 
2096
#define VERTEX_1_SECONDARY_W    BlockIOTag(0x1ccu)      /* GTPro */
 
2097
#define VERTEX_2_SECONDARY_S    BlockIOTag(0x1cdu)      /* GTPro */
 
2098
#define VERTEX_2_SECONDARY_T    BlockIOTag(0x1ceu)      /* GTPro */
 
2099
#define VERTEX_2_SECONDARY_W    BlockIOTag(0x1cfu)      /* GTPro */
 
2100
/*      ?                       BlockIOTag(0x1d0u) */
 
2101
/*      ?                       BlockIOTag(0x1d1u) */
 
2102
/*      ?                       BlockIOTag(0x1d2u) */
 
2103
/*      ?                       BlockIOTag(0x1d3u) */
 
2104
/*      ?                       BlockIOTag(0x1d4u) */
 
2105
/*      ?                       BlockIOTag(0x1d5u) */
 
2106
/*      ?                       BlockIOTag(0x1d6u) */
 
2107
/*      ?                       BlockIOTag(0x1d7u) */
 
2108
/*      ?                       BlockIOTag(0x1d8u) */
 
2109
/*      ?                       BlockIOTag(0x1d9u) */
 
2110
/*      ?                       BlockIOTag(0x1dau) */
 
2111
/*      ?                       BlockIOTag(0x1dbu) */
 
2112
/*      ?                       BlockIOTag(0x1dcu) */
 
2113
/*      ?                       BlockIOTag(0x1ddu) */
 
2114
/*      ?                       BlockIOTag(0x1deu) */
 
2115
/*      ?                       BlockIOTag(0x1dfu) */
 
2116
/*      ?                       BlockIOTag(0x1e0u) */
 
2117
/*      ?                       BlockIOTag(0x1e1u) */
 
2118
/*      ?                       BlockIOTag(0x1e2u) */
 
2119
/*      ?                       BlockIOTag(0x1e3u) */
 
2120
/*      ?                       BlockIOTag(0x1e4u) */
 
2121
/*      ?                       BlockIOTag(0x1e5u) */
 
2122
/*      ?                       BlockIOTag(0x1e6u) */
 
2123
/*      ?                       BlockIOTag(0x1e7u) */
 
2124
/*      ?                       BlockIOTag(0x1e8u) */
 
2125
/*      ?                       BlockIOTag(0x1e9u) */
 
2126
/*      ?                       BlockIOTag(0x1eau) */
 
2127
/*      ?                       BlockIOTag(0x1ebu) */
 
2128
/*      ?                       BlockIOTag(0x1ecu) */
 
2129
/*      ?                       BlockIOTag(0x1edu) */
 
2130
/*      ?                       BlockIOTag(0x1eeu) */
 
2131
/*      ?                       BlockIOTag(0x1efu) */
 
2132
/*      ?                       BlockIOTag(0x1f0u) */
 
2133
/*      ?                       BlockIOTag(0x1f1u) */
 
2134
/*      ?                       BlockIOTag(0x1f2u) */
 
2135
/*      ?                       BlockIOTag(0x1f3u) */
 
2136
/*      ?                       BlockIOTag(0x1f4u) */
 
2137
/*      ?                       BlockIOTag(0x1f5u) */
 
2138
/*      ?                       BlockIOTag(0x1f6u) */
 
2139
/*      ?                       BlockIOTag(0x1f7u) */
 
2140
/*      ?                       BlockIOTag(0x1f8u) */
 
2141
/*      ?                       BlockIOTag(0x1f9u) */
 
2142
/*      ?                       BlockIOTag(0x1fau) */
 
2143
/*      ?                       BlockIOTag(0x1fbu) */
 
2144
/*      ?                       BlockIOTag(0x1fcu) */
 
2145
/*      ?                       BlockIOTag(0x1fdu) */
 
2146
/*      ?                       BlockIOTag(0x1feu) */
 
2147
/*      ?                       BlockIOTag(0x1ffu) */
 
2148
 
 
2149
/* Definitions for MEM_CNTL's CTL_MEM_?????_APER_ENDIAN fields */
 
2150
#define CTL_MEM_APER_BYTE_ENDIAN        0x00u
 
2151
#define CTL_MEM_APER_WORD_ENDIAN        0x01u
 
2152
#define CTL_MEM_APER_LONG_ENDIAN        0x02u
 
2153
/*      ?                               0x03u */
 
2154
 
 
2155
/* Definitions for an ICS2595's programme word */
 
2156
#define ICS2595_CLOCK           0x000001f0ul
 
2157
#define ICS2595_FB_DIV          0x0001fe00ul            /* Feedback divider */
 
2158
#define ICS2595_POST_DIV        0x000c0000ul            /* Post-divider */
 
2159
#define ICS2595_STOP            0x00300000ul            /* Stop bits */
 
2160
#define ICS2595_TOGGLE          (ICS2595_POST_DIV | ICS2595_STOP)
 
2161
 
 
2162
/* Definitions for internal PLL registers on a 264xT */
 
2163
#define PLL_MPLL_CNTL           0x00u
 
2164
#define MPLL_PC_GAIN                    0x07u
 
2165
#define MPLL_VC_GAIN                    0x18u
 
2166
#define MPLL_D_CYC                      0x60u
 
2167
#define MPLL_RANGE                      0x80u
 
2168
#define VPLL_CNTL               0x01u
 
2169
#define VPLL_PC_GAIN                    0x07u
 
2170
#define VPLL_VC_GAIN                    0x18u
 
2171
#define VPLL_D_CYC                      0x60u
 
2172
#define VPLL_RANGE                      0x80u
 
2173
#define PLL_REF_DIV             0x02u
 
2174
#define PLL_GEN_CNTL            0x03u
 
2175
#define PLL_OVERRIDE                    0x01u
 
2176
#define PLL_SLEEP                       0x01u   /* GTPro */
 
2177
#define PLL_MCLK_RESET                  0x02u
 
2178
#define PLL_OSC_EN                      0x04u
 
2179
#define PLL_EXT_CLK_EN                  0x08u
 
2180
#define PLL_MCLK_SRC_SEL                0x70u
 
2181
#define PLL_EXT_CLK_CNTL                0x80u   /* CT/ET */
 
2182
#define PLL_DLL_PWDN                    0x80u   /* VTB/GTB/LT */
 
2183
#define PLL_MCLK_FB_DIV         0x04u
 
2184
#define PLL_VCLK_CNTL           0x05u
 
2185
#define PLL_VCLK_SRC_SEL                0x03u
 
2186
#define PLL_VCLK_RESET                  0x04u
 
2187
#define PLL_VCLK_INVERT                 0x08u
 
2188
#define PLL_ECP_DIV                     0x30u   /* VT/GT */
 
2189
#define PLL_ERATE_GT_XRATE              0x40u   /* VT/GT */
 
2190
#define PLL_SCALER_LOCK_EN              0x80u   /* VT/GT */
 
2191
#define PLL_VCLK_POST_DIV       0x06u
 
2192
#define PLL_VCLK0_POST_DIV              0x03u
 
2193
#define PLL_VCLK1_POST_DIV              0x0cu
 
2194
#define PLL_VCLK2_POST_DIV              0x30u
 
2195
#define PLL_VCLK3_POST_DIV              0xc0u
 
2196
#define PLL_VCLK0_FB_DIV        0x07u
 
2197
#define PLL_VCLK1_FB_DIV        0x08u
 
2198
#define PLL_VCLK2_FB_DIV        0x09u
 
2199
#define PLL_VCLK3_FB_DIV        0x0au
 
2200
#define PLL_XCLK_CNTL           0x0bu           /* VT/GT */
 
2201
#define PLL_XCLK_MCLK_RATIO             0x03u
 
2202
#define PLL_XCLK_SRC_SEL                0x07u   /* VTB/GTB/LT */
 
2203
#define PLL_MFB_TIMES_4_2B              0x08u
 
2204
#define PLL_VCLK0_XDIV                  0x10u
 
2205
#define PLL_VCLK1_XDIV                  0x20u
 
2206
#define PLL_VCLK2_XDIV                  0x40u
 
2207
#define PLL_VCLK3_XDIV                  0x80u
 
2208
#define PLL_FCP_CNTL            0x0cu           /* VT/GT */
 
2209
#define PLL_FCP_POST_DIV                0x0fu
 
2210
#define PLL_FCP_SRC_SEL                 0x70u
 
2211
#define PLL_DCLK_BY2_EN                 0x80u
 
2212
#define PLL_DLL_CNTL            0x0cu           /* VTB/GTB/LT */
 
2213
#define PLL_DLL_REF_SRC                 0x03u
 
2214
#define PLL_DLL_FB_SRC                  0x0cu
 
2215
#define PLL_DLL_GAIN                    0x30u
 
2216
#define PLL_DLL_RESET                   0x40u
 
2217
#define PLL_DLL_HCLK_OUT_EN             0x80u
 
2218
#define PLL_VFC_CNTL            0x0du           /* VT/GT */
 
2219
#define PLL_DCLK_INVB                   0x01u
 
2220
#define PLL_DCLKBY2_EN                  0x02u
 
2221
#define PLL_VFC_2PHASE                  0x04u
 
2222
#define PLL_VFC_DELAY                   0x18u
 
2223
#define PLL_VFC_DCLKBY2_SHIFT           0x20u
 
2224
/*      ?                               0x40u */
 
2225
#define PLL_TST_SRC_SEL_BIT5            0x80u   /* VTB/GTB/LT */
 
2226
#define PLL_TEST_CNTL           0x0eu
 
2227
#define PLL_TST_SRC_SEL                 0x1fu
 
2228
#define PLL_TST_DIVIDERS                0x20u
 
2229
#define PLL_TST_MASK_READ               0x40u
 
2230
#define PLL_TST_ANALOG_MON_EN           0x80u
 
2231
#define PLL_TEST_COUNT          0x0fu
 
2232
#define PLL_LVDSPLL_CNTL0       0x10u           /* LT */
 
2233
#define PLL_FPDI_NS_TIMING              0x01u
 
2234
#define PLL_CURR_LEVEL                  0x0eu
 
2235
#define PLL_LVDS_TEST_MODE              0xf0u
 
2236
#define PLL_LVDSPLL_CNTL1       0x11u           /* LT */
 
2237
#define PLL_LPPL_RANGE                  0x01u
 
2238
#define PLL_LPLL_DUTY                   0x06u
 
2239
#define PLL_LPLL_VC_GAIN                0x18u
 
2240
#define PLL_LPLL_CP_GAIN                0xe0u
 
2241
#define PLL_AGP1_CNTL           0x12u           /* GTPro */
 
2242
#define PLL_AGP2_CNTL           0x13u           /* GTPro */
 
2243
#define PLL_DLL2_CNTL           0x14u           /* GTPro */
 
2244
#define PLL_SCLK_FB_DIV         0x15u           /* GTPro */
 
2245
#define PLL_SPLL_CNTL1          0x16u           /* GTPro */
 
2246
#define PLL_SPLL_CNTL2          0x17u           /* GTPro */
 
2247
#define PLL_APLL_STRAPS         0x18u           /* GTPro */
 
2248
#define PLL_EXT_VPLL_CNTL       0x19u           /* GTPro */
 
2249
#define PLL_EXT_VPLL_REF_SRC            0x03u
 
2250
#define PLL_EXT_VPLL_EN                 0x04u
 
2251
#define PLL_EXT_VPLL_VGA_EN             0x08u
 
2252
#define PLL_EXT_VPLL_INSYNC             0x10u
 
2253
/*      ?                               0x60u */
 
2254
#define PLL_EXT_V2PLL_EN                0x80u
 
2255
#define PLL_EXT_VPLL_REF_DIV    0x1au           /* GTPro */
 
2256
#define PLL_EXT_VPLL_FB_DIV     0x1bu           /* GTPro */
 
2257
#define PLL_EXT_VPLL_MSB        0x1cu           /* GTPro */
 
2258
#define PLL_HTOTAL_CNTL         0x1du           /* GTPro */
 
2259
#define PLL_BYTE_CLK_CNTL       0x1eu           /* GTPro */
 
2260
#define PLL_TV_REF_DIV          0x1fu           /* LTPro */
 
2261
#define PLL_TV_FB_DIV           0x20u           /* LTPro */
 
2262
#define PLL_TV_CNTL             0x21u           /* LTPro */
 
2263
#define PLL_TV_GEN_CNTL         0x22u           /* LTPro */
 
2264
#define PLL_V2_CNTL             0x23u           /* LTPro */
 
2265
#define PLL_V2_GEN_CNTL         0x24u           /* LTPro */
 
2266
#define PLL_V2_REF_DIV          0x25u           /* LTPro */
 
2267
#define PLL_V2_FB_DIV           0x26u           /* LTPro */
 
2268
#define PLL_V2_MSB              0x27u           /* LTPro */
 
2269
#define PLL_HTOTAL2_CNTL        0x28u           /* LTPro */
 
2270
#define PLL_YCLK_CNTL           0x29u           /* XC/XL */
 
2271
#define PM_DYN_CLK_CNTL         0x2au           /* XC/XL */
 
2272
/*      ?                       0x2bu */
 
2273
/*      ?                       0x2cu */
 
2274
/*      ?                       0x2du */
 
2275
/*      ?                       0x2eu */
 
2276
/*      ?                       0x2fu */
 
2277
/*      ?                       0x30u */
 
2278
/*      ?                       0x31u */
 
2279
/*      ?                       0x32u */
 
2280
/*      ?                       0x33u */
 
2281
/*      ?                       0x34u */
 
2282
/*      ?                       0x35u */
 
2283
/*      ?                       0x36u */
 
2284
/*      ?                       0x37u */
 
2285
/*      ?                       0x38u */
 
2286
/*      ?                       0x39u */
 
2287
/*      ?                       0x3au */
 
2288
/*      ?                       0x3bu */
 
2289
/*      ?                       0x3cu */
 
2290
/*      ?                       0x3du */
 
2291
/*      ?                       0x3eu */
 
2292
/*      ?                       0x3fu */
 
2293
 
 
2294
/* Definitions for an LTPro's 32-bit LCD registers */
 
2295
#define LCD_CONFIG_PANEL        0x00u   /* See LT's CONFIG_PANEL (0x1d) */
 
2296
#define LCD_GEN_CNTL            0x01u   /* See LT's LCD_GEN_CTRL (0x35) */
 
2297
#define LCD_DSTN_CONTROL        0x02u   /* See LT's DSTN_CONTROL (0x1f) */
 
2298
#define LCD_HFB_PITCH_ADDR      0x03u   /* See LT's HFB_PITCH_ADDR (0x2a) */
 
2299
#define LCD_HORZ_STRETCHING     0x04u   /* See LT's HORZ_STRETCHING (0x32) */
 
2300
#define LCD_VERT_STRETCHING     0x05u   /* See LT's VERT_STRETCHING (0x33) */
 
2301
#define LCD_EXT_VERT_STRETCH    0x06u
 
2302
#define VERT_STRETCH_RATIO3             0x000003fful
 
2303
#define FORCE_DAC_DATA                  0x000000fful
 
2304
#define FORCE_DAC_DATA_SEL              0x00000300ul
 
2305
#define VERT_STRETCH_MODE               0x00000400ul
 
2306
#define VERT_PANEL_SIZE                 0x003ff800ul
 
2307
#define AUTO_VERT_RATIO                 0x00400000ul
 
2308
#define USE_AUTO_FP_POS                 0x00800000ul
 
2309
#define USE_AUTO_LCD_VSYNC              0x01000000ul
 
2310
/*      ?                               0xfe000000ul */
 
2311
#define LCD_LT_GIO              0x07u   /* See LT's LT_GIO (0x2f) */
 
2312
#define LCD_POWER_MANAGEMENT    0x08u   /* See LT's POWER_MANAGEMENT (0x36) */
 
2313
#define LCD_ZVGPIO              0x09u
 
2314
#define LCD_ICON_CLR0           0x0au                   /* Mobility */
 
2315
#define LCD_ICON_CLR1           0x0bu                   /* Mobility */
 
2316
#define LCD_ICON_OFFSET         0x0cu                   /* Mobility */
 
2317
#define LCD_ICON_HORZ_VERT_POSN 0x0du                   /* Mobility */
 
2318
#define LCD_ICON_HORZ_VERT_OFF  0x0eu                   /* Mobility */
 
2319
#define LCD_ICON2_CLR0          0x0fu                   /* Mobility */
 
2320
#define LCD_ICON2_CLR1          0x10u                   /* Mobility */
 
2321
#define LCD_ICON2_OFFSET        0x11u                   /* Mobility */
 
2322
#define LCD_ICON2_HORZ_VERT_POSN 0x12u                  /* Mobility */
 
2323
#define LCD_ICON2_HORZ_VERT_OFF 0x13u                   /* Mobility */
 
2324
#define LCD_MISC_CNTL           0x14u                   /* XC/XL */
 
2325
#define BL_MOD_LEVEL                    0x000000fful
 
2326
#define BIAS_MOD_LEVEL                  0x0000ff00ul
 
2327
#define BLMOD_EN                        0x00010000ul
 
2328
#define BIASMOD_EN                      0x00020000ul
 
2329
/*      ?                               0x00040000ul */
 
2330
#define PWRSEQ_MODE                     0x00080000ul
 
2331
#define APC_EN                          0x00100000ul
 
2332
#define MONITOR_DET_EN                  0x00200000ul
 
2333
#define FORCE_DAC_DATA_SEL_X            0x00c00000ul
 
2334
#define FORCE_DAC_DATA_X                0xff000000ul
 
2335
#define LCD_TMDS_CNTL           0x15u                   /* XC/XL */
 
2336
#define LCD_SCRATCH_PAD_4M      0x15u                   /* Mobility */
 
2337
#define LCD_TMDS_SYNC_CHAR_SETA 0x16u                   /* XC/XL */
 
2338
#define LCD_SCRATCH_PAD_5M      0x16u                   /* Mobility */
 
2339
#define LCD_TMDS_SYNC_CHAR_SETB 0x17u                   /* XC/XL */
 
2340
#define LCD_SCRATCH_PAD_6M      0x17u                   /* Mobility */
 
2341
#define LCD_TMDS_SRC            0x18u                   /* XC/XL */
 
2342
#define LCD_SCRATCH_PAD_7M      0x18u                   /* Mobility */
 
2343
#define LCD_PLTSTBLK_CNTL       0x19u                   /* XC/XL */
 
2344
#define LCD_SCRATCH_PAD_8M      0x19u                   /* Mobility */
 
2345
#define LCD_SYNC_GEN_CNTL       0x1au                   /* XC/XL */
 
2346
#define LCD_PATTERN_GEN_SEED    0x1bu                   /* XC/XL */
 
2347
#define LCD_APC_CNTL            0x1cu                   /* XC/XL */
 
2348
#define LCD_POWER_MANAGEMENT_2  0x1du                   /* XC/XL */
 
2349
#define LCD_XCLK_DISP_PM_EN             0x00000001ul
 
2350
#define LCD_XCLK_DISP2_PM_EN            0x00000002ul    /* Mobility */
 
2351
#define LCD_XCLK_VID_PM_EN              0x00000004ul
 
2352
#define LCD_XCLK_SCL_PM_EN              0x00000008ul
 
2353
#define LCD_XCLK_GUI_PM_EN              0x00000010ul
 
2354
#define LCD_XCLK_SUB_PM_EN              0x00000020ul
 
2355
/*      ?                               0x000000c0ul */
 
2356
#define LCD_MCLK_PM_EN                  0x00000100ul
 
2357
#define LCD_SS_EN                       0x00000200ul
 
2358
#define LCD_BLON_DIGON_EN               0x00000400ul
 
2359
/*      ?                               0x00000800ul */
 
2360
#define LCD_PM_DYN_XCLK_SYNC            0x00003000ul
 
2361
#define LCD_SEL_W4MS                    0x00004000ul
 
2362
/*      ?                               0x00008000ul */
 
2363
#define LCD_PM_DYN_XCLK_EN              0x00010000ul
 
2364
#define LCD_PM_XCLK_ALWAYS              0x00020000ul
 
2365
#define LCD_PM_DYN_XCLK_STATUS          0x00040000ul
 
2366
#define LCD_PCI_ACC_DIS                 0x00080000ul
 
2367
#define LCD_PM_DYN_XCLK_DISP            0x00100000ul
 
2368
#define LCD_PM_DYN_XCLK_DISP2           0x00200000ul    /* Mobility */
 
2369
#define LCD_PM_DYN_XCLK_VID             0x00400000ul
 
2370
#define LCD_PM_DYN_XCLK_HFB             0x00800000ul
 
2371
#define LCD_PM_DYN_XCLK_SCL             0x01000000ul
 
2372
#define LCD_PM_DYN_XCLK_SUB             0x02000000ul
 
2373
#define LCD_PM_DYN_XCLK_GUI             0x04000000ul
 
2374
#define LCD_PM_DYN_XCLK_HOST            0x08000000ul
 
2375
/*      ?                               0xf0000000ul */
 
2376
#define LCD_PRI_ERR_PATTERN     0x1eu                   /* XC/XL */
 
2377
#define LCD_CUR_ERR_PATTERN     0x1fu                   /* XC/XL */
 
2378
#define LCD_PLTSTBLK_RPT        0x20u                   /* XC/XL */
 
2379
#define LCD_SYNC_RPT            0x21u                   /* XC/XL */
 
2380
#define LCD_CRC_PATTERN_RPT     0x22u                   /* XC/XL */
 
2381
#define LCD_PL_TRANSMITTER_CNTL 0x23u                   /* XC/XL */
 
2382
#define LCD_PL_PLL_CNTL         0x24u                   /* XC/XL */
 
2383
#define LCD_ALPHA_BLENDING      0x25u                   /* Mobility */
 
2384
#define LCD_PORTRAIT_GEN_CNTL   0x26u                   /* Mobility */
 
2385
#define LCD_APC_CTRL_IO         0x27u                   /* Mobility */
 
2386
#define LCD_TEST_IO             0x28u                   /* XC/XL */
 
2387
/*      ?                       0x29u */
 
2388
#define LCD_DP1_MEM_ACCESS      0x2au                   /* XC/XL */
 
2389
#define LCD_DP0_MEM_ACCESS      0x2bu                   /* XC/XL */
 
2390
#define LCD_DP0_DEBUG_A         0x2cu                   /* XC/XL */
 
2391
#define LCD_DP0_DEBUG_B         0x2du                   /* XC/XL */
 
2392
#define LCD_DP1_DEBUG_A         0x2eu                   /* XC/XL */
 
2393
#define LCD_DP1_DEBUG_B         0x2fu                   /* XC/XL */
 
2394
#define LCD_DPCTRL_DEBUG_A      0x30u                   /* XC/XL */
 
2395
#define LCD_DPCTRL_DEBUG_B      0x31u                   /* XC/XL */
 
2396
#define LCD_MEMBLK_DEBUG        0x32u                   /* XC/XL */
 
2397
#define LCD_APC_LUT_AB          0x33u                   /* Mobility */
 
2398
#define LCD_SCRATCH_PAD_4X      0x33u                   /* XL/XC */
 
2399
#define LCD_APC_LUT_CD          0x34u                   /* Mobility */
 
2400
#define LCD_SCRATCH_PAD_5X      0x34u                   /* XL/XC */
 
2401
#define LCD_APC_LUT_EF          0x35u                   /* Mobility */
 
2402
#define LCD_SCRATCH_PAD_6X      0x35u                   /* XL/XC */
 
2403
#define LCD_APC_LUT_GH          0x36u                   /* Mobility */
 
2404
#define LCD_SCRATCH_PAD_7X      0x36u                   /* XL/XC */
 
2405
#define LCD_APC_LUT_IJ          0x37u                   /* Mobility */
 
2406
#define LCD_SCRATCH_PAD_8X      0x37u                   /* XL/XC */
 
2407
#define LCD_APC_LUT_KL          0x38u                   /* Mobility */
 
2408
#define LCD_APC_LUT_MN          0x39u                   /* Mobility */
 
2409
#define LCD_APC_LUT_OP          0x3au                   /* Mobility */
 
2410
/*      ?                       0x3bu */
 
2411
/*      ?                       0x3cu */
 
2412
/*      ?                       0x3du */
 
2413
/*      ?                       0x3eu */
 
2414
/*      ?                       0x3fu */
 
2415
 
 
2416
/* Definitions for an LTPro's TV registers */
 
2417
/*      ?                       0x00u */
 
2418
/*      ?                       0x01u */
 
2419
/*      ?                       0x02u */
 
2420
/*      ?                       0x03u */
 
2421
/*      ?                       0x04u */
 
2422
/*      ?                       0x05u */
 
2423
/*      ?                       0x06u */
 
2424
/*      ?                       0x07u */
 
2425
/*      ?                       0x08u */
 
2426
/*      ?                       0x09u */
 
2427
/*      ?                       0x0au */
 
2428
/*      ?                       0x0bu */
 
2429
/*      ?                       0x0cu */
 
2430
/*      ?                       0x0du */
 
2431
/*      ?                       0x0eu */
 
2432
/*      ?                       0x0fu */
 
2433
#define TV_MASTER_CNTL          0x10u
 
2434
/*      ?                       0x11u */
 
2435
#define TV_RGB_CNTL             0x12u
 
2436
/*      ?                       0x13u */
 
2437
#define TV_SYNC_CNTL            0x14u
 
2438
/*      ?                       0x15u */
 
2439
/*      ?                       0x16u */
 
2440
/*      ?                       0x17u */
 
2441
/*      ?                       0x18u */
 
2442
/*      ?                       0x19u */
 
2443
/*      ?                       0x1au */
 
2444
/*      ?                       0x1bu */
 
2445
/*      ?                       0x1cu */
 
2446
/*      ?                       0x1du */
 
2447
/*      ?                       0x1eu */
 
2448
/*      ?                       0x1fu */
 
2449
#define TV_HTOTAL               0x20u
 
2450
#define TV_HDISP                0x21u
 
2451
#define TV_HSIZE                0x22u
 
2452
#define TV_HSTART               0x23u
 
2453
#define TV_HCOUNT               0x24u
 
2454
#define TV_VTOTAL               0x25u
 
2455
#define TV_VDISP                0x26u
 
2456
#define TV_VCOUNT               0x27u
 
2457
#define TV_FTOTAL               0x28u
 
2458
#define TV_FCOUNT               0x29u
 
2459
#define TV_FRESTART             0x2au
 
2460
#define TV_HRESTART             0x2bu
 
2461
#define TV_VRESTART             0x2cu
 
2462
/*      ?                       0x2du */
 
2463
/*      ?                       0x2eu */
 
2464
/*      ?                       0x2fu */
 
2465
/*      ?                       0x30u */
 
2466
/*      ?                       0x31u */
 
2467
/*      ?                       0x32u */
 
2468
/*      ?                       0x33u */
 
2469
/*      ?                       0x34u */
 
2470
/*      ?                       0x35u */
 
2471
/*      ?                       0x36u */
 
2472
/*      ?                       0x37u */
 
2473
/*      ?                       0x38u */
 
2474
/*      ?                       0x39u */
 
2475
/*      ?                       0x3au */
 
2476
/*      ?                       0x3bu */
 
2477
/*      ?                       0x3cu */
 
2478
/*      ?                       0x3du */
 
2479
/*      ?                       0x3eu */
 
2480
/*      ?                       0x3fu */
 
2481
/*      ?                       0x40u */
 
2482
/*      ?                       0x41u */
 
2483
/*      ?                       0x42u */
 
2484
/*      ?                       0x43u */
 
2485
/*      ?                       0x44u */
 
2486
/*      ?                       0x45u */
 
2487
/*      ?                       0x46u */
 
2488
/*      ?                       0x47u */
 
2489
/*      ?                       0x48u */
 
2490
/*      ?                       0x49u */
 
2491
/*      ?                       0x4au */
 
2492
/*      ?                       0x4bu */
 
2493
/*      ?                       0x4cu */
 
2494
/*      ?                       0x4du */
 
2495
/*      ?                       0x4eu */
 
2496
/*      ?                       0x4fu */
 
2497
/*      ?                       0x50u */
 
2498
/*      ?                       0x51u */
 
2499
/*      ?                       0x52u */
 
2500
/*      ?                       0x53u */
 
2501
/*      ?                       0x54u */
 
2502
/*      ?                       0x55u */
 
2503
/*      ?                       0x56u */
 
2504
/*      ?                       0x57u */
 
2505
/*      ?                       0x58u */
 
2506
/*      ?                       0x59u */
 
2507
/*      ?                       0x5au */
 
2508
/*      ?                       0x5bu */
 
2509
/*      ?                       0x5cu */
 
2510
/*      ?                       0x5du */
 
2511
/*      ?                       0x5eu */
 
2512
/*      ?                       0x5fu */
 
2513
#define TV_HOST_READ_DATA       0x60u
 
2514
#define TV_HOST_WRITE_DATA      0x61u
 
2515
#define TV_HOST_RD_WT_CNTL      0x62u
 
2516
/*      ?                       0x63u */
 
2517
/*      ?                       0x64u */
 
2518
/*      ?                       0x65u */
 
2519
/*      ?                       0x66u */
 
2520
/*      ?                       0x67u */
 
2521
/*      ?                       0x68u */
 
2522
/*      ?                       0x69u */
 
2523
/*      ?                       0x6au */
 
2524
/*      ?                       0x6bu */
 
2525
/*      ?                       0x6cu */
 
2526
/*      ?                       0x6du */
 
2527
/*      ?                       0x6eu */
 
2528
/*      ?                       0x6fu */
 
2529
#define TV_VSCALER_CNTL         0x70u
 
2530
#define TV_TIMING_CNTL          0x71u
 
2531
#define TV_GAMMA_CNTL           0x72u
 
2532
#define TV_Y_FALL_CNTL          0x73u
 
2533
#define TV_Y_RISE_CNTL          0x74u
 
2534
#define TV_Y_SAW_TOOTH_CNTL     0x75u
 
2535
/*      ?                       0x76u */
 
2536
/*      ?                       0x77u */
 
2537
/*      ?                       0x78u */
 
2538
/*      ?                       0x79u */
 
2539
/*      ?                       0x7au */
 
2540
/*      ?                       0x7bu */
 
2541
/*      ?                       0x7cu */
 
2542
/*      ?                       0x7du */
 
2543
/*      ?                       0x7eu */
 
2544
/*      ?                       0x7fu */
 
2545
#define TV_MODULATOR_CNTL1      0x80u
 
2546
#define TV_MODULATOR_CNTL2      0x81u
 
2547
/*      ?                       0x82u */
 
2548
/*      ?                       0x83u */
 
2549
/*      ?                       0x84u */
 
2550
/*      ?                       0x85u */
 
2551
/*      ?                       0x86u */
 
2552
/*      ?                       0x87u */
 
2553
/*      ?                       0x88u */
 
2554
/*      ?                       0x89u */
 
2555
/*      ?                       0x8au */
 
2556
/*      ?                       0x8bu */
 
2557
/*      ?                       0x8cu */
 
2558
/*      ?                       0x8du */
 
2559
/*      ?                       0x8eu */
 
2560
/*      ?                       0x8fu */
 
2561
#define TV_PRE_DAC_MUX_CNTL     0x90u
 
2562
/*      ?                       0x91u */
 
2563
/*      ?                       0x92u */
 
2564
/*      ?                       0x93u */
 
2565
/*      ?                       0x94u */
 
2566
/*      ?                       0x95u */
 
2567
/*      ?                       0x96u */
 
2568
/*      ?                       0x97u */
 
2569
/*      ?                       0x98u */
 
2570
/*      ?                       0x99u */
 
2571
/*      ?                       0x9au */
 
2572
/*      ?                       0x9bu */
 
2573
/*      ?                       0x9cu */
 
2574
/*      ?                       0x9du */
 
2575
/*      ?                       0x9eu */
 
2576
/*      ?                       0x9fu */
 
2577
#define TV_DAC_CNTL             0xa0u
 
2578
/*      ?                       0xa1u */
 
2579
/*      ?                       0xa2u */
 
2580
/*      ?                       0xa3u */
 
2581
/*      ?                       0xa4u */
 
2582
/*      ?                       0xa5u */
 
2583
/*      ?                       0xa6u */
 
2584
/*      ?                       0xa7u */
 
2585
/*      ?                       0xa8u */
 
2586
/*      ?                       0xa9u */
 
2587
/*      ?                       0xaau */
 
2588
/*      ?                       0xabu */
 
2589
/*      ?                       0xacu */
 
2590
/*      ?                       0xadu */
 
2591
/*      ?                       0xaeu */
 
2592
/*      ?                       0xafu */
 
2593
#define TV_CRC_CNTL             0xb0u
 
2594
#define TV_VIDEO_PORT_SIG       0xb1u
 
2595
/*      ?                       0xb2u */
 
2596
/*      ?                       0xb3u */
 
2597
/*      ?                       0xb4u */
 
2598
/*      ?                       0xb5u */
 
2599
/*      ?                       0xb6u */
 
2600
/*      ?                       0xb7u */
 
2601
#define TV_VBI_CC_CNTL          0xb8u
 
2602
#define TV_VBI_EDS_CNTL         0xb9u
 
2603
#define TV_VBI_20BIT_CNTL       0xbau
 
2604
/*      ?                       0xbbu */
 
2605
/*      ?                       0xbcu */
 
2606
#define TV_VBI_DTO_CNTL         0xbdu
 
2607
#define TV_VBI_LEVEL_CNTL       0xbeu
 
2608
/*      ?                       0xbfu */
 
2609
#define TV_UV_ADR               0xc0u
 
2610
#define TV_FIFO_TEST_CNTL       0xc1u
 
2611
/*      ?                       0xc2u */
 
2612
/*      ?                       0xc3u */
 
2613
/*      ?                       0xc4u */
 
2614
/*      ?                       0xc5u */
 
2615
/*      ?                       0xc6u */
 
2616
/*      ?                       0xc7u */
 
2617
/*      ?                       0xc8u */
 
2618
/*      ?                       0xc9u */
 
2619
/*      ?                       0xcau */
 
2620
/*      ?                       0xcbu */
 
2621
/*      ?                       0xccu */
 
2622
/*      ?                       0xcdu */
 
2623
/*      ?                       0xceu */
 
2624
/*      ?                       0xcfu */
 
2625
/*      ?                       0xd0u */
 
2626
/*      ?                       0xd1u */
 
2627
/*      ?                       0xd2u */
 
2628
/*      ?                       0xd3u */
 
2629
/*      ?                       0xd4u */
 
2630
/*      ?                       0xd5u */
 
2631
/*      ?                       0xd6u */
 
2632
/*      ?                       0xd7u */
 
2633
/*      ?                       0xd8u */
 
2634
/*      ?                       0xd9u */
 
2635
/*      ?                       0xdau */
 
2636
/*      ?                       0xdbu */
 
2637
/*      ?                       0xdcu */
 
2638
/*      ?                       0xddu */
 
2639
/*      ?                       0xdeu */
 
2640
/*      ?                       0xdfu */
 
2641
/*      ?                       0xe0u */
 
2642
/*      ?                       0xe1u */
 
2643
/*      ?                       0xe2u */
 
2644
/*      ?                       0xe3u */
 
2645
/*      ?                       0xe4u */
 
2646
/*      ?                       0xe5u */
 
2647
/*      ?                       0xe6u */
 
2648
/*      ?                       0xe7u */
 
2649
/*      ?                       0xe8u */
 
2650
/*      ?                       0xe9u */
 
2651
/*      ?                       0xeau */
 
2652
/*      ?                       0xebu */
 
2653
/*      ?                       0xecu */
 
2654
/*      ?                       0xedu */
 
2655
/*      ?                       0xeeu */
 
2656
/*      ?                       0xefu */
 
2657
/*      ?                       0xf0u */
 
2658
/*      ?                       0xf1u */
 
2659
/*      ?                       0xf2u */
 
2660
/*      ?                       0xf3u */
 
2661
/*      ?                       0xf4u */
 
2662
/*      ?                       0xf5u */
 
2663
/*      ?                       0xf6u */
 
2664
/*      ?                       0xf7u */
 
2665
/*      ?                       0xf8u */
 
2666
/*      ?                       0xf9u */
 
2667
/*      ?                       0xfau */
 
2668
/*      ?                       0xfbu */
 
2669
/*      ?                       0xfcu */
 
2670
/*      ?                       0xfdu */
 
2671
/*      ?                       0xfeu */
 
2672
/*      ?                       0xffu */
 
2673
 
 
2674
/* Some ImpacTV definitions */
 
2675
#define IT_SDA_GET              0x40u
 
2676
#define IT_SDA_SET              0x20u
 
2677
#define IT_SDA_DIR              0x10u
 
2678
#define IT_SCL_GET              0x04u
 
2679
#define IT_SCL_SET              0x02u
 
2680
#define IT_SCL_DIR              0x01u
 
2681
 
 
2682
#define IT_I2C_CNTL             0x0015u
 
2683
 
 
2684
/* Miscellaneous */
 
2685
 
 
2686
/* Current X, Y & Dest X, Y mask */
 
2687
#define COORD_MASK      0x07ffu
 
2688
 
 
2689
/* Pixel widths */
 
2690
#define PIX_WIDTH_1BPP                  0x00u
 
2691
#define PIX_WIDTH_4BPP                  0x01u   /* CRTC2: 8bpp */
 
2692
#define PIX_WIDTH_8BPP                  0x02u   /* CRTC2: Undefined */
 
2693
#define PIX_WIDTH_15BPP                 0x03u
 
2694
#define PIX_WIDTH_16BPP                 0x04u
 
2695
#define PIX_WIDTH_24BPP                 0x05u
 
2696
#define PIX_WIDTH_32BPP                 0x06u
 
2697
#define PIX_WIDTH_YUV422                0x07u   /* CRTC2 only */
 
2698
 
 
2699
/* Source definitions */
 
2700
#define SRC_BKGD                        0x00u
 
2701
#define SRC_FRGD                        0x01u
 
2702
#define SRC_HOST                        0x02u
 
2703
#define SRC_BLIT                        0x03u
 
2704
#define SRC_PATTERN                     0x04u
 
2705
#define SRC_SCALER_3D                   0x05u
 
2706
/*      ?                               0x06u */
 
2707
/*      ?                               0x07u */
 
2708
 
 
2709
/* The Mixes */
 
2710
#define MIX_MASK                        0x001fu
 
2711
 
 
2712
#define MIX_NOT_DST                     0x0000u
 
2713
#define MIX_0                           0x0001u
 
2714
#define MIX_1                           0x0002u
 
2715
#define MIX_DST                         0x0003u
 
2716
#define MIX_NOT_SRC                     0x0004u
 
2717
#define MIX_XOR                         0x0005u
 
2718
#define MIX_XNOR                        0x0006u
 
2719
#define MIX_SRC                         0x0007u
 
2720
#define MIX_NAND                        0x0008u
 
2721
#define MIX_NOT_SRC_OR_DST              0x0009u
 
2722
#define MIX_SRC_OR_NOT_DST              0x000au
 
2723
#define MIX_OR                          0x000bu
 
2724
#define MIX_AND                         0x000cu
 
2725
#define MIX_SRC_AND_NOT_DST             0x000du
 
2726
#define MIX_NOT_SRC_AND_DST             0x000eu
 
2727
#define MIX_NOR                         0x000fu
 
2728
 
 
2729
#define MIX_MIN                         0x0010u
 
2730
#define MIX_DST_MINUS_SRC               0x0011u
 
2731
#define MIX_SRC_MINUS_DST               0x0012u
 
2732
#define MIX_PLUS                        0x0013u
 
2733
#define MIX_MAX                         0x0014u
 
2734
#define MIX_HALF__DST_MINUS_SRC         0x0015u
 
2735
#define MIX_HALF__SRC_MINUS_DST         0x0016u
 
2736
#define MIX_AVERAGE                     0x0017u
 
2737
#define MIX_DST_MINUS_SRC_SAT           0x0018u
 
2738
#define MIX_SRC_MINUS_DST_SAT           0x001au
 
2739
#define MIX_HALF__DST_MINUS_SRC_SAT     0x001cu
 
2740
#define MIX_HALF__SRC_MINUS_DST_SAT     0x001eu
 
2741
#define MIX_AVERAGE_SAT                 0x001fu
 
2742
#define MIX_FN_PAINT                    MIX_SRC
 
2743
 
 
2744
/* Video/Graphics mix functions for overlay */
 
2745
#define OVERLAY_MIX_FALSE               0x00u
 
2746
#define OVERLAY_MIX_TRUE                0x01u
 
2747
/*      ?                               0x02u */
 
2748
/*      ?                               0x03u */
 
2749
#define OVERLAY_MIX_NOT_EQUAL           0x04u
 
2750
#define OVERLAY_MIX_EQUAL               0x05u
 
2751
/*      ?                               0x06u */
 
2752
/*      ?                               0x07u */
 
2753
 
 
2754
/* 3D Engine for render acceleration (from Mach64 DRI driver) */
 
2755
 
 
2756
/* SCALE_3D_CNTL */
 
2757
#define MACH64_SCALE_PIX_EXPAND_ZERO_EXTEND     (0 << 0)
 
2758
#define MACH64_SCALE_PIX_EXPAND_DYNAMIC_RANGE   (1 << 0)
 
2759
#define MACH64_SCALE_DITHER_ERROR_DIFFUSE       (0 << 1)
 
2760
#define MACH64_SCALE_DITHER_2D_TABLE            (1 << 1)
 
2761
#define MACH64_DITHER_EN                        (1 << 2)
 
2762
#define MACH64_DITHER_INIT_CURRENT              (O << 3)
 
2763
#define MACH64_DITHER_INIT_RESET                (1 << 3)
 
2764
#define MACH64_ROUND_EN                         (1 << 4)
 
2765
 
 
2766
#define MACH64_TEX_CACHE_DIS                    (1 << 5)
 
2767
 
 
2768
#define MACH64_SCALE_3D_FCN_MASK                (3 << 6)
 
2769
#define MACH64_SCALE_3D_FCN_NOP                 (0 << 6)
 
2770
#define MACH64_SCALE_3D_FCN_SCALE               (1 << 6)
 
2771
#define MACH64_SCALE_3D_FCN_TEXTURE             (2 << 6)
 
2772
#define MACH64_SCALE_3D_FCN_SHADE               (3 << 6)
 
2773
#define MACH64_TEXTURE_DISABLE                  (1 << 6)
 
2774
 
 
2775
#define MACH64_EDGE_ANTI_ALIAS                  (1 << 8)
 
2776
#define MACH64_TEX_CACHE_SPLIT                  (1 << 9)
 
2777
#define MACH64_APPLE_YUV_MODE                   (1 << 10)
 
2778
 
 
2779
#define MACH64_ALPHA_FOG_EN_MASK                (3 << 11)
 
2780
#define MACH64_ALPHA_FOG_DIS                    (0 << 11)
 
2781
#define MACH64_ALPHA_FOG_EN_ALPHA               (1 << 11)
 
2782
#define MACH64_ALPHA_FOG_EN_FOG                 (2 << 11)
 
2783
 
 
2784
#define MACH64_ALPHA_BLEND_SAT                  (1 << 13)
 
2785
#define MACH64_RED_DITHER_MAX                   (1 << 14)
 
2786
#define MACH64_SIGNED_DST_CLAMP                 (1 << 15)
 
2787
 
 
2788
#define MACH64_ALPHA_BLEND_SRC_MASK             (7 << 16)
 
2789
#define MACH64_ALPHA_BLEND_SRC_ZERO             (0 << 16)
 
2790
#define MACH64_ALPHA_BLEND_SRC_ONE              (1 << 16)
 
2791
#define MACH64_ALPHA_BLEND_SRC_DSTCOLOR         (2 << 16)
 
2792
#define MACH64_ALPHA_BLEND_SRC_INVDSTCOLOR      (3 << 16)
 
2793
#define MACH64_ALPHA_BLEND_SRC_SRCALPHA         (4 << 16)
 
2794
#define MACH64_ALPHA_BLEND_SRC_INVSRCALPHA      (5 << 16)
 
2795
#define MACH64_ALPHA_BLEND_SRC_DSTALPHA         (6 << 16)
 
2796
#define MACH64_ALPHA_BLEND_SRC_INVDSTALPHA      (7 << 16)
 
2797
#define MACH64_ALPHA_BLEND_DST_MASK             (7 << 19)
 
2798
#define MACH64_ALPHA_BLEND_DST_ZERO             (0 << 19)
 
2799
#define MACH64_ALPHA_BLEND_DST_ONE              (1 << 19)
 
2800
#define MACH64_ALPHA_BLEND_DST_SRCCOLOR         (2 << 19)
 
2801
#define MACH64_ALPHA_BLEND_DST_INVSRCCOLOR      (3 << 19)
 
2802
#define MACH64_ALPHA_BLEND_DST_SRCALPHA         (4 << 19)
 
2803
#define MACH64_ALPHA_BLEND_DST_INVSRCALPHA      (5 << 19)
 
2804
#define MACH64_ALPHA_BLEND_DST_DSTALPHA         (6 << 19)
 
2805
#define MACH64_ALPHA_BLEND_DST_INVDSTALPHA      (7 << 19)
 
2806
 
 
2807
#define MACH64_TEX_LIGHT_FCN_MASK               (3 << 22)
 
2808
#define MACH64_TEX_LIGHT_FCN_REPLACE            (0 << 22)
 
2809
#define MACH64_TEX_LIGHT_FCN_MODULATE           (1 << 22)
 
2810
#define MACH64_TEX_LIGHT_FCN_ALPHA_DECAL        (2 << 22)
 
2811
 
 
2812
#define MACH64_MIP_MAP_DISABLE                  (1 << 24)
 
2813
 
 
2814
#define MACH64_BILINEAR_TEX_EN                  (1 << 25)
 
2815
#define MACH64_TEX_BLEND_FCN_MASK               (3 << 26)
 
2816
#define MACH64_TEX_BLEND_FCN_NEAREST            (0 << 26)
 
2817
#define MACH64_TEX_BLEND_FCN_LINEAR             (2 << 26)
 
2818
#define MACH64_TEX_BLEND_FCN_TRILINEAR          (3 << 26)
 
2819
 
 
2820
#define MACH64_TEX_AMASK_AEN                    (1 << 28)
 
2821
#define MACH64_TEX_AMASK_BLEND_EDGE             (1 << 29)
 
2822
#define MACH64_TEX_MAP_AEN                      (1 << 30)
 
2823
#define MACH64_SRC_3D_HOST_FIFO                 (1 << 31)
 
2824
 
 
2825
/* TEX_CNTL */
 
2826
#define MACH64_LOD_BIAS_SHIFT                   0
 
2827
#define MACH64_LOD_BIAS_MASK                    (0xf << 0)
 
2828
#define MACH64_COMP_FACTOR_SHIFT                4
 
2829
#define MACH64_COMP_FACTOR_MASK                 (0xf << 4)
 
2830
 
 
2831
#define MACH64_TEXTURE_COMPOSITE                (1 << 8)
 
2832
 
 
2833
#define MACH64_COMP_COMBINE_BLEND               (0 << 9)
 
2834
#define MACH64_COMP_COMBINE_MODULATE            (1 << 9)
 
2835
#define MACH64_COMP_BLEND_NEAREST               (0 << 11)
 
2836
#define MACH64_COMP_BLEND_BILINEAR              (1 << 11)
 
2837
#define MACH64_COMP_FILTER_NEAREST              (0 << 12)
 
2838
#define MACH64_COMP_FILTER_BILINEAR             (1 << 12)
 
2839
#define MACH64_COMP_ALPHA                       (1 << 13)
 
2840
 
 
2841
#define MACH64_TEXTURE_TILING                   (1 << 14)
 
2842
#define MACH64_COMPOSITE_TEX_TILING             (1 << 15)
 
2843
#define MACH64_TEX_COLLISION_DISABLE            (1 << 16)
 
2844
 
 
2845
#define MACH64_TEXTURE_CLAMP_S                  (1 << 17)
 
2846
#define MACH64_TEXTURE_CLAMP_T                  (1 << 18)
 
2847
#define MACH64_TEX_ST_MULT_W                    (0 << 19)
 
2848
#define MACH64_TEX_ST_DIRECT                    (1 << 19)
 
2849
#define MACH64_TEX_SRC_LOCAL                    (0 << 20)
 
2850
#define MACH64_TEX_SRC_AGP                      (1 << 20)
 
2851
#define MACH64_TEX_UNCOMPRESSED                 (0 << 21)
 
2852
#define MACH64_TEX_VQ_COMPRESSED                (1 << 21)
 
2853
#define MACH64_COMP_TEX_UNCOMPRESSED            (0 << 22)
 
2854
#define MACH64_COMP_TEX_VQ_COMPRESSED           (1 << 22)
 
2855
#define MACH64_TEX_CACHE_FLUSH                  (1 << 23)
 
2856
#define MACH64_SEC_TEX_CLAMP_S                  (1 << 24)
 
2857
#define MACH64_SEC_TEX_CLAMP_T                  (1 << 25)
 
2858
#define MACH64_TEX_WRAP_S                       (1 << 28)
 
2859
#define MACH64_TEX_WRAP_T                       (1 << 29)
 
2860
#define MACH64_TEX_CACHE_SIZE_4K                (1 << 30)
 
2861
#define MACH64_TEX_CACHE_SIZE_2K                (1 << 30)
 
2862
#define MACH64_SECONDARY_STW                    (1 << 31)
 
2863
 
 
2864
/* DP_PIX_WIDTH (superset of PIX_WIDTH_?BPP) */
 
2865
#define MACH64_DATATYPE_CI8                             2
 
2866
#define MACH64_DATATYPE_ARGB1555                        3
 
2867
#define MACH64_DATATYPE_RGB565                          4
 
2868
#define MACH64_DATATYPE_ARGB8888                        6
 
2869
#define MACH64_DATATYPE_RGB332                          7
 
2870
#define MACH64_DATATYPE_Y8                              8
 
2871
#define MACH64_DATATYPE_RGB8                            9
 
2872
#define MACH64_DATATYPE_VYUY422                         11
 
2873
#define MACH64_DATATYPE_YVYU422                         12
 
2874
#define MACH64_DATATYPE_AYUV444                         14
 
2875
#define MACH64_DATATYPE_ARGB4444                        15
 
2876
 
 
2877
/* Extract texture level from TEX_SIZE_PITCH and shift appropriately for
 
2878
 * addition to TEX_0_OFF.
 
2879
 */
 
2880
#define TEX_LEVEL(_tex_size_pitch) (((_tex_size_pitch) & 0xf0) >> 2)
 
2881
 
 
2882
#endif /* ___ATIREGS_H___ */