102be438aSmrg/*
202be438aSmrg   Voodoo Banshee driver version 1.0.1
302be438aSmrg
402be438aSmrg   Author: Daryll Strauss
502be438aSmrg
602be438aSmrg   Copyright: 1998,1999
702be438aSmrg*/
802be438aSmrg
902be438aSmrg#ifndef _TDFXDEFS_H_
1002be438aSmrg#define _TDFXDEFS_H_
1102be438aSmrg
1202be438aSmrg#define TDFXIOMAPSIZE 0x2000000
1302be438aSmrg
1402be438aSmrg/* Flags */
1502be438aSmrg#define BIT(n)  (1UL<<(n))
1602be438aSmrg#define SST_SGRAM_OFLOP_DEL_ADJ_SHIFT   20
1702be438aSmrg#define SST_SGRAM_CLK_NODELAY           BIT(13)
1802be438aSmrg#define SST_DRAM_REFRESH_EN             BIT(0)
1902be438aSmrg#define SST_DRAM_REFRESH_VALUE_SHIFT    1
2002be438aSmrg#define SST_DRAM_REFRESH_VALUE          (0x1FF<<SST_DRAM_REFRESH_VALUE_SHIFT)
2102be438aSmrg#define SST_SGRAM_TYPE_SHIFT            27
2202be438aSmrg#define SST_SGRAM_TYPE                  (0x1L<<SST_SGRAM_TYPE_SHIFT)
2302be438aSmrg#define SST_SGRAM_NUM_CHIPSETS          BIT(26)
2402be438aSmrg#define SST_SGRAM_TYPE_8MBIT		(0x0L<<SST_SGRAM_TYPE_SHIFT)
2502be438aSmrg#define SST_SGRAM_TYPE_16MBIT		(0x1L<<SST_SGRAM_TYPE_SHIFT)
2602be438aSmrg#define SST_DISABLE_2D_BLOCK_WRITE      BIT(15)
2702be438aSmrg#define SST_MCTL_TYPE_SDRAM             BIT(30)
2802be438aSmrg#define SST_DAC_MODE_2X			BIT(0)
2902be438aSmrg#define SST_VIDEO_2X_MODE_EN            BIT(26)
3002be438aSmrg#define SST_VGA0_EXTENSIONS             BIT(6)
3102be438aSmrg#define SST_WAKEUP_3C3                  1
3202be438aSmrg#define SST_VGA0_WAKEUP_SELECT_SHIFT    8
3302be438aSmrg#define SST_VGA0_LEGACY_DECODE_SHIFT    9
3402be438aSmrg#define SST_VGA0_LEGACY_DECODE          (1 << SST_VGA0_LEGACY_DECODE_SHIFT)
3502be438aSmrg#define SST_VGA0_ENABLE_DECODE          0
3602be438aSmrg#define SST_ENABLE_ALT_READBACK         0
3702be438aSmrg#define SST_VGA0_CLUT_SELECT_SHIFT      2
3802be438aSmrg#define SST_CLUT_SELECT_6BIT            0
3902be438aSmrg#define SST_CLUT_SELECT_8BIT            1
4002be438aSmrg#define SST_VGA0_CONFIG_READBACK_SHIFT  10
4102be438aSmrg#define SST_VIDEO_PROCESSOR_EN          BIT(0)
4202be438aSmrg#define SST_CURSOR_MODE_SHIFT           1
4302be438aSmrg#define SST_CURSOR_X11                  (1<<SST_CURSOR_MODE_SHIFT)
4402be438aSmrg#define SST_DESKTOP_EN                  BIT(7)
4502be438aSmrg#define SST_DESKTOP_PIXEL_FORMAT_SHIFT  18
4602be438aSmrg#define SST_DESKTOP_CLUT_BYPASS         BIT(10)
4702be438aSmrg#define SST_INTERLACE                   BIT(3)
4802be438aSmrg#define SST_HALF_MODE                   BIT(4)
4902be438aSmrg#define SST_CURSOR_EN                   BIT(27)
5002be438aSmrg#define SST_FBI_BUSY                    BIT(7)
5102be438aSmrg#define SST_BUSY                        BIT(9)
5202be438aSmrg#define SST_RETRACE			BIT(6)
5302be438aSmrg#define SST_COMMANDEXTRA_VSYNC          BIT(2)
5402be438aSmrg
5502be438aSmrg#define MEM_TYPE_SGRAM  0
5602be438aSmrg#define MEM_TYPE_SDRAM  1
5702be438aSmrg/*
5802be438aSmrg * SST_RAW_LFB_ADDR_STRIDE(Lg2SizeInK) takes the
5902be438aSmrg * lfbMemoryConfig value for SGRAMStrideInTiles.  This
6002be438aSmrg * is given by this table:
6102be438aSmrg *  SGRAMStrideInBytes        lfbMemoryConfig Value
6202be438aSmrg *  ==================        =====================
6302be438aSmrg *          1k                          0
6402be438aSmrg *          2k                          1
6502be438aSmrg *          4k                          2
6602be438aSmrg *          8k                          3
6702be438aSmrg *         16k                          4
6802be438aSmrg *
6902be438aSmrg * FWIW, the right hand column is log2(left hand column)-10
7002be438aSmrg */
7102be438aSmrg#define SST_RAW_LFB_ADDR_STRIDE_SHIFT 13
7202be438aSmrg#define SST_RAW_LFB_ADDR_STRIDE(Lg2SizeInK) \
7302be438aSmrg		((Lg2SizeInK)<<SST_RAW_LFB_ADDR_STRIDE_SHIFT)
7402be438aSmrg#define SST_RAW_LFB_ADDR_STRIDE_4K SST_RAW_LFB_ADDR_STRIDE(2)
7502be438aSmrg#define SST_RAW_LFB_ADDR_STRIDE_8K SST_RAW_LFB_ADDR_STRIDE(3)
7602be438aSmrg#define SST_RAW_LFB_ADDR_STRIDE_16K SST_RAW_LFB_ADDR_STRIDE(4)
7702be438aSmrg#define SST_RAW_LFB_TILE_STRIDE_SHIFT 16
7802be438aSmrg
7902be438aSmrg#define BLIT_LEFT 1
8002be438aSmrg#define BLIT_UP 2
8102be438aSmrg
8202be438aSmrg/* Base Registers */
8302be438aSmrg#define STATUS 0x0
8402be438aSmrg#define PCIINIT0 0x4
8502be438aSmrg#define SIPMONITOR 0x8
8602be438aSmrg#define LFBMEMORYCONFIG 0xC
8702be438aSmrg#define MISCINIT0 0x10
8802be438aSmrg#define MISCINIT1 0x14
8902be438aSmrg#define DRAMINIT0 0x18
9002be438aSmrg#define DRAMINIT1 0x1C
9102be438aSmrg#define AGPINIT 0x20
9202be438aSmrg#define TMUGBEINIT 0x24
9302be438aSmrg#define VGAINIT0 0x28
9402be438aSmrg#define VGAINIT1 0x2c
9502be438aSmrg#define DRAMCOMMAND 0x30
9602be438aSmrg#define DRAMDATA 0x34
9702be438aSmrg#define PLLCTRL0 0x40
9802be438aSmrg#define PLLCTRL1 0x44
9902be438aSmrg#define PLLCTRL2 0x48
10002be438aSmrg#define DACMODE 0x4c
10102be438aSmrg#define DACADDR 0x50
10202be438aSmrg#define DACDATA 0x54
10302be438aSmrg#define RGBMAXDELTA 0x58
10402be438aSmrg#define VIDPROCCFG 0x5c
10502be438aSmrg#define HWCURPATADDR 0x60
10602be438aSmrg#define HWCURLOC 0x64
10702be438aSmrg#define HWCURC0 0x68
10802be438aSmrg#define HWCURC1 0x6c
10902be438aSmrg#define VIDINFORMAT 0x70
11002be438aSmrg#define VIDINSTATUS 0x74
11102be438aSmrg#define VIDSERIALPARALLELPORT 0x78
112880ed95aSmrg#define VSP_TVOUT_RESET	0x80000000	/* 0 forces TVout reset */
113880ed95aSmrg#define VSP_GPIO2_IN	0x40000000
114880ed95aSmrg#define VSP_GPIO1_OUT	0x20000000
115880ed95aSmrg#define VSP_VMI_RESET_N	0x10000000	/* 0 forces a VMI reset */
116880ed95aSmrg#define VSP_SDA1_IN	0x08000000	/* i2c bus on the feature connector */
117880ed95aSmrg#define VSP_SCL1_IN	0x04000000
118880ed95aSmrg#define VSP_SDA1_OUT	0x02000000
119880ed95aSmrg#define VSP_SCL1_OUT	0x01000000
120880ed95aSmrg#define VSP_ENABLE_IIC1	0x00800000	/* 1 enables I2C bus 1 */
121880ed95aSmrg#define VSP_SDA0_IN	0x00400000	/* i2c bus on the monitor connector */
122880ed95aSmrg#define VSP_SCL0_IN	0x00200000
123880ed95aSmrg#define VSP_SDA0_OUT	0x00100000
124880ed95aSmrg#define VSP_SCL0_OUT	0x00080000
125880ed95aSmrg#define VSP_ENABLE_IIC0	0x00040000	/* 1 enables I2C bus 0 */
126880ed95aSmrg#define VSP_VMI_ADDRESS	0x0003c000	/* mask */
127880ed95aSmrg#define VSP_VMI_DATA	0x00003fc0	/* mask */
128880ed95aSmrg#define VSP_VMI_DISABLE	0x00000020	/* 0 enables VMI output */
129880ed95aSmrg#define VSP_VMI_RDY_N	0x00000010
130880ed95aSmrg#define VSP_RW_N	0x00000008
131880ed95aSmrg#define VSP_DS_N	0x00000004
132880ed95aSmrg#define VSP_CS_N	0x00000002
133880ed95aSmrg#define VSP_HOST_ENABLE	0x00000001	/* 1 enables VMI host control*/
13402be438aSmrg#define VIDINXDECIMDELTAS 0x7c
13502be438aSmrg#define VIDINDECIMINITERRS 0x80
13602be438aSmrg#define VIDYDECIMDELTA 0x84
13702be438aSmrg#define VIDPXELBUGTHOLD 0x88
13802be438aSmrg#define VIDCHROMAMIN 0x8c
13902be438aSmrg#define VIDCHROMAMAX 0x90
14002be438aSmrg#define VIDCURRENTLINE 0x94
14102be438aSmrg#define VIDSCREENSIZE 0x98
14202be438aSmrg#define VIDOVERLAYSTARTCOORDS 0x9c
14302be438aSmrg#define VIDOVERLAYENDSCREENCOORDS 0xa0
14402be438aSmrg#define VIDOVERLAYDUDX 0xa4
14502be438aSmrg#define VIDOVERLAYDUDXOFFSETSRCWIDTH 0xa8
14602be438aSmrg#define VIDOVERLAYDVDY 0xac
14702be438aSmrg#define VIDOVERLAYDVDYOFFSET 0xe0
14802be438aSmrg#define VIDDESKTOPSTARTADDR 0xe4
14902be438aSmrg#define VIDDESKTOPOVERLAYSTRIDE 0xe8
15002be438aSmrg#define VIDINADDR0 0xec
15102be438aSmrg#define VIDINADDR1 0xf0
15202be438aSmrg#define VIDINADDR2 0xf4
15302be438aSmrg#define VIDINSTRIDE 0xf8
15402be438aSmrg#define VIDCUROVERLAYSTARTADDR 0xfc
15502be438aSmrg
15602be438aSmrg/* 2D Commands */
15702be438aSmrg#define SST_2D_NOP 0
15802be438aSmrg#define SST_2D_SCRNTOSCRNBLIT 1
15902be438aSmrg#define SST_2D_SCRNTOSCRNSTRETCH 2
16002be438aSmrg#define SST_2D_HOSTTOSCRNBLIT 3
16102be438aSmrg#define SST_2D_HOSTTOSCRNSTRECH 4
16202be438aSmrg#define SST_2D_RECTANGLEFILL 5
16302be438aSmrg#define SST_2D_LINE (6 | SST_2D_REVERSIBLE)
16402be438aSmrg#define SST_2D_POLYLINE (7 | SST_2D_REVERSIBLE)
16502be438aSmrg#define SST_2D_POLYGONFILL (8 | SST_2D_REVERSIBLE)
16602be438aSmrg
16702be438aSmrg/* Flags */
16802be438aSmrg#define SST_2D_REVERSIBLE               BIT(9)
16902be438aSmrg#define SST_2D_STIPPLE_LINE             BIT(12)
17002be438aSmrg#define SST_2D_MONOCHROME_PATTERN       BIT(13)
17102be438aSmrg#define SST_2D_X_RIGHT_TO_LEFT          BIT(14)
17202be438aSmrg#define SST_2D_Y_BOTTOM_TO_TOP          BIT(15)
17302be438aSmrg#define SST_2D_TRANSPARENT_MONOCHROME   BIT(16)
17402be438aSmrg#define SST_2D_SOURCE_PACKING_SHIFT     22
17502be438aSmrg#define SST_2D_SOURCE_PACKING_BYTE      (1<<SST_2D_SOURCE_PACKING_SHIFT)
17602be438aSmrg#define SST_2D_SOURCE_PACKING_WORD      (2<<SST_2D_SOURCE_PACKING_SHIFT)
17702be438aSmrg#define SST_2D_SOURCE_PACKING_DWORD     (3<<SST_2D_SOURCE_PACKING_SHIFT)
17802be438aSmrg#define SST_2D_X_PATOFFSET_SHIFT	17
17902be438aSmrg#define SST_2D_Y_PATOFFSET_SHIFT	20
18002be438aSmrg#define SST_2D_SRC_FORMAT_SHIFT		16
18102be438aSmrg#define SST_2D_PIXFMT_1BPP		(0<<SST_2D_SRC_FORMAT_SHIFT)
18202be438aSmrg#define SST_2D_SRC_COLORKEY_EX		BIT(0)
18302be438aSmrg#define SST_2D_GO			BIT(8)
18402be438aSmrg#define SST_2D_USECLIP1			BIT(23)
18502be438aSmrg
18602be438aSmrg/* 2D Registers */
18702be438aSmrg#define SST_2D_OFFSET           0x100000
18802be438aSmrg#define SST_2D_CLIP0MIN SST_2D_OFFSET+0x8
18902be438aSmrg#define SST_2D_CLIP0MAX SST_2D_OFFSET+0xC
19002be438aSmrg#define SST_2D_DSTBASEADDR SST_2D_OFFSET+0x10
19102be438aSmrg#define SST_2D_DSTFORMAT SST_2D_OFFSET+0x14
19202be438aSmrg#define SST_2D_SRCCOLORKEYMIN SST_2D_OFFSET+0x18
19302be438aSmrg#define SST_2D_SRCCOLORKEYMAX SST_2D_OFFSET+0x1c
19402be438aSmrg#define SST_2D_DSTCOLORKEYMIN SST_2D_OFFSET+0x20
19502be438aSmrg#define SST_2D_DSTCOLORKEYMAX SST_2D_OFFSET+0x24
19602be438aSmrg#define SST_2D_BRESERROR0 SST_2D_OFFSET+0x28
19702be438aSmrg#define SST_2D_BRESERROR1 SST_2D_OFFSET+0x2c
19802be438aSmrg#define SST_2D_ROP SST_2D_OFFSET+0x30
19902be438aSmrg#define SST_2D_SRCBASEADDR SST_2D_OFFSET+0x34
20002be438aSmrg#define SST_2D_COMMANDEXTRA SST_2D_OFFSET+0x38
20102be438aSmrg#define SST_2D_LINESTIPPLE SST_2D_OFFSET+0x3c
20202be438aSmrg#define SST_2D_LINESTYLE SST_2D_OFFSET+0x40
20302be438aSmrg#define SST_2D_CLIP1MIN SST_2D_OFFSET+0x4C
20402be438aSmrg#define SST_2D_CLIP1MAX SST_2D_OFFSET+0x50
20502be438aSmrg#define SST_2D_SRCFORMAT SST_2D_OFFSET+0x54
20602be438aSmrg#define SST_2D_SRCSIZE SST_2D_OFFSET+0x58
20702be438aSmrg#define SST_2D_SRCXY SST_2D_OFFSET+0x5C
20802be438aSmrg#define SST_2D_COLORBACK SST_2D_OFFSET+0x60
20902be438aSmrg#define SST_2D_COLORFORE SST_2D_OFFSET+0x64
21002be438aSmrg#define SST_2D_DSTSIZE SST_2D_OFFSET+0x68
21102be438aSmrg#define SST_2D_DSTXY SST_2D_OFFSET+0x6C
21202be438aSmrg#define SST_2D_COMMAND SST_2D_OFFSET+0x70
21302be438aSmrg#define SST_2D_LAUNCH SST_2D_OFFSET+0x80
21402be438aSmrg#define SST_2D_PATTERN0 SST_2D_OFFSET+0x100
21502be438aSmrg#define SST_2D_PATTERN1 SST_2D_OFFSET+0x104
21602be438aSmrg
21702be438aSmrg/* 3D Commands */
21802be438aSmrg#define SST_3D_NOP 0
21902be438aSmrg
22002be438aSmrg/* 3D Registers */
22102be438aSmrg#define SST_3D_OFFSET           	0x200000
22202be438aSmrg#define SST_3D_STATUS			SST_3D_OFFSET+0
22302be438aSmrg#define SST_3D_LFBMODE               	SST_3D_OFFSET+0x114
22402be438aSmrg#define SST_3D_COMMAND 			SST_3D_OFFSET+0x120
22502be438aSmrg#define SST_3D_SWAPBUFFERCMD		SST_3D_OFFSET+0x128
22602be438aSmrg#define SST_3D_SLICTRL 			SST_3D_OFFSET+0x20C
22702be438aSmrg#define SST_3D_AACTRL			SST_3D_OFFSET+0x210
22802be438aSmrg#define SST_3D_SWAPPENDING		SST_3D_OFFSET+0x24C
22902be438aSmrg#define SST_3D_LEFTOVERLAYBUF		SST_3D_OFFSET+0x250
23002be438aSmrg#define SST_3D_RIGHTOVERLAYBUF		SST_3D_OFFSET+0x254
23102be438aSmrg#define SST_3D_FBISWAPHISTORY		SST_3D_OFFSET+0x258
23202be438aSmrg
23302be438aSmrg/* NAPALM REGISTERS */
23402be438aSmrg#define CFG_PCI_COMMAND			4
23502be438aSmrg#define CFG_MEM0BASE			16
23602be438aSmrg#define CFG_MEM1BASE			20
23702be438aSmrg#define CFG_INIT_ENABLE        		64
23802be438aSmrg#define CFG_PCI_DECODE         		72
23902be438aSmrg#define CFG_VIDEO_CTRL0        		128
24002be438aSmrg#define CFG_VIDEO_CTRL1        		132
24102be438aSmrg#define CFG_VIDEO_CTRL2        		136
24202be438aSmrg#define CFG_SLI_LFB_CTRL       		140
24302be438aSmrg#define CFG_AA_ZBUFF_APERTURE  		144
24402be438aSmrg#define CFG_AA_LFB_CTRL        		148
24502be438aSmrg#define CFG_SLI_AA_MISC        		172
24602be438aSmrg
24702be438aSmrg/* Pixel Formats */
24802be438aSmrg#define GR_PIXFMT_I_8                   0x0001
24902be438aSmrg#define GR_PIXFMT_AI_88                 0x0002
25002be438aSmrg#define GR_PIXFMT_RGB_565               0x0003
25102be438aSmrg#define GR_PIXFMT_ARGB_1555             0x0004
25202be438aSmrg#define GR_PIXFMT_ARGB_8888             0x0005
25302be438aSmrg#define GR_PIXFMT_AA_2_RGB_565          0x0006
25402be438aSmrg#define GR_PIXFMT_AA_2_ARGB_1555        0x0007
25502be438aSmrg#define GR_PIXFMT_AA_2_ARGB_8888        0x0008
25602be438aSmrg#define GR_PIXFMT_AA_4_RGB_565          0x0009
25702be438aSmrg#define GR_PIXFMT_AA_4_ARGB_1555        0x000a
25802be438aSmrg#define GR_PIXFMT_AA_4_ARGB_8888        0x000b
25902be438aSmrg
26002be438aSmrg/* pciInit0 */
26102be438aSmrg#define SST_PCI_STALL_ENABLE            BIT(0)
26202be438aSmrg#define SST_PCI_LOWTHRESH_SHIFT         2
26302be438aSmrg#define SST_PCI_LOWTHRESH               (0xF << SST_PCI_LOWTHRESH_SHIFT)
26402be438aSmrg#define SST_PCI_HARDCODE_BASE           BIT(7)
26502be438aSmrg#define SST_PCI_READ_WS                 BIT(8)
26602be438aSmrg#define SST_PCI_WRITE_WS                BIT(9)
26702be438aSmrg#define SST_PCI_DISABLE_IO              BIT(11)
26802be438aSmrg#define SST_PCI_DISABLE_MEM             BIT(12)
26902be438aSmrg#define SST_PCI_RETRY_INTERVAL_SHIFT    13
27002be438aSmrg#define SST_PCI_RETRY_INTERVAL          (0x1F << SST_PCI_RETRY_INTERVAL_SHIFT)
27102be438aSmrg#define SST_PCI_INTERRUPT_ENABLE        BIT(18)
27202be438aSmrg#define SST_PCI_TIMEOUT_ENABLE          BIT(19)
27302be438aSmrg#define SST_PCI_FORCE_FB_HIGH           BIT(26)
27402be438aSmrg
27502be438aSmrg#define SST_AA_CLK_INVERT               BIT(20)
27602be438aSmrg#define SST_AA_CLK_DELAY_SHIFT          21
27702be438aSmrg#define SST_AA_CLK_DELAY                (0xF<<SST_AA_CLK_DELAY_SHIFT)
27802be438aSmrg
27902be438aSmrg#define CFG_SWAP_ALGORITHM_VSYNC	(0x00)
28002be438aSmrg#define CFG_SWAP_ALGORITHM_SYNCIN	(0x01)
28102be438aSmrg#define CFG_SWAPBUFFER_ALGORITHM_SHIFT	(25)
28202be438aSmrg
28302be438aSmrg/* CFG_INIT_ENABLE */
28402be438aSmrg#define CFG_UPDATE_MEMBASE_LSBS		BIT(10)
28502be438aSmrg#define CFG_SNOOP_EN			BIT(11)
28602be438aSmrg#define CFG_SNOOP_MEMBASE0_EN		BIT(12)
28702be438aSmrg#define CFG_SNOOP_MEMBASE1_EN		BIT(13)
28802be438aSmrg#define CFG_SNOOP_SLAVE			BIT(14)
28902be438aSmrg#define CFG_SNOOP_MEMBASE0_SHIFT	15
29002be438aSmrg#define CFG_SNOOP_MEMBASE0		(0x3FF<<CFG_SNOOP_MEMBASE0_SHIFT)
29102be438aSmrg#define CFG_SWAP_ALGORITHM		BIT(25)
29202be438aSmrg#define CFG_SWAP_MASTER			BIT(26)
29302be438aSmrg#define CFG_SWAP_QUICK			BIT(27)
29402be438aSmrg#define CFG_MULTI_FUNCTION_DEV		BIT(28)
29502be438aSmrg#define CFG_LFB_RD_CACHE_DISABLE	BIT(29)
29602be438aSmrg#define CFG_SNOOP_FBIINIT_WR_EN		BIT(30)
29702be438aSmrg#define CFG_SNOOP_MEMBASE0_DECODE_SHIFT	10
29802be438aSmrg#define CFG_SNOOP_MEMBASE0_DECODE	(0xF<<CFG_SNOOP_MEMBASE0_DECODE_SHIFT)
29902be438aSmrg#define CFG_SNOOP_MEMBASE1_DECODE_SHIFT	14
30002be438aSmrg#define CFG_SNOOP_MEMBASE1_DECODE	(0xF<<CFG_SNOOP_MEMBASE1_DECODE_SHIFT)
30102be438aSmrg#define CFG_SNOOP_MEMBASE1_SHIFT	18
30202be438aSmrg#define CFG_SNOOP_MEMBASE1		(0x3FF<<CFG_SNOOP_MEMBASE1_SHIFT)
30302be438aSmrg
30402be438aSmrg/* CFG_VIDEO_CTRL0 */
30502be438aSmrg#define CFG_ENHANCED_VIDEO_EN		BIT(0)
30602be438aSmrg#define CFG_ENHANCED_VIDEO_SLV		BIT(1)
30702be438aSmrg#define CFG_VIDEO_TV_OUTPUT_EN		BIT(2)
30802be438aSmrg#define CFG_VIDEO_LOCALMUX_SEL		BIT(3)
30902be438aSmrg#define CFG_VIDEO_LOCALMUX_DESKTOP_PLUS_OVERLAY	BIT(3)
31002be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_TRUE_SHIFT 	4
31102be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_FALSE_SHIFT	6
31202be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_TRUE	(0x3<<CFG_VIDEO_OTHERMUX_SEL_TRUE_SHIFT)
31302be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_FALSE	(0x3<<CFG_VIDEO_OTHERMUX_SEL_FALSE_SHIFT)
31402be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_PIPE	0
31502be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_PIPE_PLUS_AAFIFO	1
31602be438aSmrg#define CFG_VIDEO_OTHERMUX_SEL_AAFIFO 	2
31702be438aSmrg#define CFG_SLI_FETCH_COMPARE_INV	BIT(8)
31802be438aSmrg#define CFG_SLI_CRT_COMPARE_INV		BIT(9)
31902be438aSmrg#define CFG_SLI_AAFIFO_COMPARE_INV	BIT(10)
32002be438aSmrg#define CFG_VIDPLL_SEL                 	BIT(11)
32102be438aSmrg#define CFG_DIVIDE_VIDEO_SHIFT		12
32202be438aSmrg#define CFG_DIVIDE_VIDEO		(0x7<<CFG_DIVIDE_VIDEO_SHIFT)
32302be438aSmrg#define CFG_DIVIDE_VIDEO_BY_1		(0x0<<CFG_DIVIDE_VIDEO_SHIFT)
32402be438aSmrg#define CFG_DIVIDE_VIDEO_BY_2		(0x1<<CFG_DIVIDE_VIDEO_SHIFT)
32502be438aSmrg#define CFG_DIVIDE_VIDEO_BY_4		(0x2<<CFG_DIVIDE_VIDEO_SHIFT)
32602be438aSmrg#define CFG_DIVIDE_VIDEO_BY_8		(0x3<<CFG_DIVIDE_VIDEO_SHIFT)
32702be438aSmrg#define CFG_DIVIDE_VIDEO_BY_16		(0x4<<CFG_DIVIDE_VIDEO_SHIFT)
32802be438aSmrg#define CFG_DIVIDE_VIDEO_BY_32		(0x5<<CFG_DIVIDE_VIDEO_SHIFT)
32902be438aSmrg#define CFG_ALWAYS_DRIVE_AA_BUS		BIT(15)
33002be438aSmrg#define CFG_VSYNC_IN_DEL_SHIFT		16
33102be438aSmrg#define CFG_VSYNC_IN_DEL		(0xF<<CFG_VSYNC_IN_DEL_SHIFT)
33202be438aSmrg#define CFG_DAC_VSYNC_TRISTATE		BIT(24)
33302be438aSmrg#define CFG_DAC_HSYNC_TRISTATE		BIT(25)
33402be438aSmrg
33502be438aSmrg/* CFG_VIDEO_CTRL1 */
33602be438aSmrg#define CFG_SLI_RENDERMASK_FETCH_SHIFT	0
33702be438aSmrg#define CFG_SLI_RENDERMASK_FETCH	(0xFF<<CFG_SLI_RENDERMASK_FETCH_SHIFT)
33802be438aSmrg#define CFG_SLI_COMPAREMASK_FETCH_SHIFT 8
33902be438aSmrg#define CFG_SLI_COMPAREMASK_FETCH	(0xFF<<CFG_SLI_COMPAREMASK_FETCH_SHIFT)
34002be438aSmrg#define CFG_SLI_RENDERMASK_CRT_SHIFT	16
34102be438aSmrg#define CFG_SLI_RENDERMASK_CRT		(0xFF<<CFG_SLI_RENDERMASK_CRT_SHIFT)
34202be438aSmrg#define CFG_SLI_COMPAREMASK_CRT_SHIFT	24
34302be438aSmrg#define CFG_SLI_COMPAREMASK_CRT		(0xFF<<CFG_SLI_COMPAREMASK_CRT_SHIFT)
34402be438aSmrg
34502be438aSmrg/* CFG_VIDEO_CTRL2 */
34602be438aSmrg#define CFG_SLI_RENDERMASK_AAFIFO_SHIFT 0
34702be438aSmrg#define CFG_SLI_RENDERMASK_AAFIFO	(0xFF<<CFG_SLI_RENDERMASK_AAFIFO_SHIFT)
34802be438aSmrg#define CFG_SLI_COMPAREMASK_AAFIFO_SHIFT 8
34902be438aSmrg#define CFG_SLI_COMPAREMASK_AAFIFO	(0xFF<<CFG_SLI_COMPAREMASK_AAFIFO_SHIFT)
35002be438aSmrg
35102be438aSmrg/* CFG_SLI_LFB_CTRL */
35202be438aSmrg#define CFG_SLI_LFB_RENDERMASK_SHIFT	0
35302be438aSmrg#define CFG_SLI_LFB_RENDERMASK		(0xFF<<CFG_SLI_LFB_RENDERMASK_SHIFT)
35402be438aSmrg#define CFG_SLI_LFB_COMPAREMASK_SHIFT	8
35502be438aSmrg#define CFG_SLI_LFB_COMPAREMASK		(0xFF<<CFG_SLI_LFB_COMPAREMASK_SHIFT)
35602be438aSmrg#define CFG_SLI_LFB_SCANMASK_SHIFT	16
35702be438aSmrg#define CFG_SLI_LFB_SCANMASK		(0xFF<<CFG_SLI_LFB_SCANMASK_SHIFT)
35802be438aSmrg#define CFG_SLI_LFB_NUMCHIPS_LOG2_SHIFT 24
35902be438aSmrg#define CFG_SLI_LFB_NUMCHIPS_LOG2	(0x3<<CFG_SLI_LFB_NUMCHIPS_LOG2_SHIFT)
36002be438aSmrg#define CFG_SLI_LFB_CPU_WR_EN		BIT(26)
36102be438aSmrg#define CFG_SLI_LFB_DPTCH_WR_EN		BIT(27)
36202be438aSmrg#define CFG_SLI_RD_EN			BIT(28)
36302be438aSmrg
36402be438aSmrg/* CFG_AA_ZBUFF_APERTURE */
36502be438aSmrg#define CFG_AA_DEPTH_BUFFER_BEG_SHIFT	0
36602be438aSmrg#define CFG_AA_DEPTH_BUFFER_BEG		(0x7FFF<<CFG_AA_DEPTH_BUFFER_BEG_SHIFT)
36702be438aSmrg#define CFG_AA_DEPTH_BUFFER_END_SHIFT	16
36802be438aSmrg#define CFG_AA_DEPTH_BUFFER_END		(0xFFFF<<CFG_AA_DEPTH_BUFFER_END_SHIFT)
36902be438aSmrg
37002be438aSmrg/* CFG_AA_LFB_CTRL */
37102be438aSmrg#define CFG_AA_BASEADDR_SHIFT		0
37202be438aSmrg#define CFG_AA_BASEADDR			(0x3FFFFFF<<CFG_AA_BASEADDR_SHIFT)
37302be438aSmrg#define CFG_AA_LFB_CPU_WR_EN		BIT(26)
37402be438aSmrg#define CFG_AA_LFB_DPTCH_WR_EN		BIT(27)
37502be438aSmrg#define CFG_AA_LFB_RD_EN		BIT(28)
37602be438aSmrg#define CFG_AA_LFB_RD_FORMAT_SHIFT	29
37702be438aSmrg#define CFG_AA_LFB_RD_FORMAT		(0x3<<CFG_AA_LFB_RD_FORMAT_SHIFT)
37802be438aSmrg#define CFG_AA_LFB_RD_FORMAT_16BPP	(0x0<<CFG_AA_LFB_RD_FORMAT_SHIFT)
37902be438aSmrg#define CFG_AA_LFB_RD_FORMAT_15BPP	(0x1<<CFG_AA_LFB_RD_FORMAT_SHIFT)
38002be438aSmrg#define CFG_AA_LFB_RD_FORMAT_32BPP	(0x2<<CFG_AA_LFB_RD_FORMAT_SHIFT)
38102be438aSmrg#define CFG_AA_LFB_RD_DIVIDE_BY_4	BIT(31)
38202be438aSmrg
38302be438aSmrg/* CFG_SLI_AA_MISC */
38402be438aSmrg#define CFG_VGA_VSYNC_OFFSET_SHIFT	0
38502be438aSmrg#define CFG_VGA_VSYNC_OFFSET		(0x1ff<<CFG_VGA_VSYNC_OFFSET_SHIFT)
38602be438aSmrg#define CFG_VGA_VSYNC_OFFSET_PIXELS_SHIFT	0
38702be438aSmrg#define CFG_VGA_VSYNC_OFFSET_CHARS_SHIFT	3
38802be438aSmrg#define CFG_VGA_VSYNC_OFFSET_HXTRA_SHIFT	6
38902be438aSmrg#define CFG_HOTPLUG_SHIFT		9
39002be438aSmrg#define CFG_HOTPLUG_TRISTATE		(0x0<<CFG_HOTPLUG_SHIFT)
39102be438aSmrg#define CFG_HOTPLUG_DRIVE0		(0x2<<CFG_HOTPLUG_SHIFT)
39202be438aSmrg#define CFG_HOTPLUG_DRIVE1		(0x3<<CFG_HOTPLUG_SHIFT)
39302be438aSmrg#define CFG_AA_LFB_RD_SLV_WAIT		BIT(12)
39402be438aSmrg
39502be438aSmrg/* SLICTL_3D_CTRL */
39602be438aSmrg#define SLICTL_3D_RENDERMASK_SHIFT	0
39702be438aSmrg#define SLICTL_3D_RENDERMASK		(0xFF<<SLICTL_3D_RENDERMASK_SHIFT)
39802be438aSmrg#define SLICTL_3D_COMPAREMASK_SHIFT	8
39902be438aSmrg#define SLICTL_3D_COMPAREMASK		(0xFF<<SLICTL_3D_COMPAREMASK_SHIFT)
40002be438aSmrg#define SLICTL_3D_SCANMASK_SHIFT	16
40102be438aSmrg#define SLICTL_3D_SCANMASK		(0xFF<<SLICTL_3D_SCANMASK_SHIFT)
40202be438aSmrg#define SLICTL_3D_NUMCHIPS_LOG2_SHIFT 	24
40302be438aSmrg#define SLICTL_3D_NUMCHIPS_LOG2		(0x3<<SLICTL_3D_NUMCHIPS_LOG2_SHIFT)
40402be438aSmrg#define SLICTL_3D_EN			BIT(26)
40502be438aSmrg
40602be438aSmrg#define SST_POWERDOWN_DAC               BIT(8)
40702be438aSmrg
40802be438aSmrg#endif
409