Home | History | Annotate | Line # | Download | only in src
      1 /*
      2  * Copyright 1994 through 2004 by Marc Aurele La France (TSI @ UQV), tsi (at) 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 (at) cs.unc.edu
     25  *    Tiago Gons, tiago (at) comosjn.hobby.nl
     26  *    Rickard E. Faith, faith (at) cs.unc.edu
     27  *    Scott Laird, lair (at) 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___ */
   2883