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