Sat Jan 21 16:12:57 2012 UTC ()
Silence "large integer implicitly truncated to unsigned type" warning on LP64.


(jakllsch)
diff -r1.3 -r1.4 src/sys/dev/pci/voodoofbreg.h

cvs diff -r1.3 -r1.4 src/sys/dev/pci/voodoofbreg.h (switch to unified diff)

--- src/sys/dev/pci/voodoofbreg.h 2012/01/19 18:35:27 1.3
+++ src/sys/dev/pci/voodoofbreg.h 2012/01/21 16:12:57 1.4
@@ -1,316 +1,316 @@ @@ -1,316 +1,316 @@
1/* $NetBSD: voodoofbreg.h,v 1.3 2012/01/19 18:35:27 macallan Exp $ */ 1/* $NetBSD: voodoofbreg.h,v 1.4 2012/01/21 16:12:57 jakllsch Exp $ */
2 2
3/* 3/*
4 * Copyright 2005, 2006 by Michael Lorenz. 4 * Copyright 2005, 2006 by Michael Lorenz.
5 * 5 *
6 * Permission to use, copy, modify, distribute, and sell this software and 6 * Permission to use, copy, modify, distribute, and sell this software and
7 * its documentation for any purpose is hereby granted without fee, 7 * its documentation for any purpose is hereby granted without fee,
8 * provided that the above copyright notice appear in all copies and that 8 * provided that the above copyright notice appear in all copies and that
9 * both that copyright notice and this permission notice appear in 9 * both that copyright notice and this permission notice appear in
10 * supporting documentation, and that the name of Kevin E. Martin not be 10 * supporting documentation, and that the name of Kevin E. Martin not be
11 * used in advertising or publicity pertaining to distribution of the 11 * used in advertising or publicity pertaining to distribution of the
12 * software without specific, written prior permission. Kevin E. Martin 12 * software without specific, written prior permission. Kevin E. Martin
13 * makes no representations about the suitability of this software for any 13 * makes no representations about the suitability of this software for any
14 * purpose. It is provided "as is" without express or implied warranty. 14 * purpose. It is provided "as is" without express or implied warranty.
15 * 15 *
16 * KEVIN E. MARTIN, RICKARD E. FAITH, AND TIAGO GONS DISCLAIM ALL 16 * KEVIN E. MARTIN, RICKARD E. FAITH, AND TIAGO GONS DISCLAIM ALL
17 * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED 17 * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
19 * AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 19 * AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
20 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 20 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 21 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
22 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 22 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
23 * SOFTWARE. 23 * SOFTWARE.
24 * 24 *
25*/ 25*/
26 26
27/*  27/*
28 * stolen wholesale from Andreas Drewke's (andreas_dr@gmx.de) Voodoo3 driver 28 * stolen wholesale from Andreas Drewke's (andreas_dr@gmx.de) Voodoo3 driver
29 * for BeOS  29 * for BeOS
30 */ 30 */
31 31
32#ifndef VOODOOFB_H 32#ifndef VOODOOFB_H
33#define VOODOOFB_H 33#define VOODOOFB_H
34 34
35/* membase0 register offsets */ 35/* membase0 register offsets */
36#define STATUS 0x00 36#define STATUS 0x00
37#define PCIINIT0 0x04 37#define PCIINIT0 0x04
38#define SIPMONITOR 0x08 38#define SIPMONITOR 0x08
39#define LFBMEMORYCONFIG 0x0c 39#define LFBMEMORYCONFIG 0x0c
40#define MISCINIT0 0x10 40#define MISCINIT0 0x10
41#define MISCINIT1 0x14 41#define MISCINIT1 0x14
42#define DRAMINIT0 0x18 42#define DRAMINIT0 0x18
43#define DRAMINIT1 0x1c 43#define DRAMINIT1 0x1c
44#define AGPINIT 0x20 44#define AGPINIT 0x20
45#define TMUGBEINIT 0x24 45#define TMUGBEINIT 0x24
46#define VGAINIT0 0x28 46#define VGAINIT0 0x28
47#define VGAINIT1 0x2c 47#define VGAINIT1 0x2c
48#define DRAMCOMMAND 0x30 48#define DRAMCOMMAND 0x30
49#define DRAMDATA 0x34 49#define DRAMDATA 0x34
50/* reserved 0x38 */ 50/* reserved 0x38 */
51/* reserved 0x3c */ 51/* reserved 0x3c */
52#define PLLCTRL0 0x40 /* video clock */ 52#define PLLCTRL0 0x40 /* video clock */
53#define PLLCTRL1 0x44 /* memory clock */ 53#define PLLCTRL1 0x44 /* memory clock */
54 54
55/* PLL ctrl 0 and 1 registers: 55/* PLL ctrl 0 and 1 registers:
56 * freq = (( N + 2 ) * Fref) / (( M + 2 ) * ( 2^K )) 56 * freq = (( N + 2 ) * Fref) / (( M + 2 ) * ( 2^K ))
57 * with Fref usually 14.31818MHz 57 * with Fref usually 14.31818MHz
58 * N: REG & 0xff00 58 * N: REG & 0xff00
59 * M: REG & 0xfc 59 * M: REG & 0xfc
60 * K: REG & 0x3 60 * K: REG & 0x3
61 */ 61 */
62 62
63#define PLLCTRL2 0x48 /* test modes for AGP */ 63#define PLLCTRL2 0x48 /* test modes for AGP */
64 64
65#define DACMODE 0x4c 65#define DACMODE 0x4c
66#define DAC_MODE_1_2 0x1 /* DAC in 2:1 mode. 1:1 mode when 0 */ 66#define DAC_MODE_1_2 0x1 /* DAC in 2:1 mode. 1:1 mode when 0 */
67#define DAC_MODE_LOCK_VSYNC 0x02 /* lock vsync */ 67#define DAC_MODE_LOCK_VSYNC 0x02 /* lock vsync */
68#define DAC_MODE_VSYNC_VAL 0x04 /* vsync output when locked */ 68#define DAC_MODE_VSYNC_VAL 0x04 /* vsync output when locked */
69#define DAC_MODE_LOCK_HSYNC 0x08 /* lock hsync */ 69#define DAC_MODE_LOCK_HSYNC 0x08 /* lock hsync */
70#define DAC_MODE_HSYNC_VAL 0x10 /* hsync output when locked */ 70#define DAC_MODE_HSYNC_VAL 0x10 /* hsync output when locked */
71 71
72#define DACADDR 0x50 72#define DACADDR 0x50
73#define DACDATA 0x54 73#define DACDATA 0x54
74#define RGBMAXDELTA 0x58 74#define RGBMAXDELTA 0x58
75#define VIDPROCCFG 0x5c 75#define VIDPROCCFG 0x5c
76#define HWCURPATADDR 0x60 76#define HWCURPATADDR 0x60
77#define HWCURLOC 0x64 77#define HWCURLOC 0x64
78#define HWCURC0 0x68 78#define HWCURC0 0x68
79#define HWCURC1 0x6c 79#define HWCURC1 0x6c
80#define VIDINFORMAT 0x70 80#define VIDINFORMAT 0x70
81#define VIDINSTATUS 0x74 81#define VIDINSTATUS 0x74
82#define VIDSERPARPORT 0x78 82#define VIDSERPARPORT 0x78
83/* i2c stuff */ 83/* i2c stuff */
84#define VSP_TVOUT_RESET 0x80000000 /* 0 forces TVout reset */ 84#define VSP_TVOUT_RESET 0x80000000 /* 0 forces TVout reset */
85#define VSP_GPIO2_IN 0x40000000 85#define VSP_GPIO2_IN 0x40000000
86#define VSP_GPIO1_OUT 0x20000000 86#define VSP_GPIO1_OUT 0x20000000
87#define VSP_VMI_RESET_N 0x10000000 /* 0 forces a VMI reset */ 87#define VSP_VMI_RESET_N 0x10000000 /* 0 forces a VMI reset */
88#define VSP_SDA1_IN 0x08000000 /* i2c bus on the feature connector */ 88#define VSP_SDA1_IN 0x08000000 /* i2c bus on the feature connector */
89#define VSP_SCL1_IN 0x04000000 89#define VSP_SCL1_IN 0x04000000
90#define VSP_SDA1_OUT 0x02000000 90#define VSP_SDA1_OUT 0x02000000
91#define VSP_SCL1_OUT 0x01000000 91#define VSP_SCL1_OUT 0x01000000
92#define VSP_ENABLE_IIC1 0x00800000 /* 1 enables I2C bus 1 */ 92#define VSP_ENABLE_IIC1 0x00800000 /* 1 enables I2C bus 1 */
93#define VSP_SDA0_IN 0x00400000 /* i2c bus on the monitor connector */ 93#define VSP_SDA0_IN 0x00400000 /* i2c bus on the monitor connector */
94#define VSP_SCL0_IN 0x00200000 94#define VSP_SCL0_IN 0x00200000
95#define VSP_SDA0_OUT 0x00100000 95#define VSP_SDA0_OUT 0x00100000
96#define VSP_SCL0_OUT 0x00080000 96#define VSP_SCL0_OUT 0x00080000
97#define VSP_ENABLE_IIC0 0x00040000 /* 1 enables I2C bus 0 */ 97#define VSP_ENABLE_IIC0 0x00040000 /* 1 enables I2C bus 0 */
98#define VSP_VMI_ADDRESS 0x0003c000 /* mask */ 98#define VSP_VMI_ADDRESS 0x0003c000 /* mask */
99#define VSP_VMI_DATA 0x00003fc0 /* mask */ 99#define VSP_VMI_DATA 0x00003fc0 /* mask */
100#define VSP_VMI_DISABLE 0x00000020 /* 0 enables VMI output */ 100#define VSP_VMI_DISABLE 0x00000020 /* 0 enables VMI output */
101#define VSP_VMI_RDY_N 0x00000010 101#define VSP_VMI_RDY_N 0x00000010
102#define VSP_RW_N 0x00000008 102#define VSP_RW_N 0x00000008
103#define VSP_DS_N 0x00000004 103#define VSP_DS_N 0x00000004
104#define VSP_CS_N 0x00000002 104#define VSP_CS_N 0x00000002
105#define VSP_HOST_ENABLE 0x00000001 /* 1 enables VMI host control*/ 105#define VSP_HOST_ENABLE 0x00000001 /* 1 enables VMI host control*/
106 106
107#define VIDINXDELTA 0x7c 107#define VIDINXDELTA 0x7c
108#define VIDININITERR 0x80 108#define VIDININITERR 0x80
109#define VIDINYDELTA 0x84 109#define VIDINYDELTA 0x84
110#define VIDPIXBUFTHOLD 0x88 110#define VIDPIXBUFTHOLD 0x88
111#define VIDCHRMIN 0x8c 111#define VIDCHRMIN 0x8c
112#define VIDCHRMAX 0x90 112#define VIDCHRMAX 0x90
113#define VIDCURLIN 0x94 113#define VIDCURLIN 0x94
114#define VIDSCREENSIZE 0x98 114#define VIDSCREENSIZE 0x98
115#define VIDOVRSTARTCRD 0x9c 115#define VIDOVRSTARTCRD 0x9c
116#define VIDOVRENDCRD 0xa0 116#define VIDOVRENDCRD 0xa0
117#define VIDOVRDUDX 0xa4 117#define VIDOVRDUDX 0xa4
118#define VIDOVRDUDXOFF 0xa8 118#define VIDOVRDUDXOFF 0xa8
119#define VIDOVRDVDY 0xac 119#define VIDOVRDVDY 0xac
120/* ... */ 120/* ... */
121 121
122#define VIDOVRDVDYOFF 0xe0 122#define VIDOVRDVDYOFF 0xe0
123#define VIDDESKSTART 0xe4 123#define VIDDESKSTART 0xe4
124#define VIDDESKSTRIDE 0xe8 124#define VIDDESKSTRIDE 0xe8
125/* 125/*
126 * desktop and overlay strides in pixels 126 * desktop and overlay strides in pixels
127 * desktop stride: reg & 0x00007fff 127 * desktop stride: reg & 0x00007fff
128 * overlay stride: reg & 0x7fff0000 128 * overlay stride: reg & 0x7fff0000
129 */ 129 */
130 130
131#define VIDINADDR0 0xec 131#define VIDINADDR0 0xec
132#define VIDINADDR1 0xf0 132#define VIDINADDR1 0xf0
133#define VIDINADDR2 0xf4 133#define VIDINADDR2 0xf4
134#define VIDINSTRIDE 0xf8 134#define VIDINSTRIDE 0xf8
135#define VIDCUROVRSTART 0xfc 135#define VIDCUROVRSTART 0xfc
136#define VIDOVERLAYSTARTCOORDS 0x9c 136#define VIDOVERLAYSTARTCOORDS 0x9c
137#define VIDOVERLAYENDSCREENCOORDS 0xa0 137#define VIDOVERLAYENDSCREENCOORDS 0xa0
138#define VIDOVERLAYDUDX 0xa4 138#define VIDOVERLAYDUDX 0xa4
139#define VIDOVERLAYDUDXOFFSETSRCWIDTH 0xa8 139#define VIDOVERLAYDUDXOFFSETSRCWIDTH 0xa8
140#define VIDOVERLAYDVDY 0xac 140#define VIDOVERLAYDVDY 0xac
141#define VIDOVERLAYDVDYOFFSET 0xe0 141#define VIDOVERLAYDVDYOFFSET 0xe0
142 142
143#define SST_3D_OFFSET 0x200000 143#define SST_3D_OFFSET 0x200000
144#define SST_3D_LEFTOVERLAYBUF SST_3D_OFFSET+0x250 144#define SST_3D_LEFTOVERLAYBUF SST_3D_OFFSET+0x250
145 145
146#define V3_STATUS (0x00100000) 146#define V3_STATUS (0x00100000)
147#define INTCTRL (0x00100000 + 0x04) 147#define INTCTRL (0x00100000 + 0x04)
148#define CLIP0MIN (0x00100000 + 0x08) 148#define CLIP0MIN (0x00100000 + 0x08)
149#define CLIP0MAX (0x00100000 + 0x0c) 149#define CLIP0MAX (0x00100000 + 0x0c)
150#define DSTBASE (0x00100000 + 0x10) 150#define DSTBASE (0x00100000 + 0x10)
151#define DSTFORMAT (0x00100000 + 0x14) 151#define DSTFORMAT (0x00100000 + 0x14)
152 #define FMT_STRIDE_MASK 0x00003fff 152 #define FMT_STRIDE_MASK 0x00003fff
153 #define FMT_MONO 0x00000000 153 #define FMT_MONO 0x00000000
154 #define FMT_8BIT 0x00010000 154 #define FMT_8BIT 0x00010000
155 #define FMT_16BIT 0x00030000 155 #define FMT_16BIT 0x00030000
156 #define FMT_24BIT 0x00040000 156 #define FMT_24BIT 0x00040000
157 #define FMT_32BIT 0x00050000 157 #define FMT_32BIT 0x00050000
158 #define FMT_422YUYV 0x00080000 158 #define FMT_422YUYV 0x00080000
159 #define FMT_422UYVY 0x00090000 159 #define FMT_422UYVY 0x00090000
160 #define FMT_PAD_STRIDE 0x00000000 160 #define FMT_PAD_STRIDE 0x00000000
161 #define FMT_PAD_BYTE 0x00400000 161 #define FMT_PAD_BYTE 0x00400000
162 #define FMT_PAD_WORD 0x00800000 162 #define FMT_PAD_WORD 0x00800000
163 #define FMT_PAD_LONG 0x00c00000 163 #define FMT_PAD_LONG 0x00c00000
164#define SRCBASE (0x00100000 + 0x34) 164#define SRCBASE (0x00100000 + 0x34)
165#define COMMANDEXTRA_2D (0x00100000 + 0x38) 165#define COMMANDEXTRA_2D (0x00100000 + 0x38)
166#define CLIP1MIN (0x00100000 + 0x4c) 166#define CLIP1MIN (0x00100000 + 0x4c)
167#define CLIP1MAX (0x00100000 + 0x50) 167#define CLIP1MAX (0x00100000 + 0x50)
168#define SRCFORMAT (0x00100000 + 0x54) 168#define SRCFORMAT (0x00100000 + 0x54)
169#define SRCSIZE (0x00100000 + 0x58) 169#define SRCSIZE (0x00100000 + 0x58)
170#define SRCXY (0x00100000 + 0x5c) 170#define SRCXY (0x00100000 + 0x5c)
171#define COLORBACK (0x00100000 + 0x60) 171#define COLORBACK (0x00100000 + 0x60)
172#define COLORFORE (0x00100000 + 0x64) 172#define COLORFORE (0x00100000 + 0x64)
173#define DSTSIZE (0x00100000 + 0x68) 173#define DSTSIZE (0x00100000 + 0x68)
174#define DSTXY (0x00100000 + 0x6c) 174#define DSTXY (0x00100000 + 0x6c)
175#define COMMAND_2D (0x00100000 + 0x70) 175#define COMMAND_2D (0x00100000 + 0x70)
176/* 176/*
177 * ROP0 : reg & 0xff000000 177 * ROP0 : reg & 0xff000000
178 * select clip 1 : 0x00800000 178 * select clip 1 : 0x00800000
179 * Y pattern offset : 0x00700000 179 * Y pattern offset : 0x00700000
180 * X pattern offset : 0x000e0000 180 * X pattern offset : 0x000e0000
181 * mono transparent : 0x00010000 181 * mono transparent : 0x00010000
182 * pattern expand : 0x00002000 182 * pattern expand : 0x00002000
183 * stipple line : 0x00001000 183 * stipple line : 0x00001000
184 * adjust dstx : 0x00000800 xdst will contain xdst+xwidth 184 * adjust dstx : 0x00000800 xdst will contain xdst+xwidth
185 * adjust dsty : 0x00000400 185 * adjust dsty : 0x00000400
186 * line reversible : 0x00000200 186 * line reversible : 0x00000200
187 * start now : 0x00000100 run immediately instead of wait for launch area 187 * start now : 0x00000100 run immediately instead of wait for launch area
188 * command : 0x0000000f 188 * command : 0x0000000f
189 */ 189 */
190 190
191#define LAUNCH_2D (0x00100000 + 0x80) 191#define LAUNCH_2D (0x00100000 + 0x80)
192 192
193#define COMMAND_3D (0x00200000 + 0x120) 193#define COMMAND_3D (0x00200000 + 0x120)
194 194
195/* register bitfields (not all, only as needed) */ 195/* register bitfields (not all, only as needed) */
196 196
197#define BIT(x) (1UL << (x)) 197#define BIT(x) (1UL << (x))
198 198
199/* COMMAND_2D reg. values */ 199/* COMMAND_2D reg. values */
200#define ROP_COPY 0xcc // src 200#define ROP_COPY 0xccU // src
201#define ROP_INVERT 0x55 // NOT dst 201#define ROP_INVERT 0x55U // NOT dst
202#define ROP_XOR 0x66 // src XOR dst 202#define ROP_XOR 0x66U // src XOR dst
203 203
204#define AUTOINC_DSTX BIT(10) 204#define AUTOINC_DSTX BIT(10)
205#define AUTOINC_DSTY BIT(11) 205#define AUTOINC_DSTY BIT(11)
206#define COMMAND_2D_FILLRECT 0x05 206#define COMMAND_2D_FILLRECT 0x05
207#define COMMAND_2D_S2S_BITBLT 0x01 // screen to screen 207#define COMMAND_2D_S2S_BITBLT 0x01 // screen to screen
208#define COMMAND_2D_H2S_BITBLT 0x03 // host to screen 208#define COMMAND_2D_H2S_BITBLT 0x03 // host to screen
209#define SST_2D_GO BIT(8) 209#define SST_2D_GO BIT(8)
210 210
211#define COMMAND_3D_NOP 0x00 211#define COMMAND_3D_NOP 0x00
212#define STATUS_RETRACE BIT(6) 212#define STATUS_RETRACE BIT(6)
213#define STATUS_BUSY BIT(9) 213#define STATUS_BUSY BIT(9)
214#define MISCINIT1_CLUT_INV BIT(0) 214#define MISCINIT1_CLUT_INV BIT(0)
215#define MISCINIT1_2DBLOCK_DIS BIT(15) 215#define MISCINIT1_2DBLOCK_DIS BIT(15)
216#define DRAMINIT0_SGRAM_NUM BIT(26) 216#define DRAMINIT0_SGRAM_NUM BIT(26)
217#define DRAMINIT0_SGRAM_TYPE BIT(27) 217#define DRAMINIT0_SGRAM_TYPE BIT(27)
218#define DRAMINIT1_MEM_SDRAM BIT(30) 218#define DRAMINIT1_MEM_SDRAM BIT(30)
219#define VGAINIT0_VGA_DISABLE BIT(0) 219#define VGAINIT0_VGA_DISABLE BIT(0)
220#define VGAINIT0_EXT_TIMING BIT(1) 220#define VGAINIT0_EXT_TIMING BIT(1)
221#define VGAINIT0_8BIT_DAC BIT(2) 221#define VGAINIT0_8BIT_DAC BIT(2)
222#define VGAINIT0_EXT_ENABLE BIT(6) 222#define VGAINIT0_EXT_ENABLE BIT(6)
223#define VGAINIT0_WAKEUP_3C3 BIT(8) 223#define VGAINIT0_WAKEUP_3C3 BIT(8)
224#define VGAINIT0_LEGACY_DISABLE BIT(9) 224#define VGAINIT0_LEGACY_DISABLE BIT(9)
225#define VGAINIT0_ALT_READBACK BIT(10) 225#define VGAINIT0_ALT_READBACK BIT(10)
226#define VGAINIT0_FAST_BLINK BIT(11) 226#define VGAINIT0_FAST_BLINK BIT(11)
227#define VGAINIT0_EXTSHIFTOUT BIT(12) 227#define VGAINIT0_EXTSHIFTOUT BIT(12)
228#define VGAINIT0_DECODE_3C6 BIT(13) 228#define VGAINIT0_DECODE_3C6 BIT(13)
229#define VGAINIT0_SGRAM_HBLANK_DISABLE BIT(22) 229#define VGAINIT0_SGRAM_HBLANK_DISABLE BIT(22)
230#define VGAINIT1_MASK 0x1fffff 230#define VGAINIT1_MASK 0x1fffff
231#define VIDCFG_VIDPROC_ENABLE BIT(0) 231#define VIDCFG_VIDPROC_ENABLE BIT(0)
232#define VIDCFG_CURS_X11 BIT(1) 232#define VIDCFG_CURS_X11 BIT(1)
233#define VIDCFG_HALF_MODE BIT(4) 233#define VIDCFG_HALF_MODE BIT(4)
234#define VIDCFG_CHROMA_KEY BIT(5) 234#define VIDCFG_CHROMA_KEY BIT(5)
235#define VIDCFG_CHROMA_KEY_INVERSION BIT(6) 235#define VIDCFG_CHROMA_KEY_INVERSION BIT(6)
236#define VIDCFG_DESK_ENABLE BIT(7) 236#define VIDCFG_DESK_ENABLE BIT(7)
237#define VIDCFG_OVL_ENABLE BIT(8) 237#define VIDCFG_OVL_ENABLE BIT(8)
238#define VIDCFG_OVL_NOT_VIDEO_IN BIT(9) 238#define VIDCFG_OVL_NOT_VIDEO_IN BIT(9)
239#define VIDCFG_CLUT_BYPASS BIT(10) 239#define VIDCFG_CLUT_BYPASS BIT(10)
240#define VIDCFG_OVL_CLUT_BYPASS BIT(11) 240#define VIDCFG_OVL_CLUT_BYPASS BIT(11)
241#define VIDCFG_OVL_HSCALE BIT(14) 241#define VIDCFG_OVL_HSCALE BIT(14)
242#define VIDCFG_OVL_VSCALE BIT(15) 242#define VIDCFG_OVL_VSCALE BIT(15)
243#define VIDCFG_OVL_FILTER_SHIFT 16 243#define VIDCFG_OVL_FILTER_SHIFT 16
244#define VIDCFG_OVL_FILTER_POINT 0 244#define VIDCFG_OVL_FILTER_POINT 0
245#define VIDCFG_OVL_FILTER_2X2 1 245#define VIDCFG_OVL_FILTER_2X2 1
246#define VIDCFG_OVL_FILTER_4X4 2 246#define VIDCFG_OVL_FILTER_4X4 2
247#define VIDCFG_OVL_FILTER_BILIN 3 247#define VIDCFG_OVL_FILTER_BILIN 3
248#define VIDCFG_OVL_FMT_SHIFT 21 248#define VIDCFG_OVL_FMT_SHIFT 21
249#define VIDCFG_OVL_FMT_RGB565 1 249#define VIDCFG_OVL_FMT_RGB565 1
250#define VIDCFG_OVL_FMT_YUV411 4 250#define VIDCFG_OVL_FMT_YUV411 4
251#define VIDCFG_OVL_FMT_YUYV422 5 251#define VIDCFG_OVL_FMT_YUYV422 5
252#define VIDCFG_OVL_FMT_UYVY422 6 252#define VIDCFG_OVL_FMT_UYVY422 6
253#define VIDCFG_OVL_FMT_RGB565_DITHER 7 253#define VIDCFG_OVL_FMT_RGB565_DITHER 7
254 254
255#define VIDCFG_2X BIT(26) 255#define VIDCFG_2X BIT(26)
256#define VIDCFG_HWCURSOR_ENABLE BIT(27) 256#define VIDCFG_HWCURSOR_ENABLE BIT(27)
257#define VIDCFG_PIXFMT_SHIFT 18 257#define VIDCFG_PIXFMT_SHIFT 18
258#define DACMODE_2X BIT(0) 258#define DACMODE_2X BIT(0)
259#define VIDPROCCFGMASK 0xa2e3eb6c 259#define VIDPROCCFGMASK 0xa2e3eb6c
260#define VIDPROCDEFAULT 134481025 260#define VIDPROCDEFAULT 134481025
261 261
262#define VIDCHROMAMIN 0x8c 262#define VIDCHROMAMIN 0x8c
263#define VIDCHROMAMAX 0x90 263#define VIDCHROMAMAX 0x90
264#define VIDDESKTOPOVERLAYSTRIDE 0xe8 264#define VIDDESKTOPOVERLAYSTRIDE 0xe8
265 265
266#define CRTC_INDEX 0x3d4 266#define CRTC_INDEX 0x3d4
267#define CRTC_DATA 0x3d5 267#define CRTC_DATA 0x3d5
268#define SEQ_INDEX 0x3c4 268#define SEQ_INDEX 0x3c4
269#define SEQ_DATA 0x3c5 269#define SEQ_DATA 0x3c5
270#define MISC_W 0x3c2 270#define MISC_W 0x3c2
271 #define VSYNC_NEG 0x80 271 #define VSYNC_NEG 0x80
272 #define HSYNC_NEG 0x40 272 #define HSYNC_NEG 0x40
273#define GRA_INDEX 0x3ce 273#define GRA_INDEX 0x3ce
274#define GRA_DATA 0x3cf 274#define GRA_DATA 0x3cf
275#define ATT_IW 0x3c0 275#define ATT_IW 0x3c0
276#define IS1_R 0x3da 276#define IS1_R 0x3da
277 277
278/* CRTC registers */ 278/* CRTC registers */
279#define CRTC_HTOTAL 0 /* lower 8 bit of display width in chars -5 */ 279#define CRTC_HTOTAL 0 /* lower 8 bit of display width in chars -5 */
280#define CRTC_HDISP_ENABLE_END 1 /* no. of visible chars per line -1 */ 280#define CRTC_HDISP_ENABLE_END 1 /* no. of visible chars per line -1 */
281#define CRTC_HDISP_BLANK_START 2 /* characters per line before blanking */ 281#define CRTC_HDISP_BLANK_START 2 /* characters per line before blanking */
282#define CRTC_HDISP_BLANK_END 3 /* no. o blank chars, skew, compatibility read */ 282#define CRTC_HDISP_BLANK_END 3 /* no. o blank chars, skew, compatibility read */
283#define CRTC_HDISP_SYNC_START 4 /* character count when sync becomes active */ 283#define CRTC_HDISP_SYNC_START 4 /* character count when sync becomes active */
284#define CRTC_HDISP_SYNC_END 5 /* sync end, skew, blank end */ 284#define CRTC_HDISP_SYNC_END 5 /* sync end, skew, blank end */
285#define CRTC_VDISP_TOTAL 6 /* number of scanlines -2 */ 285#define CRTC_VDISP_TOTAL 6 /* number of scanlines -2 */
286#define CRTC_OVERFLOW 7 /* various overflow bits */ 286#define CRTC_OVERFLOW 7 /* various overflow bits */
287#define CRTC_PRESET_ROW_SCAN 8 /* horizontal soft scrolling in character mode */ 287#define CRTC_PRESET_ROW_SCAN 8 /* horizontal soft scrolling in character mode */
288#define CRTC_MAX_SCAN_LINE 9 /* scanlines per character */ 288#define CRTC_MAX_SCAN_LINE 9 /* scanlines per character */
289#define CRTC_CURSOR_START 10 /* text cursor start line */ 289#define CRTC_CURSOR_START 10 /* text cursor start line */
290#define CRTC_CURSOR_END 11 /* text cursor end line */ 290#define CRTC_CURSOR_END 11 /* text cursor end line */
291#define CRTC_SCREEN_START_HIGH 12 /* offset in display memory */ 291#define CRTC_SCREEN_START_HIGH 12 /* offset in display memory */
292#define CRTC_SCREEN_START_LOW 13 292#define CRTC_SCREEN_START_LOW 13
293#define CRTC_CURSOR_POS_HIGH 14 293#define CRTC_CURSOR_POS_HIGH 14
294#define CRTC_CURSOR_POS_LOW 15 294#define CRTC_CURSOR_POS_LOW 15
295#define CRTC_VSYNC_START 16 295#define CRTC_VSYNC_START 16
296#define CRTC_VSYNC_END 17 296#define CRTC_VSYNC_END 17
297#define CRTC_VDISP_ENABLE_END 18 297#define CRTC_VDISP_ENABLE_END 18
298#define CRTC_OFFSET 19 /* textmode stride */ 298#define CRTC_OFFSET 19 /* textmode stride */
299#define CRTC_UNDERLINE_LOC 20 299#define CRTC_UNDERLINE_LOC 20
300#define CRTC_VDISP_BLANK_START 21 300#define CRTC_VDISP_BLANK_START 21
301#define CRTC_VDISP_BLANK_END 22 301#define CRTC_VDISP_BLANK_END 22
302#define CRTC_MODE_CONTROL 23 302#define CRTC_MODE_CONTROL 23
303#define CRTC_LINE_COMPARE 24 303#define CRTC_LINE_COMPARE 24
304#define CRTC_HDISP_EXT 26 304#define CRTC_HDISP_EXT 26
305#define CRTC_VDISP_EXT 27 305#define CRTC_VDISP_EXT 27
306#define CRTC_PCI_READBACK 28 306#define CRTC_PCI_READBACK 28
307#define CRTC_SCRATCH_1 29 307#define CRTC_SCRATCH_1 29
308#define CRTC_SCRATCH_2 30 308#define CRTC_SCRATCH_2 30
309#define CRTC_SCRATCH_3 31 309#define CRTC_SCRATCH_3 31
310#define CRTC_VDISP_PRELOAD_LOW 32 310#define CRTC_VDISP_PRELOAD_LOW 32
311#define CRTC_VDISP_PRELOAD_HIGH 33 311#define CRTC_VDISP_PRELOAD_HIGH 33
312#define CRTC_LATCHES_READBACK 34 312#define CRTC_LATCHES_READBACK 34
313#define CRTC_ATTR_READBACK 36 /* bit 7 = 0 : attr. ctrlr reads index, 1 -> data */ 313#define CRTC_ATTR_READBACK 36 /* bit 7 = 0 : attr. ctrlr reads index, 1 -> data */
314#define CRTC_ATTR_INDEX 38 314#define CRTC_ATTR_INDEX 38
315 315
316#endif 316#endif