Try to detect broken files with unaligned chunks.
[mplayer/greg.git] / vidix / radeon.h
blobf7b07914d862633437ea72adfb0e034b943e5da8
1 /*
2 * VIDIX driver for ATI Rage128 and Radeon chipsets.
4 * This file is based on radeonfb, X11, GATOS sources
5 * and partly compatible with Rage128 set (in OV0, CAP0, CAP1 parts)
7 * Copyright (C) 2002 Nick Kurshev
9 * This file is part of MPlayer.
11 * MPlayer is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * MPlayer is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License along
22 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 #ifndef MPLAYER_RADEON_H
27 #define MPLAYER_RADEON_H
29 #define RADEON_REGSIZE 0x4000
30 #define MM_INDEX 0x0000
31 /* MM_INDEX bit constants */
32 # define MM_APER 0x80000000
33 #define MM_DATA 0x0004
34 #define BUS_CNTL 0x0030
35 /* BUS_CNTL bit constants */
36 # define BUS_DBL_RESYNC 0x00000001
37 # define BUS_MSTR_RESET 0x00000002
38 # define BUS_FLUSH_BUF 0x00000004
39 # define BUS_STOP_REQ_DIS 0x00000008
40 # define BUS_ROTATION_DIS 0x00000010
41 # define BUS_MASTER_DIS 0x00000040
42 # define BUS_ROM_WRT_EN 0x00000080
43 # define BUS_DIS_ROM 0x00001000
44 # define BUS_PCI_READ_RETRY_EN 0x00002000
45 # define BUS_AGP_AD_STEPPING_EN 0x00004000
46 # define BUS_PCI_WRT_RETRY_EN 0x00008000
47 # define BUS_MSTR_RD_MULT 0x00100000
48 # define BUS_MSTR_RD_LINE 0x00200000
49 # define BUS_SUSPEND 0x00400000
50 # define LAT_16X 0x00800000
51 # define BUS_RD_DISCARD_EN 0x01000000
52 # define BUS_RD_ABORT_EN 0x02000000
53 # define BUS_MSTR_WS 0x04000000
54 # define BUS_PARKING_DIS 0x08000000
55 # define BUS_MSTR_DISCONNECT_EN 0x10000000
56 # define BUS_WRT_BURST 0x20000000
57 # define BUS_READ_BURST 0x40000000
58 # define BUS_RDY_READ_DLY 0x80000000
59 #define HI_STAT 0x004C
60 #define BUS_CNTL1 0x0034
61 # define BUS_WAIT_ON_LOCK_EN (1 << 4)
62 #define I2C_CNTL_0 0x0090
63 # define I2C_DONE (1<<0)
64 # define I2C_NACK (1<<1)
65 # define I2C_HALT (1<<2)
66 # define I2C_SOFT_RST (1<<5)
67 # define I2C_DRIVE_EN (1<<6)
68 # define I2C_DRIVE_SEL (1<<7)
69 # define I2C_START (1<<8)
70 # define I2C_STOP (1<<9)
71 # define I2C_RECEIVE (1<<10)
72 # define I2C_ABORT (1<<11)
73 # define I2C_GO (1<<12)
74 # define I2C_SEL (1<<16)
75 # define I2C_EN (1<<17)
76 #define I2C_CNTL_1 0x0094
77 #define I2C_DATA 0x0098
78 #define CONFIG_CNTL 0x00E0
79 /* CONFIG_CNTL bit constants */
80 # define CFG_VGA_RAM_EN 0x00000100
81 #ifdef RAGE128
82 #define GEN_RESET_CNTL 0x00f0
83 # define SOFT_RESET_GUI 0x00000001
84 # define SOFT_RESET_VCLK 0x00000100
85 # define SOFT_RESET_PCLK 0x00000200
86 # define SOFT_RESET_ECP 0x00000400
87 # define SOFT_RESET_DISPENG_XCLK 0x00000800
88 # define SOFT_RESET_MEMCTLR_XCLK 0x00001000
89 #endif
90 #define CONFIG_MEMSIZE 0x00F8
91 #define CONFIG_APER_0_BASE 0x0100
92 #define CONFIG_APER_1_BASE 0x0104
93 #define CONFIG_APER_SIZE 0x0108
94 #define CONFIG_REG_1_BASE 0x010C
95 #define CONFIG_REG_APER_SIZE 0x0110
96 #define PAD_AGPINPUT_DELAY 0x0164
97 #define PAD_CTLR_STRENGTH 0x0168
98 #define PAD_CTLR_UPDATE 0x016C
99 #define AGP_CNTL 0x0174
100 # define AGP_APER_SIZE_256MB (0x00 << 0)
101 # define AGP_APER_SIZE_128MB (0x20 << 0)
102 # define AGP_APER_SIZE_64MB (0x30 << 0)
103 # define AGP_APER_SIZE_32MB (0x38 << 0)
104 # define AGP_APER_SIZE_16MB (0x3c << 0)
105 # define AGP_APER_SIZE_8MB (0x3e << 0)
106 # define AGP_APER_SIZE_4MB (0x3f << 0)
107 # define AGP_APER_SIZE_MASK (0x3f << 0)
108 #define AMCGPIO_A_REG 0x01a0
109 #define AMCGPIO_EN_REG 0x01a8
110 #define AMCGPIO_MASK 0x0194
111 #define AMCGPIO_Y_REG 0x01a4
112 /*#define BM_STATUS 0x0160*/
113 #define MPP_TB_CONFIG 0x01c0 /* ? */
114 #define MPP_GP_CONFIG 0x01c8 /* ? */
115 #define VENDOR_ID 0x0F00
116 #define DEVICE_ID 0x0F02
117 #define COMMAND 0x0F04
118 #define STATUS 0x0F06
119 #define REVISION_ID 0x0F08
120 #define REGPROG_INF 0x0F09
121 #define SUB_CLASS 0x0F0A
122 #define CACHE_LINE 0x0F0C
123 #define LATENCY 0x0F0D
124 #define HEADER 0x0F0E
125 #define BIST 0x0F0F
126 #define REG_MEM_BASE 0x0F10
127 #define REG_IO_BASE 0x0F14
128 #define REG_REG_BASE 0x0F18
129 #define ADAPTER_ID 0x0F2C
130 #define BIOS_ROM 0x0F30
131 #define CAPABILITIES_PTR 0x0F34
132 #define INTERRUPT_LINE 0x0F3C
133 #define INTERRUPT_PIN 0x0F3D
134 #define MIN_GRANT 0x0F3E
135 #define MAX_LATENCY 0x0F3F
136 #define ADAPTER_ID_W 0x0F4C
137 #define PMI_CAP_ID 0x0F50
138 #define PMI_NXT_CAP_PTR 0x0F51
139 #define PMI_PMC_REG 0x0F52
140 #define PM_STATUS 0x0F54
141 #define PMI_DATA 0x0F57
142 #define AGP_CAP_ID 0x0F58
143 #define AGP_STATUS 0x0F5C
144 # define AGP_1X_MODE 0x01
145 # define AGP_2X_MODE 0x02
146 # define AGP_4X_MODE 0x04
147 # define AGP_MODE_MASK 0x07
148 #define AGP_COMMAND 0x0F60
150 /* Video muxer unit */
151 #define VIDEOMUX_CNTL 0x0190
152 #define VIPPAD_MASK 0x0198
153 #define VIPPAD1_A 0x01AC
154 #define VIPPAD1_EN 0x01B0
155 #define VIPPAD1_Y 0x01B4
157 #define AIC_CTRL 0x01D0
158 #define AIC_STAT 0x01D4
159 #define AIC_PT_BASE 0x01D8
160 #define AIC_LO_ADDR 0x01DC
161 #define AIC_HI_ADDR 0x01E0
162 #define AIC_TLB_ADDR 0x01E4
163 #define AIC_TLB_DATA 0x01E8
164 #define DAC_CNTL 0x0058
165 /* DAC_CNTL bit constants */
166 # define DAC_RANGE_CNTL_MSK 0x00000003
167 # define DAC_RANGE_PAL 0x00000000
168 # define DAC_RANGE_NTSC 0x00000001
169 # define DAC_RANGE_PS2 0x00000002
170 # define DAC_BLANKING 0x00000004
171 # define DAC_CMP_EN 0x00000008
172 # define DAC_CMP_OUTPUT 0x00000080
173 # define DAC_8BIT_EN 0x00000100
174 # define DAC_4BPP_PIX_ORDER 0x00000200
175 # define DAC_TVO_EN 0x00000400
176 # define DAC_TVO_OVR_EXCL 0x00000800
177 # define DAC_TVO_16BPP_DITH_EN 0x00001000
178 # define DAC_VGA_ADR_EN (1 << 13)
179 # define DAC_PWDN (1 << 15)
180 # define DAC_CRC_EN 0x00080000
181 # define DAC_MASK_ALL (0xff << 24)
182 # define DAC_RANGE_CNTL (3 << 0)
183 #define DAC_CNTL2 0x007c
184 /* DAC_CNTL2 bit constants */
185 # define DAC2_DAC_CLK_SEL (1 << 0)
186 # define DAC2_DAC2_CLK_SEL (1 << 1)
187 # define DAC2_PALETTE_ACC_CTL (1 << 5)
188 #define TV_DAC_CNTL 0x088c
189 /* TV_DAC_CNTL bit constants */
190 # define TV_DAC_STD_MASK 0x0300
191 # define TV_DAC_RDACPD (1 << 24)
192 # define TV_DAC_GDACPD (1 << 25)
193 # define TV_DAC_BDACPD (1 << 26)
194 #define CRTC_GEN_CNTL 0x0050
195 /* CRTC_GEN_CNTL bit constants */
196 # define CRTC_DBL_SCAN_EN 0x00000001
197 # define CRTC_INTERLACE_EN (1 << 1)
198 # define CRTC_CSYNC_EN (1 << 4)
199 # define CRTC_CUR_EN 0x00010000
200 # define CRTC_CUR_MODE_MASK (7 << 17)
201 # define CRTC_ICON_EN (1 << 20)
202 # define CRTC_EXT_DISP_EN (1 << 24)
203 # define CRTC_EN (1 << 25)
204 # define CRTC_DISP_REQ_EN_B (1 << 26)
205 #define CRTC2_GEN_CNTL 0x03f8
206 /* CRTC2_GEN_CNTL bit constants */
207 # define CRTC2_DBL_SCAN_EN (1 << 0)
208 # define CRTC2_INTERLACE_EN (1 << 1)
209 # define CRTC2_SYNC_TRISTAT (1 << 4)
210 # define CRTC2_HSYNC_TRISTAT (1 << 5)
211 # define CRTC2_VSYNC_TRISTAT (1 << 6)
212 # define CRTC2_CRT2_ON (1 << 7)
213 # define CRTC2_ICON_EN (1 << 15)
214 # define CRTC2_CUR_EN (1 << 16)
215 # define CRTC2_CUR_MODE_MASK (7 << 20)
216 # define CRTC2_DISP_DIS (1 << 23)
217 # define CRTC2_EN (1 << 25)
218 # define CRTC2_DISP_REQ_EN_B (1 << 26)
219 # define CRTC2_CSYNC_EN (1 << 27)
220 # define CRTC2_HSYNC_DIS (1 << 28)
221 # define CRTC2_VSYNC_DIS (1 << 29)
222 #define MEM_CNTL 0x0140
223 /* MEM_CNTL bit constants */
224 # define MEM_CTLR_STATUS_IDLE 0x00000000
225 # define MEM_CTLR_STATUS_BUSY 0x00100000
226 # define MEM_SEQNCR_STATUS_IDLE 0x00000000
227 # define MEM_SEQNCR_STATUS_BUSY 0x00200000
228 # define MEM_ARBITER_STATUS_IDLE 0x00000000
229 # define MEM_ARBITER_STATUS_BUSY 0x00400000
230 # define MEM_REQ_UNLOCK 0x00000000
231 # define MEM_REQ_LOCK 0x00800000
232 #define EXT_MEM_CNTL 0x0144
233 #define MC_AGP_LOCATION 0x014C
234 #define MEM_IO_CNTL_A0 0x0178
235 #define MEM_INIT_LATENCY_TIMER 0x0154
236 #define MEM_SDRAM_MODE_REG 0x0158
237 #define AGP_BASE 0x0170
238 #ifdef RAGE128
239 #define PCI_GART_PAGE 0x017c
240 #define PC_NGUI_MODE 0x0180
241 #define PC_NGUI_CTLSTAT 0x0184
242 # define PC_FLUSH_GUI (3 << 0)
243 # define PC_RI_GUI (1 << 2)
244 # define PC_FLUSH_ALL 0x00ff
245 # define PC_BUSY (1 << 31)
246 #define PC_MISC_CNTL 0x0188
247 #else
248 #define MEM_IO_CNTL_A1 0x017C
249 #define MEM_IO_CNTL_B0 0x0180
250 #define MEM_IO_CNTL_B1 0x0184
251 #define MC_DEBUG 0x0188
252 #endif
253 #define MC_STATUS 0x0150
254 #define MEM_IO_OE_CNTL 0x018C
255 #define MC_FB_LOCATION 0x0148
256 #define HOST_PATH_CNTL 0x0130
257 #define MEM_VGA_WP_SEL 0x0038
258 #define MEM_VGA_RP_SEL 0x003C
259 #define HDP_DEBUG 0x0138
260 #define SW_SEMAPHORE 0x013C
261 #define SURFACE_CNTL 0x0B00
262 /* SURFACE_CNTL bit constants */
263 # define SURF_TRANSLATION_DIS (1 << 8)
264 # define NONSURF_AP0_SWP_16BPP (1 << 20)
265 # define NONSURF_AP0_SWP_32BPP (2 << 20)
266 #define SURFACE0_LOWER_BOUND 0x0B04
267 #define SURFACE1_LOWER_BOUND 0x0B14
268 #define SURFACE2_LOWER_BOUND 0x0B24
269 #define SURFACE3_LOWER_BOUND 0x0B34
270 #define SURFACE4_LOWER_BOUND 0x0B44
271 #define SURFACE5_LOWER_BOUND 0x0B54
272 #define SURFACE6_LOWER_BOUND 0x0B64
273 #define SURFACE7_LOWER_BOUND 0x0B74
274 #define SURFACE0_UPPER_BOUND 0x0B08
275 #define SURFACE1_UPPER_BOUND 0x0B18
276 #define SURFACE2_UPPER_BOUND 0x0B28
277 #define SURFACE3_UPPER_BOUND 0x0B38
278 #define SURFACE4_UPPER_BOUND 0x0B48
279 #define SURFACE5_UPPER_BOUND 0x0B58
280 #define SURFACE6_UPPER_BOUND 0x0B68
281 #define SURFACE7_UPPER_BOUND 0x0B78
282 #define SURFACE0_INFO 0x0B0C
283 #define SURFACE1_INFO 0x0B1C
284 #define SURFACE2_INFO 0x0B2C
285 #define SURFACE3_INFO 0x0B3C
286 #define SURFACE4_INFO 0x0B4C
287 #define SURFACE5_INFO 0x0B5C
288 #define SURFACE6_INFO 0x0B6C
289 #define SURFACE7_INFO 0x0B7C
290 #define SURFACE_ACCESS_FLAGS 0x0BF8
291 #define SURFACE_ACCESS_CLR 0x0BFC
292 #define GEN_INT_CNTL 0x0040
293 #define GEN_INT_STATUS 0x0044
294 # define VSYNC_INT_AK (1 << 2)
295 # define VSYNC_INT (1 << 2)
296 #define CRTC_EXT_CNTL 0x0054
297 /* CRTC_EXT_CNTL bit constants */
298 # define CRTC_VGA_XOVERSCAN (1 << 0)
299 # define VGA_ATI_LINEAR 0x00000008
300 # define VGA_128KAP_PAGING 0x00000010
301 # define XCRT_CNT_EN (1 << 6)
302 # define CRTC_HSYNC_DIS (1 << 8)
303 # define CRTC_VSYNC_DIS (1 << 9)
304 # define CRTC_DISPLAY_DIS (1 << 10)
305 # define CRTC_SYNC_TRISTAT (1 << 11)
306 # define CRTC_CRT_ON (1 << 15)
307 #define CRTC_EXT_CNTL_DPMS_BYTE 0x0055
308 # define CRTC_HSYNC_DIS_BYTE (1 << 0)
309 # define CRTC_VSYNC_DIS_BYTE (1 << 1)
310 # define CRTC_DISPLAY_DIS_BYTE (1 << 2)
311 #define RB3D_CNTL 0x1C3C
312 #define WAIT_UNTIL 0x1720
313 # define EVENT_CRTC_OFFSET 0x00000001
314 # define EVENT_RE_CRTC_VLINE 0x00000002
315 # define EVENT_FE_CRTC_VLINE 0x00000004
316 # define EVENT_CRTC_VLINE 0x00000008
317 # define EVENT_BM_VIP0_IDLE 0x00000010
318 # define EVENT_BM_VIP1_IDLE 0x00000020
319 # define EVENT_BM_VIP2_IDLE 0x00000040
320 # define EVENT_BM_VIP3_IDLE 0x00000080
321 # define EVENT_BM_VIDCAP_IDLE 0x00000100
322 # define EVENT_BM_GUI_IDLE 0x00000200
323 # define EVENT_CMDFIFO 0x00000400
324 # define EVENT_OV0_FLIP 0x00000800
325 # define EVENT_CMDFIFO_ENTRIES 0x07F00000
326 #define ISYNC_CNTL 0x1724
327 #define RBBM_GUICNTL 0x172C
328 #define RBBM_STATUS 0x0E40
329 # define RBBM_FIFOCNT_MASK 0x007f
330 # define RBBM_ACTIVE (1 << 31)
331 #define RBBM_STATUS_alt_1 0x1740
332 #define RBBM_CNTL 0x00EC
333 #define RBBM_CNTL_alt_1 0x0E44
334 #define RBBM_SOFT_RESET 0x00F0
335 /* RBBM_SOFT_RESET bit constants */
336 # define SOFT_RESET_CP (1 << 0)
337 # define SOFT_RESET_HI (1 << 1)
338 # define SOFT_RESET_SE (1 << 2)
339 # define SOFT_RESET_RE (1 << 3)
340 # define SOFT_RESET_PP (1 << 4)
341 # define SOFT_RESET_E2 (1 << 5)
342 # define SOFT_RESET_RB (1 << 6)
343 # define SOFT_RESET_HDP (1 << 7)
344 #define RBBM_SOFT_RESET_alt_1 0x0E48
345 #define NQWAIT_UNTIL 0x0E50
346 #define RBBM_DEBUG 0x0E6C
347 #define RBBM_CMDFIFO_ADDR 0x0E70
348 #define RBBM_CMDFIFO_DATAL 0x0E74
349 #define RBBM_CMDFIFO_DATAH 0x0E78
350 #define RBBM_CMDFIFO_STAT 0x0E7C
351 #define CRTC_STATUS 0x005C
352 /* CRTC_STATUS bit constants */
353 # define CRTC_VBLANK 0x00000001
354 # define CRTC_VBLANK_SAVE ( 1 << 1)
355 #define GPIO_VGA_DDC 0x0060
356 #define GPIO_DVI_DDC 0x0064
357 #define GPIO_MONID 0x0068
358 #define PALETTE_INDEX 0x00B0
359 #define PALETTE_DATA 0x00B4
360 #define PALETTE_30_DATA 0x00B8
361 #define CRTC_H_TOTAL_DISP 0x0200
362 # define CRTC_H_TOTAL (0x03ff << 0)
363 # define CRTC_H_TOTAL_SHIFT 0
364 # define CRTC_H_DISP (0x01ff << 16)
365 # define CRTC_H_DISP_SHIFT 16
366 #define CRTC2_H_TOTAL_DISP 0x0300
367 # define CRTC2_H_TOTAL (0x03ff << 0)
368 # define CRTC2_H_TOTAL_SHIFT 0
369 # define CRTC2_H_DISP (0x01ff << 16)
370 # define CRTC2_H_DISP_SHIFT 16
371 #define CRTC_H_SYNC_STRT_WID 0x0204
372 # define CRTC_H_SYNC_STRT_PIX (0x07 << 0)
373 # define CRTC_H_SYNC_STRT_CHAR (0x3ff << 3)
374 # define CRTC_H_SYNC_STRT_CHAR_SHIFT 3
375 # define CRTC_H_SYNC_WID (0x3f << 16)
376 # define CRTC_H_SYNC_WID_SHIFT 16
377 # define CRTC_H_SYNC_POL (1 << 23)
378 #define CRTC2_H_SYNC_STRT_WID 0x0304
379 # define CRTC2_H_SYNC_STRT_PIX (0x07 << 0)
380 # define CRTC2_H_SYNC_STRT_CHAR (0x3ff << 3)
381 # define CRTC2_H_SYNC_STRT_CHAR_SHIFT 3
382 # define CRTC2_H_SYNC_WID (0x3f << 16)
383 # define CRTC2_H_SYNC_WID_SHIFT 16
384 # define CRTC2_H_SYNC_POL (1 << 23)
385 #define CRTC_V_TOTAL_DISP 0x0208
386 # define CRTC_V_TOTAL (0x07ff << 0)
387 # define CRTC_V_TOTAL_SHIFT 0
388 # define CRTC_V_DISP (0x07ff << 16)
389 # define CRTC_V_DISP_SHIFT 16
390 #define CRTC2_V_TOTAL_DISP 0x0308
391 # define CRTC2_V_TOTAL (0x07ff << 0)
392 # define CRTC2_V_TOTAL_SHIFT 0
393 # define CRTC2_V_DISP (0x07ff << 16)
394 # define CRTC2_V_DISP_SHIFT 16
395 #define CRTC_V_SYNC_STRT_WID 0x020C
396 # define CRTC_V_SYNC_STRT (0x7ff << 0)
397 # define CRTC_V_SYNC_STRT_SHIFT 0
398 # define CRTC_V_SYNC_WID (0x1f << 16)
399 # define CRTC_V_SYNC_WID_SHIFT 16
400 # define CRTC_V_SYNC_POL (1 << 23)
401 #define CRTC2_V_SYNC_STRT_WID 0x030C
402 # define CRTC2_V_SYNC_STRT (0x7ff << 0)
403 # define CRTC2_V_SYNC_STRT_SHIFT 0
404 # define CRTC2_V_SYNC_WID (0x1f << 16)
405 # define CRTC2_V_SYNC_WID_SHIFT 16
406 # define CRTC2_V_SYNC_POL (1 << 23)
407 #define CRTC_VLINE_CRNT_VLINE 0x0210
408 # define CRTC_CRNT_VLINE_MASK (0x7ff << 16)
409 #define CRTC2_VLINE_CRNT_VLINE 0x0310
410 #define CRTC_CRNT_FRAME 0x0214
411 #define CRTC2_CRNT_FRAME 0x0314
412 #define CRTC_GUI_TRIG_VLINE 0x0218
413 #define CRTC2_GUI_TRIG_VLINE 0x0318
414 #define CRTC_DEBUG 0x021C
415 #define CRTC2_DEBUG 0x031C
416 #define CRTC_OFFSET_RIGHT 0x0220
417 #define CRTC_OFFSET 0x0224
418 #define CRTC2_OFFSET 0x0324
419 #define CRTC_OFFSET_CNTL 0x0228
420 # define CRTC_TILE_EN (1 << 15)
421 #define CRTC2_OFFSET_CNTL 0x0328
422 # define CRTC2_TILE_EN (1 << 15)
423 #define CRTC_PITCH 0x022C
424 #define CRTC2_PITCH 0x032C
425 #define TMDS_CRC 0x02a0
426 #define OVR_CLR 0x0230
427 #define OVR_WID_LEFT_RIGHT 0x0234
428 #define OVR_WID_TOP_BOTTOM 0x0238
429 #define DISPLAY_BASE_ADDR 0x023C
430 #define SNAPSHOT_VH_COUNTS 0x0240
431 #define SNAPSHOT_F_COUNT 0x0244
432 #define N_VIF_COUNT 0x0248
433 #define SNAPSHOT_VIF_COUNT 0x024C
434 #define FP_CRTC_H_TOTAL_DISP 0x0250
435 #define FP_CRTC2_H_TOTAL_DISP 0x0350
436 #define FP_CRTC_V_TOTAL_DISP 0x0254
437 #define FP_CRTC2_V_TOTAL_DISP 0x0354
438 # define FP_CRTC_H_TOTAL_MASK 0x000003ff
439 # define FP_CRTC_H_DISP_MASK 0x01ff0000
440 # define FP_CRTC_V_TOTAL_MASK 0x00000fff
441 # define FP_CRTC_V_DISP_MASK 0x0fff0000
442 # define FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8
443 # define FP_H_SYNC_WID_MASK 0x003f0000
444 # define FP_V_SYNC_STRT_MASK 0x00000fff
445 # define FP_V_SYNC_WID_MASK 0x001f0000
446 # define FP_CRTC_H_TOTAL_SHIFT 0x00000000
447 # define FP_CRTC_H_DISP_SHIFT 0x00000010
448 # define FP_CRTC_V_TOTAL_SHIFT 0x00000000
449 # define FP_CRTC_V_DISP_SHIFT 0x00000010
450 # define FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003
451 # define FP_H_SYNC_WID_SHIFT 0x00000010
452 # define FP_V_SYNC_STRT_SHIFT 0x00000000
453 # define FP_V_SYNC_WID_SHIFT 0x00000010
454 #define CRT_CRTC_H_SYNC_STRT_WID 0x0258
455 #define CRT_CRTC_V_SYNC_STRT_WID 0x025C
456 #define CUR_OFFSET 0x0260
457 #define CUR_HORZ_VERT_POSN 0x0264
458 #define CUR_HORZ_VERT_OFF 0x0268
459 /* CUR_OFFSET, CUR_HORZ_VERT_POSN, CUR_HORZ_VERT_OFF bit constants */
460 # define CUR_LOCK 0x80000000
461 #define CUR_CLR0 0x026C
462 #define CUR_CLR1 0x0270
463 #define CUR2_OFFSET 0x0360
464 #define CUR2_HORZ_VERT_POSN 0x0364
465 #define CUR2_HORZ_VERT_OFF 0x0368
466 # define CUR2_LOCK (1 << 31)
467 #define CUR2_CLR0 0x036c
468 #define CUR2_CLR1 0x0370
469 #define FP_HORZ_VERT_ACTIVE 0x0278
470 #define CRTC_MORE_CNTL 0x027C
471 #define DAC_EXT_CNTL 0x0280
472 #define FP_GEN_CNTL 0x0284
473 /* FP_GEN_CNTL bit constants */
474 # define FP_FPON (1 << 0)
475 # define FP_TMDS_EN (1 << 2)
476 # define FP_EN_TMDS (1 << 7)
477 # define FP_DETECT_SENSE (1 << 8)
478 # define FP_SEL_CRTC2 (1 << 13)
479 # define FP_CRTC_DONT_SHADOW_HPAR (1 << 15)
480 # define FP_CRTC_DONT_SHADOW_VPAR (1 << 16)
481 # define FP_CRTC_DONT_SHADOW_HEND (1 << 17)
482 # define FP_CRTC_USE_SHADOW_VEND (1 << 18)
483 # define FP_RMX_HVSYNC_CONTROL_EN (1 << 20)
484 # define FP_DFP_SYNC_SEL (1 << 21)
485 # define FP_CRTC_LOCK_8DOT (1 << 22)
486 # define FP_CRT_SYNC_SEL (1 << 23)
487 # define FP_USE_SHADOW_EN (1 << 24)
488 # define FP_CRT_SYNC_ALT (1 << 26)
489 #define FP2_GEN_CNTL 0x0288
490 /* FP2_GEN_CNTL bit constants */
491 # define FP2_FPON (1 << 0)
492 # define FP2_TMDS_EN (1 << 2)
493 # define FP2_EN_TMDS (1 << 7)
494 # define FP2_DETECT_SENSE (1 << 8)
495 # define FP2_SEL_CRTC2 (1 << 13)
496 # define FP2_FP_POL (1 << 16)
497 # define FP2_LP_POL (1 << 17)
498 # define FP2_SCK_POL (1 << 18)
499 # define FP2_LCD_CNTL_MASK (7 << 19)
500 # define FP2_PAD_FLOP_EN (1 << 22)
501 # define FP2_CRC_EN (1 << 23)
502 # define FP2_CRC_READ_EN (1 << 24)
503 #define FP_HORZ_STRETCH 0x028C
504 #define FP_HORZ2_STRETCH 0x038C
505 # define HORZ_STRETCH_RATIO_MASK 0xffff
506 # define HORZ_STRETCH_RATIO_MAX 4096
507 # define HORZ_PANEL_SIZE (0x1ff << 16)
508 # define HORZ_PANEL_SHIFT 16
509 # define HORZ_STRETCH_PIXREP (0 << 25)
510 # define HORZ_STRETCH_BLEND (1 << 26)
511 # define HORZ_STRETCH_ENABLE (1 << 25)
512 # define HORZ_AUTO_RATIO (1 << 27)
513 # define HORZ_FP_LOOP_STRETCH (0x7 << 28)
514 # define HORZ_AUTO_RATIO_INC (1 << 31)
515 #define FP_VERT_STRETCH 0x0290
516 #define FP_VERT2_STRETCH 0x0390
517 # define VERT_PANEL_SIZE (0xfff << 12)
518 # define VERT_PANEL_SHIFT 12
519 # define VERT_STRETCH_RATIO_MASK 0xfff
520 # define VERT_STRETCH_RATIO_SHIFT 0
521 # define VERT_STRETCH_RATIO_MAX 4096
522 # define VERT_STRETCH_ENABLE (1 << 25)
523 # define VERT_STRETCH_LINEREP (0 << 26)
524 # define VERT_STRETCH_BLEND (1 << 26)
525 # define VERT_AUTO_RATIO_EN (1 << 27)
526 # define VERT_STRETCH_RESERVED 0xf1000000
527 #define FP_H_SYNC_STRT_WID 0x02C4
528 #define FP_H2_SYNC_STRT_WID 0x03C4
529 #define FP_V_SYNC_STRT_WID 0x02C8
530 #define FP_V2_SYNC_STRT_WID 0x03C8
531 #define LVDS_GEN_CNTL 0x02d0
532 # define LVDS_ON (1 << 0)
533 # define LVDS_DISPLAY_DIS (1 << 1)
534 # define LVDS_PANEL_TYPE (1 << 2)
535 # define LVDS_PANEL_FORMAT (1 << 3)
536 # define LVDS_EN (1 << 7)
537 # define LVDS_DIGON (1 << 18)
538 # define LVDS_BLON (1 << 19)
539 # define LVDS_SEL_CRTC2 (1 << 23)
540 #define LVDS_PLL_CNTL 0x02d4
541 # define HSYNC_DELAY_SHIFT 28
542 # define HSYNC_DELAY_MASK (0xf << 28)
543 #define AUX_WINDOW_HORZ_CNTL 0x02D8
544 #define AUX_WINDOW_VERT_CNTL 0x02DC
545 #define DDA_CONFIG 0x02e0
546 #define DDA_ON_OFF 0x02e4
548 #define GRPH_BUFFER_CNTL 0x02F0
549 #define VGA_BUFFER_CNTL 0x02F4
551 /* first overlay unit (there is only one) */
553 #define OV0_Y_X_START 0x0400
554 #define OV0_Y_X_END 0x0404
555 #define OV0_PIPELINE_CNTL 0x0408
556 #define OV0_EXCLUSIVE_HORZ 0x0408
557 # define EXCL_HORZ_START_MASK 0x000000ff
558 # define EXCL_HORZ_END_MASK 0x0000ff00
559 # define EXCL_HORZ_BACK_PORCH_MASK 0x00ff0000
560 # define EXCL_HORZ_EXCLUSIVE_EN 0x80000000
561 #define OV0_EXCLUSIVE_VERT 0x040C
562 # define EXCL_VERT_START_MASK 0x000003ff
563 # define EXCL_VERT_END_MASK 0x03ff0000
564 #define OV0_REG_LOAD_CNTL 0x0410
565 # define REG_LD_CTL_LOCK 0x00000001L
566 # define REG_LD_CTL_VBLANK_DURING_LOCK 0x00000002L
567 # define REG_LD_CTL_STALL_GUI_UNTIL_FLIP 0x00000004L
568 # define REG_LD_CTL_LOCK_READBACK 0x00000008L
569 #define OV0_SCALE_CNTL 0x0420
570 # define SCALER_PIX_EXPAND 0x00000001L
571 # define SCALER_Y2R_TEMP 0x00000002L
572 #ifdef RAGE128
573 # define SCALER_HORZ_PICK_NEAREST 0x00000003L
574 # define SCALER_VERT_PICK_NEAREST 0x00000004L
575 #else
576 # define SCALER_HORZ_PICK_NEAREST 0x00000004L
577 # define SCALER_VERT_PICK_NEAREST 0x00000008L
578 #endif
579 # define SCALER_SIGNED_UV 0x00000010L
580 # define SCALER_GAMMA_SEL_MASK 0x00000060L
581 # define SCALER_GAMMA_SEL_BRIGHT 0x00000000L
582 # define SCALER_GAMMA_SEL_G22 0x00000020L
583 # define SCALER_GAMMA_SEL_G18 0x00000040L
584 # define SCALER_GAMMA_SEL_G14 0x00000060L
585 # define SCALER_COMCORE_SHIFT_UP_ONE 0x00000080L
586 # define SCALER_SURFAC_FORMAT 0x00000f00L
587 # define SCALER_SOURCE_UNK0 0x00000000L /* 2 bpp ??? */
588 # define SCALER_SOURCE_UNK1 0x00000100L /* 4 bpp ??? */
589 # define SCALER_SOURCE_UNK2 0x00000200L /* 8 bpp ??? */
590 # define SCALER_SOURCE_15BPP 0x00000300L
591 # define SCALER_SOURCE_16BPP 0x00000400L
592 /*# define SCALER_SOURCE_24BPP 0x00000500L*/
593 # define SCALER_SOURCE_32BPP 0x00000600L
594 # define SCALER_SOURCE_UNK3 0x00000700L /* 8BPP_RGB332 ??? */
595 # define SCALER_SOURCE_UNK4 0x00000800L /* 8BPP_Y8 ??? */
596 # define SCALER_SOURCE_YUV9 0x00000900L /* 8BPP_RGB8 */
597 # define SCALER_SOURCE_YUV12 0x00000A00L
598 # define SCALER_SOURCE_VYUY422 0x00000B00L
599 # define SCALER_SOURCE_YVYU422 0x00000C00L
600 # define SCALER_SOURCE_UNK5 0x00000D00L /* ??? */
601 # define SCALER_SOURCE_UNK6 0x00000E00L /* 32BPP_AYUV444 */
602 # define SCALER_SOURCE_UNK7 0x00000F00L /* 16BPP_ARGB4444 */
603 # define SCALER_ADAPTIVE_DEINT 0x00001000L
604 # define R200_SCALER_TEMPORAL_DEINT 0x00002000L
605 # define SCALER_USE_OV1 0x00004000L /* Use/force Ov1 instead of Ov0 */
606 # define SCALER_SMART_SWITCH 0x00008000L
607 #ifdef RAGE128
608 # define SCALER_BURST_PER_PLANE 0x00ff0000L
609 #else
610 # define SCALER_BURST_PER_PLANE 0x007f0000L
611 #endif
612 # define SCALER_DOUBLE_BUFFER 0x01000000L
613 # define SCALER_UNKNOWN_FLAG3 0x02000000L /* ??? */
614 # define SCALER_UNKNOWN_FLAG4 0x04000000L /* ??? */
615 # define SCALER_DIS_LIMIT 0x08000000L
616 # define SCALER_PRG_LOAD_START 0x10000000L
617 # define SCALER_INT_EMU 0x20000000L
618 # define SCALER_ENABLE 0x40000000L
619 # define SCALER_SOFT_RESET 0x80000000L
620 #define OV0_V_INC 0x0424
621 #define OV0_P1_V_ACCUM_INIT 0x0428
622 # define OV0_P1_MAX_LN_IN_PER_LN_OUT 0x00000003L
623 # define OV0_P1_V_ACCUM_INIT_MASK 0x01ff8000L
624 #define OV0_P23_V_ACCUM_INIT 0x042C
625 # define OV0_P23_MAX_LN_IN_PER_LN_OUT 0x00000003L
626 # define OV0_P23_V_ACCUM_INIT_MASK 0x01ff8000L
627 #define OV0_P1_BLANK_LINES_AT_TOP 0x0430
628 # define P1_BLNK_LN_AT_TOP_M1_MASK 0x00000fffL
629 # define P1_ACTIVE_LINES_M1 0x0fff0000L
630 #define OV0_P23_BLANK_LINES_AT_TOP 0x0434
631 # define P23_BLNK_LN_AT_TOP_M1_MASK 0x000007ffL
632 # define P23_ACTIVE_LINES_M1 0x07ff0000L
633 #ifndef RAGE128
634 #define OV0_BASE_ADDR 0x043C
635 #endif
636 #define OV0_VID_BUF0_BASE_ADRS 0x0440
637 # define VIF_BUF0_PITCH_SEL 0x00000001L
638 # define VIF_BUF0_TILE_ADRS 0x00000002L
639 # define VIF_BUF0_BASE_ADRS_MASK 0x0ffffff0L
640 # define VIF_BUF0_1ST_LINE_LSBS_MASK 0x48000000L
641 #define OV0_VID_BUF1_BASE_ADRS 0x0444
642 # define VIF_BUF1_PITCH_SEL 0x00000001L
643 # define VIF_BUF1_TILE_ADRS 0x00000002L
644 # define VIF_BUF1_BASE_ADRS_MASK 0x0ffffff0L
645 # define VIF_BUF1_1ST_LINE_LSBS_MASK 0x48000000L
646 #define OV0_VID_BUF2_BASE_ADRS 0x0448
647 # define VIF_BUF2_PITCH_SEL 0x00000001L
648 # define VIF_BUF2_TILE_ADRS 0x00000002L
649 # define VIF_BUF2_BASE_ADRS_MASK 0x0ffffff0L
650 # define VIF_BUF2_1ST_LINE_LSBS_MASK 0x48000000L
651 #define OV0_VID_BUF3_BASE_ADRS 0x044C
652 # define VIF_BUF3_PITCH_SEL 0x00000001L
653 # define VIF_BUF3_TILE_ADRS 0x00000002L
654 # define VIF_BUF3_BASE_ADRS_MASK 0x0ffffff0L
655 # define VIF_BUF3_1ST_LINE_LSBS_MASK 0x48000000L
656 #define OV0_VID_BUF4_BASE_ADRS 0x0450
657 # define VIF_BUF4_PITCH_SEL 0x00000001L
658 # define VIF_BUF4_TILE_ADRS 0x00000002L
659 # define VIF_BUF4_BASE_ADRS_MASK 0x0ffffff0L
660 # define VIF_BUF4_1ST_LINE_LSBS_MASK 0x48000000L
661 #define OV0_VID_BUF5_BASE_ADRS 0x0454
662 # define VIF_BUF5_PITCH_SEL 0x00000001L
663 # define VIF_BUF5_TILE_ADRS 0x00000002L
664 # define VIF_BUF5_BASE_ADRS_MASK 0x0ffffff0L
665 # define VIF_BUF5_1ST_LINE_LSBS_MASK 0x48000000L
666 #define OV0_VID_BUF_PITCH0_VALUE 0x0460
667 #define OV0_VID_BUF_PITCH1_VALUE 0x0464
668 #define OV0_AUTO_FLIP_CNTL 0x0470
669 # define OV0_AUTO_FLIP_CNTL_SOFT_BUF_NUM 0x00000007
670 # define OV0_AUTO_FLIP_CNTL_SOFT_REPEAT_FIELD 0x00000008
671 # define OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD 0x00000010
672 # define OV0_AUTO_FLIP_CNTL_IGNORE_REPEAT_FIELD 0x00000020
673 # define OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE 0x00000040
674 # define OV0_AUTO_FLIP_CNTL_VID_PORT_SELECT 0x00000300
675 # define OV0_AUTO_FLIP_CNTL_P1_FIRST_LINE_EVEN 0x00010000
676 # define OV0_AUTO_FLIP_CNTL_SHIFT_EVEN_DOWN 0x00040000
677 # define OV0_AUTO_FLIP_CNTL_SHIFT_ODD_DOWN 0x00080000
678 # define OV0_AUTO_FLIP_CNTL_FIELD_POL_SOURCE 0x00800000
679 #define OV0_DEINTERLACE_PATTERN 0x0474
680 #define OV0_SUBMIT_HISTORY 0x0478
681 #define OV0_H_INC 0x0480
682 #define OV0_STEP_BY 0x0484
683 #define OV0_P1_H_ACCUM_INIT 0x0488
684 #define OV0_P23_H_ACCUM_INIT 0x048C
685 #define OV0_P1_X_START_END 0x0494
686 #define OV0_P2_X_START_END 0x0498
687 #define OV0_P3_X_START_END 0x049C
688 #define OV0_FILTER_CNTL 0x04A0
689 # define FILTER_PROGRAMMABLE_COEF 0x00000000
690 # define FILTER_HARD_SCALE_HORZ_Y 0x00000001
691 # define FILTER_HARD_SCALE_HORZ_UV 0x00000002
692 # define FILTER_HARD_SCALE_VERT_Y 0x00000004
693 # define FILTER_HARD_SCALE_VERT_UV 0x00000008
694 # define FILTER_HARDCODED_COEF 0x0000000F
695 # define FILTER_COEF_MASK 0x0000000F
696 /* When bit is set hard coded coefficients are used. */
699 Top quality 4x4-tap filtered vertical and horizontal scaler.
700 It allows up to 64:1 upscaling and downscaling without
701 performance or quality degradation.
703 #define OV0_FOUR_TAP_COEF_0 0x04B0
704 # define OV0_FOUR_TAP_PHASE_0_TAP_0 0x0000000F
705 # define OV0_FOUR_TAP_PHASE_0_TAP_1 0x00007F00
706 # define OV0_FOUR_TAP_PHASE_0_TAP_2 0x007F0000
707 # define OV0_FOUR_TAP_PHASE_0_TAP_3 0x0F000000
708 #define OV0_FOUR_TAP_COEF_1 0x04B4
709 # define OV0_FOUR_TAP_PHASE_1_5_TAP_0 0x0000000F
710 # define OV0_FOUR_TAP_PHASE_1_5_TAP_1 0x00007F00
711 # define OV0_FOUR_TAP_PHASE_1_5_TAP_2 0x007F0000
712 # define OV0_FOUR_TAP_PHASE_1_5_TAP_3 0x0F000000
713 #define OV0_FOUR_TAP_COEF_2 0x04B8
714 # define OV0_FOUR_TAP_PHASE_2_6_TAP_0 0x0000000F
715 # define OV0_FOUR_TAP_PHASE_2_6_TAP_1 0x00007F00
716 # define OV0_FOUR_TAP_PHASE_2_6_TAP_2 0x007F0000
717 # define OV0_FOUR_TAP_PHASE_2_6_TAP_3 0x0F000000
718 #define OV0_FOUR_TAP_COEF_3 0x04BC
719 # define OV0_FOUR_TAP_PHASE_3_7_TAP_0 0x0000000F
720 # define OV0_FOUR_TAP_PHASE_3_7_TAP_1 0x00007F00
721 # define OV0_FOUR_TAP_PHASE_3_7_TAP_2 0x007F0000
722 # define OV0_FOUR_TAP_PHASE_3_7_TAP_3 0x0F000000
723 #define OV0_FOUR_TAP_COEF_4 0x04C0
724 # define OV0_FOUR_TAP_PHASE_4_TAP_0 0x0000000F
725 # define OV0_FOUR_TAP_PHASE_4_TAP_1 0x00007F00
726 # define OV0_FOUR_TAP_PHASE_4_TAP_2 0x007F0000
727 # define OV0_FOUR_TAP_PHASE_4_TAP_3 0x0F000000
728 /* 0th_tap means that the left most of top most pixel in a set of four will
729 be multiplied by this coefficient. */
731 #define OV0_FLAG_CNTL 0x04DC
732 #ifdef RAGE128
733 #define OV0_COLOUR_CNTL 0x04E0
734 # define COLOUR_CNTL_BRIGHTNESS 0x0000007F
735 # define COLOUR_CNTL_SATURATION 0x001F1F00
736 #else
737 /* NB: radeons have no COLOUR_CNTL register */
738 #define OV0_SLICE_CNTL 0x04E0
739 # define SLICE_CNTL_DISABLE 0x40000000
740 #endif
741 /* Video and graphics keys allow alpha blending, color correction
742 and many other video effects */
743 #define OV0_VID_KEY_CLR 0x04E4
744 #define OV0_VID_KEY_MSK 0x04E8
745 #define OV0_GRAPHICS_KEY_CLR 0x04EC
746 #define OV0_GRAPHICS_KEY_MSK 0x04F0
747 #define OV0_KEY_CNTL 0x04F4
748 #ifdef RAGE128
749 # define VIDEO_KEY_FN_MASK 0x00000007L
750 # define VIDEO_KEY_FN_FALSE 0x00000000L
751 # define VIDEO_KEY_FN_TRUE 0x00000001L
752 # define VIDEO_KEY_FN_EQ 0x00000004L
753 # define VIDEO_KEY_FN_NE 0x00000005L
754 # define GRAPHIC_KEY_FN_MASK 0x00000070L
755 # define GRAPHIC_KEY_FN_FALSE 0x00000000L
756 # define GRAPHIC_KEY_FN_TRUE 0x00000010L
757 # define GRAPHIC_KEY_FN_EQ 0x00000040L
758 # define GRAPHIC_KEY_FN_NE 0x00000050L
759 #else
760 # define VIDEO_KEY_FN_MASK 0x00000003L
761 # define VIDEO_KEY_FN_FALSE 0x00000000L
762 # define VIDEO_KEY_FN_TRUE 0x00000001L
763 # define VIDEO_KEY_FN_EQ 0x00000002L
764 # define VIDEO_KEY_FN_NE 0x00000003L
765 # define GRAPHIC_KEY_FN_MASK 0x00000030L
766 # define GRAPHIC_KEY_FN_FALSE 0x00000000L
767 # define GRAPHIC_KEY_FN_TRUE 0x00000010L
768 # define GRAPHIC_KEY_FN_EQ 0x00000020L
769 # define GRAPHIC_KEY_FN_NE 0x00000030L
770 #endif
771 # define CMP_MIX_MASK 0x00000100L
772 # define CMP_MIX_OR 0x00000000L
773 # define CMP_MIX_AND 0x00000100L
774 #define OV0_TEST 0x04F8
775 # define OV0_SCALER_Y2R_DISABLE 0x00000001L
776 # define OV0_SUBPIC_ONLY 0x00000008L
777 # define OV0_EXTENSE 0x00000010L
778 # define OV0_SWAP_UV 0x00000020L
779 #define OV0_COL_CONV 0x04FC
780 # define OV0_CB_TO_B 0x0000007FL
781 # define OV0_CB_TO_G 0x0000FF00L
782 # define OV0_CR_TO_G 0x00FF0000L
783 # define OV0_CR_TO_R 0x7F000000L
784 # define OV0_NEW_COL_CONV 0x80000000L
785 #define OV1_Y_X_START 0x0600
786 #define OV1_Y_X_END 0x0604
787 #define OV0_LIN_TRANS_A 0x0D20
788 #define OV0_LIN_TRANS_B 0x0D24
789 #define OV0_LIN_TRANS_C 0x0D28
790 #define OV0_LIN_TRANS_D 0x0D2C
791 #define OV0_LIN_TRANS_E 0x0D30
792 #define OV0_LIN_TRANS_F 0x0D34
793 #define OV0_GAMMA_0_F 0x0D40
794 #define OV0_GAMMA_10_1F 0x0D44
795 #define OV0_GAMMA_20_3F 0x0D48
796 #define OV0_GAMMA_40_7F 0x0D4C
797 /* These registers exist on R200 only */
798 #define OV0_GAMMA_80_BF 0x0E00
799 #define OV0_GAMMA_C0_FF 0x0E04
800 #define OV0_GAMMA_100_13F 0x0E08
801 #define OV0_GAMMA_140_17F 0x0E0C
802 #define OV0_GAMMA_180_1BF 0x0E10
803 #define OV0_GAMMA_1C0_1FF 0x0E14
804 #define OV0_GAMMA_200_23F 0x0E18
805 #define OV0_GAMMA_240_27F 0x0E1C
806 #define OV0_GAMMA_280_2BF 0x0E20
807 #define OV0_GAMMA_2C0_2FF 0x0E24
808 #define OV0_GAMMA_300_33F 0x0E28
809 #define OV0_GAMMA_340_37F 0x0E2C
810 /* End of R200 specific definitions */
811 #define OV0_GAMMA_380_3BF 0x0D50
812 #define OV0_GAMMA_3C0_3FF 0x0D54
815 IDCT ENGINE:
816 It's MPEG-2 hardware decoder which incorporates run-level decode, de-zigzag
817 and IDCT into an IDCT engine to complement the motion compensation engine.
819 #define IDCT_RUNS 0x1F80
820 #define IDCT_LEVELS 0x1F84
821 #define IDCT_AUTH_CONTROL 0x1F88
822 #define IDCT_AUTH 0x1F8C
823 #define IDCT_CONTROL 0x1FBC
825 #define SE_MC_SRC2_CNTL 0x19D4
826 # define SECONDARY_SCALE_HACC 0x00001FFFL
827 # define SECONDARY_SCALE_VACC 0x0FFF0000L
828 # define SECONDARY_SCALE_PICTH_ADJ 0xC0000000L
829 #define SE_MC_SRC1_CNTL 0x19D8
830 # define SCALE_HACC 0x00001FFFL
831 # define SCALE_VACC 0x0FFF0000L
832 # define IDCT_EN 0x10000000L
833 # define SECONDARY_TEX_EN 0x20000000L
834 # define SCALE_PICTH_ADJ 0xC0000000L
835 #define SE_MC_DST_CNTL 0x19DC
836 # define DST_Y 0x00003FFFL
837 # define DST_X 0x3FFF0000L
838 # define DST_PITCH_ADJ 0xC0000000L
839 #define SE_MC_CNTL_START 0x19E0
840 # define SCALE_OFFSET_PTR 0x0000000FL
841 # define DST_OFFSET 0x00FFFFF0L
842 # define ALPHA_EN 0x01000000L
843 # define SECONDARY_OFFSET_PTR 0x1E000000L
844 # define MC_DST_HEIGHT_WIDTH 0xE0000000L
845 #ifndef RAGE128
846 #define SE_MC_BUF_BASE 0x19E4
847 #define PP_MC_CONTEXT 0x19E8
848 #define PP_MISC 0x1C14
849 #endif
851 SUBPICTURE UNIT:
852 Decompressing, scaling and alpha blending the compressed bitmap on the fly.
853 Provide optimal DVD subpicture qualtity.
855 #define SUBPIC_CNTL 0x0540
856 #define SUBPIC_DEFCOLCON 0x0544
857 #define SUBPIC_Y_X_START 0x054C
858 #define SUBPIC_Y_X_END 0x0550
859 #define SUBPIC_V_INC 0x0554
860 #define SUBPIC_H_INC 0x0558
861 #define SUBPIC_BUF0_OFFSET 0x055C
862 #define SUBPIC_BUF1_OFFSET 0x0560
863 #define SUBPIC_LC0_OFFSET 0x0564
864 #define SUBPIC_LC1_OFFSET 0x0568
865 #define SUBPIC_PITCH 0x056C
866 #define SUBPIC_BTN_HLI_COLCON 0x0570
867 #define SUBPIC_BTN_HLI_Y_X_START 0x0574
868 #define SUBPIC_BTN_HLI_Y_X_END 0x0578
869 #define SUBPIC_PALETTE_INDEX 0x057C
870 #define SUBPIC_PALETTE_DATA 0x0580
871 #define SUBPIC_H_ACCUM_INIT 0x0584
872 #define SUBPIC_V_ACCUM_INIT 0x0588
874 #define CP_RB_BASE 0x0700
875 #define CP_RB_CNTL 0x0704
876 #define CP_RB_RPTR_ADDR 0x070C
877 #define CP_RB_RPTR 0x0710
878 #define CP_RB_WPTR 0x0714
879 #define CP_RB_WPTR_DELAY 0x0718
880 #define CP_IB_BASE 0x0738
881 #define CP_IB_BUFSZ 0x073C
882 #define CP_CSQ_CNTL 0x0740
883 #define SCRATCH_UMSK 0x0770
884 #define SCRATCH_ADDR 0x0774
885 #ifndef RAGE128
886 #define DMA_GUI_TABLE_ADDR 0x0780
887 # define DMA_GUI_COMMAND__BYTE_COUNT_MASK 0x001fffff
888 # define DMA_GUI_COMMAND__INTDIS 0x40000000
889 # define DMA_GUI_COMMAND__EOL 0x80000000
890 #define DMA_GUI_SRC_ADDR 0x0784
891 #define DMA_GUI_DST_ADDR 0x0788
892 #define DMA_GUI_COMMAND 0x078C
893 #define DMA_GUI_STATUS 0x0790
894 #define DMA_GUI_ACT_DSCRPTR 0x0794
895 #define DMA_VID_TABLE_ADDR 0x07A0
896 #define DMA_VID_SRC_ADDR 0x07A4
897 #define DMA_VID_DST_ADDR 0x07A8
898 #define DMA_VID_COMMAND 0x07AC
899 #define DMA_VID_STATUS 0x07B0
900 #define DMA_VID_ACT_DSCRPTR 0x07B4
901 #endif
902 #define CP_ME_CNTL 0x07D0
903 #define CP_ME_RAM_ADDR 0x07D4
904 #define CP_ME_RAM_RADDR 0x07D8
905 #define CP_ME_RAM_DATAH 0x07DC
906 #define CP_ME_RAM_DATAL 0x07E0
907 #define CP_CSQ_ADDR 0x07F0
908 #define CP_CSQ_DATA 0x07F4
909 #define CP_CSQ_STAT 0x07F8
911 #define DISP_MISC_CNTL 0x0D00
912 # define SOFT_RESET_GRPH_PP (1 << 0)
913 #define DAC_MACRO_CNTL 0x0D04
914 #define DISP_PWR_MAN 0x0D08
915 #define DISP_TEST_DEBUG_CNTL 0x0D10
916 #define DISP_HW_DEBUG 0x0D14
917 #define DAC_CRC_SIG1 0x0D18
918 #define DAC_CRC_SIG2 0x0D1C
920 /* first capture unit */
922 #define VID_BUFFER_CONTROL 0x0900
923 #define CAP_INT_CNTL 0x0908
924 #define CAP_INT_STATUS 0x090C
925 #define FCP_CNTL 0x0910
926 # define FCP_CNTL__PCICLK 0
927 # define FCP_CNTL__PCLK 1
928 # define FCP_CNTL__PCLKb 2
929 # define FCP_CNTL__HREF 3
930 # define FCP_CNTL__GND 4
931 # define FCP_CNTL__HREFb 5
933 #define CAP0_BUF0_OFFSET 0x0920
934 #define CAP0_BUF1_OFFSET 0x0924
935 #define CAP0_BUF0_EVEN_OFFSET 0x0928
936 #define CAP0_BUF1_EVEN_OFFSET 0x092C
937 #define CAP0_BUF_PITCH 0x0930
938 #define CAP0_V_WINDOW 0x0934
939 #define CAP0_H_WINDOW 0x0938
940 #define CAP0_VBI0_OFFSET 0x093C
941 #define CAP0_VBI1_OFFSET 0x0940
942 #define CAP0_VBI_V_WINDOW 0x0944
943 #define CAP0_VBI_H_WINDOW 0x0948
944 #define CAP0_PORT_MODE_CNTL 0x094C
945 #define CAP0_TRIG_CNTL 0x0950
946 #define CAP0_DEBUG 0x0954
947 #define CAP0_CONFIG 0x0958
948 # define CAP0_CONFIG_CONTINUOS 0x00000001
949 # define CAP0_CONFIG_START_FIELD_EVEN 0x00000002
950 # define CAP0_CONFIG_START_BUF_GET 0x00000004
951 # define CAP0_CONFIG_START_BUF_SET 0x00000008
952 # define CAP0_CONFIG_BUF_TYPE_ALT 0x00000010
953 # define CAP0_CONFIG_BUF_TYPE_FRAME 0x00000020
954 # define CAP0_CONFIG_ONESHOT_MODE_FRAME 0x00000040
955 # define CAP0_CONFIG_BUF_MODE_DOUBLE 0x00000080
956 # define CAP0_CONFIG_BUF_MODE_TRIPLE 0x00000100
957 # define CAP0_CONFIG_MIRROR_EN 0x00000200
958 # define CAP0_CONFIG_ONESHOT_MIRROR_EN 0x00000400
959 # define CAP0_CONFIG_VIDEO_SIGNED_UV 0x00000800
960 # define CAP0_CONFIG_ANC_DECODE_EN 0x00001000
961 # define CAP0_CONFIG_VBI_EN 0x00002000
962 # define CAP0_CONFIG_SOFT_PULL_DOWN_EN 0x00004000
963 # define CAP0_CONFIG_VIP_EXTEND_FLAG_EN 0x00008000
964 # define CAP0_CONFIG_FAKE_FIELD_EN 0x00010000
965 # define CAP0_CONFIG_ODD_ONE_MORE_LINE 0x00020000
966 # define CAP0_CONFIG_EVEN_ONE_MORE_LINE 0x00040000
967 # define CAP0_CONFIG_HORZ_DIVIDE_2 0x00080000
968 # define CAP0_CONFIG_HORZ_DIVIDE_4 0x00100000
969 # define CAP0_CONFIG_VERT_DIVIDE_2 0x00200000
970 # define CAP0_CONFIG_VERT_DIVIDE_4 0x00400000
971 # define CAP0_CONFIG_FORMAT_BROOKTREE 0x00000000
972 # define CAP0_CONFIG_FORMAT_CCIR656 0x00800000
973 # define CAP0_CONFIG_FORMAT_ZV 0x01000000
974 # define CAP0_CONFIG_FORMAT_VIP 0x01800000
975 # define CAP0_CONFIG_FORMAT_TRANSPORT 0x02000000
976 # define CAP0_CONFIG_HORZ_DECIMATOR 0x04000000
977 # define CAP0_CONFIG_VIDEO_IN_YVYU422 0x00000000
978 # define CAP0_CONFIG_VIDEO_IN_VYUY422 0x20000000
979 # define CAP0_CONFIG_VBI_DIVIDE_2 0x40000000
980 # define CAP0_CONFIG_VBI_DIVIDE_4 0x80000000
981 #define CAP0_ANC_ODD_OFFSET 0x095C
982 #define CAP0_ANC_EVEN_OFFSET 0x0960
983 #define CAP0_ANC_H_WINDOW 0x0964
984 #define CAP0_VIDEO_SYNC_TEST 0x0968
985 #define CAP0_ONESHOT_BUF_OFFSET 0x096C
986 #define CAP0_BUF_STATUS 0x0970
987 #ifdef RAGE128
988 #define CAP0_DWNSC_XRATIO 0x0978
989 #define CAP0_XSHARPNESS 0x097C
990 #else
991 /* #define CAP0_DWNSC_XRATIO 0x0978 */
992 /* #define CAP0_XSHARPNESS 0x097C */
993 #endif
994 #define CAP0_VBI2_OFFSET 0x0980
995 #define CAP0_VBI3_OFFSET 0x0984
996 #define CAP0_ANC2_OFFSET 0x0988
997 #define CAP0_ANC3_OFFSET 0x098C
999 /* second capture unit */
1001 #define CAP1_BUF0_OFFSET 0x0990
1002 #define CAP1_BUF1_OFFSET 0x0994
1003 #define CAP1_BUF0_EVEN_OFFSET 0x0998
1004 #define CAP1_BUF1_EVEN_OFFSET 0x099C
1006 #define CAP1_BUF_PITCH 0x09A0
1007 #define CAP1_V_WINDOW 0x09A4
1008 #define CAP1_H_WINDOW 0x09A8
1009 #define CAP1_VBI_ODD_OFFSET 0x09AC
1010 #define CAP1_VBI_EVEN_OFFSET 0x09B0
1011 #define CAP1_VBI_V_WINDOW 0x09B4
1012 #define CAP1_VBI_H_WINDOW 0x09B8
1013 #define CAP1_PORT_MODE_CNTL 0x09BC
1014 #define CAP1_TRIG_CNTL 0x09C0
1015 #define CAP1_DEBUG 0x09C4
1016 #define CAP1_CONFIG 0x09C8
1017 #define CAP1_ANC_ODD_OFFSET 0x09CC
1018 #define CAP1_ANC_EVEN_OFFSET 0x09D0
1019 #define CAP1_ANC_H_WINDOW 0x09D4
1020 #define CAP1_VIDEO_SYNC_TEST 0x09D8
1021 #define CAP1_ONESHOT_BUF_OFFSET 0x09DC
1022 #define CAP1_BUF_STATUS 0x09E0
1023 #define CAP1_DWNSC_XRATIO 0x09E8
1024 #define CAP1_XSHARPNESS 0x09EC
1026 #define DISP_MERGE_CNTL 0x0D60
1027 #define DISP_OUTPUT_CNTL 0x0D64
1028 # define DISP_DAC_SOURCE_MASK 0x03
1029 # define DISP_DAC_SOURCE_CRTC2 0x01
1030 #define DISP_LIN_TRANS_GRPH_A 0x0D80
1031 #define DISP_LIN_TRANS_GRPH_B 0x0D84
1032 #define DISP_LIN_TRANS_GRPH_C 0x0D88
1033 #define DISP_LIN_TRANS_GRPH_D 0x0D8C
1034 #define DISP_LIN_TRANS_GRPH_E 0x0D90
1035 #define DISP_LIN_TRANS_GRPH_F 0x0D94
1036 #define DISP_LIN_TRANS_VID_A 0x0D98
1037 #define DISP_LIN_TRANS_VID_B 0x0D9C
1038 #define DISP_LIN_TRANS_VID_C 0x0DA0
1039 #define DISP_LIN_TRANS_VID_D 0x0DA4
1040 #define DISP_LIN_TRANS_VID_E 0x0DA8
1041 #define DISP_LIN_TRANS_VID_F 0x0DAC
1042 #define RMX_HORZ_FILTER_0TAP_COEF 0x0DB0
1043 #define RMX_HORZ_FILTER_1TAP_COEF 0x0DB4
1044 #define RMX_HORZ_FILTER_2TAP_COEF 0x0DB8
1045 #define RMX_HORZ_PHASE 0x0DBC
1046 #define DAC_EMBEDDED_SYNC_CNTL 0x0DC0
1047 #define DAC_BROAD_PULSE 0x0DC4
1048 #define DAC_SKEW_CLKS 0x0DC8
1049 #define DAC_INCR 0x0DCC
1050 #define DAC_NEG_SYNC_LEVEL 0x0DD0
1051 #define DAC_POS_SYNC_LEVEL 0x0DD4
1052 #define DAC_BLANK_LEVEL 0x0DD8
1053 #define CLOCK_CNTL_INDEX 0x0008
1054 /* CLOCK_CNTL_INDEX bit constants */
1055 # define PLL_WR_EN 0x00000080
1056 # define PLL_DIV_SEL (3 << 8)
1057 # define PLL2_DIV_SEL_MASK ~(3 << 8)
1058 #define CLOCK_CNTL_DATA 0x000C
1059 #define CP_RB_CNTL 0x0704
1060 #define CP_RB_BASE 0x0700
1061 #define CP_RB_RPTR_ADDR 0x070C
1062 #define CP_RB_RPTR 0x0710
1063 #define CP_RB_WPTR 0x0714
1064 #define CP_RB_WPTR_DELAY 0x0718
1065 #define CP_IB_BASE 0x0738
1066 #define CP_IB_BUFSZ 0x073C
1067 #define SCRATCH_REG0 0x15E0
1068 #define GUI_SCRATCH_REG0 0x15E0
1069 #define SCRATCH_REG1 0x15E4
1070 #define GUI_SCRATCH_REG1 0x15E4
1071 #define SCRATCH_REG2 0x15E8
1072 #define GUI_SCRATCH_REG2 0x15E8
1073 #define SCRATCH_REG3 0x15EC
1074 #define GUI_SCRATCH_REG3 0x15EC
1075 #define SCRATCH_REG4 0x15F0
1076 #define GUI_SCRATCH_REG4 0x15F0
1077 #define SCRATCH_REG5 0x15F4
1078 #define GUI_SCRATCH_REG5 0x15F4
1079 #define SCRATCH_UMSK 0x0770
1080 #define SCRATCH_ADDR 0x0774
1081 #define DP_BRUSH_FRGD_CLR 0x147C
1082 #define DP_BRUSH_BKGD_CLR 0x1478
1083 #define DST_LINE_START 0x1600
1084 #define DST_LINE_END 0x1604
1085 #define SRC_OFFSET 0x15AC
1086 #define SRC_PITCH 0x15B0
1087 #define SRC_TILE 0x1704
1088 #define SRC_PITCH_OFFSET 0x1428
1089 #define SRC_X 0x1414
1090 #define SRC_Y 0x1418
1091 #define DST_WIDTH_X 0x1588
1092 #define DST_HEIGHT_WIDTH_8 0x158C
1093 #define SRC_X_Y 0x1590
1094 #define SRC_Y_X 0x1434
1095 #define DST_Y_X 0x1438
1096 #define DST_WIDTH_HEIGHT 0x1598
1097 #define DST_HEIGHT_WIDTH 0x143c
1098 #ifdef RAGE128
1099 #define GUI_STAT 0x1740
1100 # define GUI_FIFOCNT_MASK 0x0fff
1101 # define PM4_BUSY (1 << 16)
1102 # define MICRO_BUSY (1 << 17)
1103 # define FPU_BUSY (1 << 18)
1104 # define VC_BUSY (1 << 19)
1105 # define IDCT_BUSY (1 << 20)
1106 # define ENG_EV_BUSY (1 << 21)
1107 # define SETUP_BUSY (1 << 22)
1108 # define EDGE_WALK_BUSY (1 << 23)
1109 # define ADDRESSING_BUSY (1 << 24)
1110 # define ENG_3D_BUSY (1 << 25)
1111 # define ENG_2D_SM_BUSY (1 << 26)
1112 # define ENG_2D_BUSY (1 << 27)
1113 # define GUI_WB_BUSY (1 << 28)
1114 # define CACHE_BUSY (1 << 29)
1115 # define GUI_ACTIVE (1 << 31)
1116 #endif
1117 #define SRC_CLUT_ADDRESS 0x1780
1118 #define SRC_CLUT_DATA 0x1784
1119 #define SRC_CLUT_DATA_RD 0x1788
1120 #define HOST_DATA0 0x17C0
1121 #define HOST_DATA1 0x17C4
1122 #define HOST_DATA2 0x17C8
1123 #define HOST_DATA3 0x17CC
1124 #define HOST_DATA4 0x17D0
1125 #define HOST_DATA5 0x17D4
1126 #define HOST_DATA6 0x17D8
1127 #define HOST_DATA7 0x17DC
1128 #define HOST_DATA_LAST 0x17E0
1129 #define DP_SRC_ENDIAN 0x15D4
1130 #define DP_SRC_FRGD_CLR 0x15D8
1131 #define DP_SRC_BKGD_CLR 0x15DC
1132 #define DP_WRITE_MASK 0x16cc
1133 #define SC_LEFT 0x1640
1134 #define SC_RIGHT 0x1644
1135 #define SC_TOP 0x1648
1136 #define SC_BOTTOM 0x164C
1137 #define SRC_SC_RIGHT 0x1654
1138 #define SRC_SC_BOTTOM 0x165C
1139 #define DP_CNTL 0x16C0
1140 /* DP_CNTL bit constants */
1141 # define DST_X_RIGHT_TO_LEFT 0x00000000
1142 # define DST_X_LEFT_TO_RIGHT 0x00000001
1143 # define DST_Y_BOTTOM_TO_TOP 0x00000000
1144 # define DST_Y_TOP_TO_BOTTOM 0x00000002
1145 # define DST_X_MAJOR 0x00000000
1146 # define DST_Y_MAJOR 0x00000004
1147 # define DST_X_TILE 0x00000008
1148 # define DST_Y_TILE 0x00000010
1149 # define DST_LAST_PEL 0x00000020
1150 # define DST_TRAIL_X_RIGHT_TO_LEFT 0x00000000
1151 # define DST_TRAIL_X_LEFT_TO_RIGHT 0x00000040
1152 # define DST_TRAP_FILL_RIGHT_TO_LEFT 0x00000000
1153 # define DST_TRAP_FILL_LEFT_TO_RIGHT 0x00000080
1154 # define DST_BRES_SIGN 0x00000100
1155 # define DST_HOST_BIG_ENDIAN_EN 0x00000200
1156 # define DST_POLYLINE_NONLAST 0x00008000
1157 # define DST_RASTER_STALL 0x00010000
1158 # define DST_POLY_EDGE 0x00040000
1159 #define DP_CNTL_XDIR_YDIR_YMAJOR 0x16D0
1160 /* DP_CNTL_XDIR_YDIR_YMAJOR bit constants (short version of DP_CNTL) */
1161 # define DST_X_MAJOR_S 0x00000000
1162 # define DST_Y_MAJOR_S 0x00000001
1163 # define DST_Y_BOTTOM_TO_TOP_S 0x00000000
1164 # define DST_Y_TOP_TO_BOTTOM_S 0x00008000
1165 # define DST_X_RIGHT_TO_LEFT_S 0x00000000
1166 # define DST_X_LEFT_TO_RIGHT_S 0x80000000
1167 #define DP_DATATYPE 0x16C4
1168 /* DP_DATATYPE bit constants */
1169 # define DST_8BPP 0x00000002
1170 # define DST_15BPP 0x00000003
1171 # define DST_16BPP 0x00000004
1172 # define DST_24BPP 0x00000005
1173 # define DST_32BPP 0x00000006
1174 # define DST_8BPP_RGB332 0x00000007
1175 # define DST_8BPP_Y8 0x00000008
1176 # define DST_8BPP_RGB8 0x00000009
1177 # define DST_16BPP_VYUY422 0x0000000b
1178 # define DST_16BPP_YVYU422 0x0000000c
1179 # define DST_32BPP_AYUV444 0x0000000e
1180 # define DST_16BPP_ARGB4444 0x0000000f
1181 # define BRUSH_SOLIDCOLOR 0x00000d00
1182 # define SRC_MONO 0x00000000
1183 # define SRC_MONO_LBKGD 0x00010000
1184 # define SRC_DSTCOLOR 0x00030000
1185 # define BYTE_ORDER_MSB_TO_LSB 0x00000000
1186 # define BYTE_ORDER_LSB_TO_MSB 0x40000000
1187 # define DP_CONVERSION_TEMP 0x80000000
1188 # define HOST_BIG_ENDIAN_EN (1 << 29)
1189 #define DP_MIX 0x16C8
1190 /* DP_MIX bit constants */
1191 # define DP_SRC_RECT 0x00000200
1192 # define DP_SRC_HOST 0x00000300
1193 # define DP_SRC_HOST_BYTEALIGN 0x00000400
1194 #define DP_WRITE_MSK 0x16CC
1195 #define DP_XOP 0x17F8
1196 #define CLR_CMP_CLR_SRC 0x15C4
1197 #define CLR_CMP_CLR_DST 0x15C8
1198 #define CLR_CMP_CNTL 0x15C0
1199 /* CLR_CMP_CNTL bit constants */
1200 # define COMPARE_SRC_FALSE 0x00000000
1201 # define COMPARE_SRC_TRUE 0x00000001
1202 # define COMPARE_SRC_NOT_EQUAL 0x00000004
1203 # define COMPARE_SRC_EQUAL 0x00000005
1204 # define COMPARE_SRC_EQUAL_FLIP 0x00000007
1205 # define COMPARE_DST_FALSE 0x00000000
1206 # define COMPARE_DST_TRUE 0x00000100
1207 # define COMPARE_DST_NOT_EQUAL 0x00000400
1208 # define COMPARE_DST_EQUAL 0x00000500
1209 # define COMPARE_DESTINATION 0x00000000
1210 # define COMPARE_SOURCE 0x01000000
1211 # define COMPARE_SRC_AND_DST 0x02000000
1212 #define CLR_CMP_MSK 0x15CC
1213 #define DSTCACHE_MODE 0x1710
1214 #define DSTCACHE_CTLSTAT 0x1714
1215 /* DSTCACHE_CTLSTAT bit constants */
1216 # define RB2D_DC_FLUSH (3 << 0)
1217 # define RB2D_DC_FLUSH_ALL 0xf
1218 # define RB2D_DC_BUSY (1 << 31)
1219 #define DEFAULT_OFFSET 0x16e0
1220 #define DEFAULT_PITCH_OFFSET 0x16E0
1221 #define DEFAULT_SC_BOTTOM_RIGHT 0x16E8
1222 /* DEFAULT_SC_BOTTOM_RIGHT bit constants */
1223 # define DEFAULT_SC_RIGHT_MAX (0x1fff << 0)
1224 # define DEFAULT_SC_BOTTOM_MAX (0x1fff << 16)
1225 #define DP_GUI_MASTER_CNTL 0x146C
1226 /* DP_GUI_MASTER_CNTL bit constants */
1227 # define GMC_SRC_PITCH_OFFSET_DEFAULT 0x00000000
1228 # define GMC_SRC_PITCH_OFFSET_LEAVE 0x00000001
1229 # define GMC_DST_PITCH_OFFSET_DEFAULT 0x00000000
1230 # define GMC_DST_PITCH_OFFSET_LEAVE 0x00000002
1231 # define GMC_SRC_CLIP_DEFAULT 0x00000000
1232 # define GMC_SRC_CLIP_LEAVE 0x00000004
1233 # define GMC_DST_CLIP_DEFAULT 0x00000000
1234 # define GMC_DST_CLIP_LEAVE 0x00000008
1235 # define GMC_BRUSH_8x8MONO 0x00000000
1236 # define GMC_BRUSH_8x8MONO_LBKGD 0x00000010
1237 # define GMC_BRUSH_8x1MONO 0x00000020
1238 # define GMC_BRUSH_8x1MONO_LBKGD 0x00000030
1239 # define GMC_BRUSH_1x8MONO 0x00000040
1240 # define GMC_BRUSH_1x8MONO_LBKGD 0x00000050
1241 # define GMC_BRUSH_32x1MONO 0x00000060
1242 # define GMC_BRUSH_32x1MONO_LBKGD 0x00000070
1243 # define GMC_BRUSH_32x32MONO 0x00000080
1244 # define GMC_BRUSH_32x32MONO_LBKGD 0x00000090
1245 # define GMC_BRUSH_8x8COLOR 0x000000a0
1246 # define GMC_BRUSH_8x1COLOR 0x000000b0
1247 # define GMC_BRUSH_1x8COLOR 0x000000c0
1248 # define GMC_BRUSH_SOLID_COLOR 0x000000d0
1249 # define GMC_DST_8BPP 0x00000200
1250 # define GMC_DST_15BPP 0x00000300
1251 # define GMC_DST_16BPP 0x00000400
1252 # define GMC_DST_24BPP 0x00000500
1253 # define GMC_DST_32BPP 0x00000600
1254 # define GMC_DST_8BPP_RGB332 0x00000700
1255 # define GMC_DST_8BPP_Y8 0x00000800
1256 # define GMC_DST_8BPP_RGB8 0x00000900
1257 # define GMC_DST_16BPP_VYUY422 0x00000b00
1258 # define GMC_DST_16BPP_YVYU422 0x00000c00
1259 # define GMC_DST_32BPP_AYUV444 0x00000e00
1260 # define GMC_DST_16BPP_ARGB4444 0x00000f00
1261 # define GMC_SRC_MONO 0x00000000
1262 # define GMC_SRC_MONO_LBKGD 0x00001000
1263 # define GMC_SRC_DSTCOLOR 0x00003000
1264 # define GMC_BYTE_ORDER_MSB_TO_LSB 0x00000000
1265 # define GMC_BYTE_ORDER_LSB_TO_MSB 0x00004000
1266 # define GMC_DP_CONVERSION_TEMP_9300 0x00008000
1267 # define GMC_DP_CONVERSION_TEMP_6500 0x00000000
1268 # define GMC_DP_SRC_RECT 0x02000000
1269 # define GMC_DP_SRC_HOST 0x03000000
1270 # define GMC_DP_SRC_HOST_BYTEALIGN 0x04000000
1271 # define GMC_3D_FCN_EN_CLR 0x00000000
1272 # define GMC_3D_FCN_EN_SET 0x08000000
1273 # define GMC_DST_CLR_CMP_FCN_LEAVE 0x00000000
1274 # define GMC_DST_CLR_CMP_FCN_CLEAR 0x10000000
1275 # define GMC_AUX_CLIP_LEAVE 0x00000000
1276 # define GMC_AUX_CLIP_CLEAR 0x20000000
1277 # define GMC_WRITE_MASK_LEAVE 0x00000000
1278 # define GMC_WRITE_MASK_SET 0x40000000
1279 # define GMC_CLR_CMP_CNTL_DIS (1 << 28)
1280 # define GMC_SRC_DATATYPE_COLOR (3 << 12)
1281 # define ROP3_S 0x00cc0000
1282 # define ROP3_SRCCOPY 0x00cc0000
1283 # define ROP3_P 0x00f00000
1284 # define ROP3_PATCOPY 0x00f00000
1285 # define DP_SRC_SOURCE_MASK (7 << 24)
1286 # define GMC_BRUSH_NONE (15 << 4)
1287 # define DP_SRC_SOURCE_MEMORY (2 << 24)
1288 # define GMC_BRUSH_SOLIDCOLOR 0x000000d0
1289 #define SC_TOP_LEFT 0x16EC
1290 #define SC_BOTTOM_RIGHT 0x16F0
1291 #define SRC_SC_BOTTOM_RIGHT 0x16F4
1292 #define RB2D_DSTCACHE_CTLSTAT 0x342C
1293 #define RB2D_DSTCACHE_MODE 0x3428
1295 #define BASE_CODE 0x0f0b/*0x0f08*/
1296 #define RADEON_BIOS_0_SCRATCH 0x0010
1297 #define RADEON_BIOS_1_SCRATCH 0x0014
1298 #define RADEON_BIOS_2_SCRATCH 0x0018
1299 #define RADEON_BIOS_3_SCRATCH 0x001c
1300 #define RADEON_BIOS_4_SCRATCH 0x0020
1301 #define RADEON_BIOS_5_SCRATCH 0x0024
1302 #define RADEON_BIOS_6_SCRATCH 0x0028
1303 #define RADEON_BIOS_7_SCRATCH 0x002c
1306 #define CLK_PIN_CNTL 0x0001
1307 #define PPLL_CNTL 0x0002
1308 # define PPLL_RESET (1 << 0)
1309 # define PPLL_SLEEP (1 << 1)
1310 # define PPLL_ATOMIC_UPDATE_EN (1 << 16)
1311 # define PPLL_VGA_ATOMIC_UPDATE_EN (1 << 17)
1312 # define PPLL_ATOMIC_UPDATE_VSYNC (1 << 18)
1313 #define PPLL_REF_DIV 0x0003
1314 # define PPLL_REF_DIV_MASK 0x03ff
1315 # define PPLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */
1316 # define PPLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */
1317 #define PPLL_DIV_0 0x0004
1318 #define PPLL_DIV_1 0x0005
1319 #define PPLL_DIV_2 0x0006
1320 #define PPLL_DIV_3 0x0007
1321 #define VCLK_ECP_CNTL 0x0008
1322 # define VCLK_SRC_SEL_MASK 0x03
1323 # define VCLK_SRC_SEL_CPUCLK 0x00
1324 # define VCLK_SRC_SEL_PSCANCLK 0x01
1325 # define VCLK_SRC_SEL_BYTECLK 0x02
1326 # define VCLK_SRC_SEL_PPLLCLK 0x03
1327 #define HTOTAL_CNTL 0x0009
1328 #define HTOTAL2_CNTL 0x002e /* PLL */
1329 #define M_SPLL_REF_FB_DIV 0x000a
1330 #define AGP_PLL_CNTL 0x000b
1331 #define SPLL_CNTL 0x000c
1332 #define SCLK_CNTL 0x000d
1333 # define DYN_STOP_LAT_MASK 0x00007ff8
1334 # define CP_MAX_DYN_STOP_LAT 0x0008
1335 # define SCLK_FORCEON_MASK 0xffff8000
1336 #define SCLK_MORE_CNTL 0x0035 /* PLL */
1337 # define SCLK_MORE_FORCEON 0x0700
1338 #define MPLL_CNTL 0x000e
1339 #ifdef RAGE128
1340 #define MCLK_CNTL 0x000f /* PLL */
1341 # define FORCE_GCP (1 << 16)
1342 # define FORCE_PIPE3D_CP (1 << 17)
1343 # define FORCE_RCP (1 << 18)
1344 #else
1345 #define MCLK_CNTL 0x0012
1346 /* MCLK_CNTL bit constants */
1347 # define FORCEON_MCLKA (1 << 16)
1348 # define FORCEON_MCLKB (1 << 17)
1349 # define FORCEON_YCLKA (1 << 18)
1350 # define FORCEON_YCLKB (1 << 19)
1351 # define FORCEON_MC (1 << 20)
1352 # define FORCEON_AIC (1 << 21)
1353 #endif
1354 #define PLL_TEST_CNTL 0x0013
1355 #define P2PLL_CNTL 0x002a /* P2PLL */
1356 # define P2PLL_RESET (1 << 0)
1357 # define P2PLL_SLEEP (1 << 1)
1358 # define P2PLL_ATOMIC_UPDATE_EN (1 << 16)
1359 # define P2PLL_VGA_ATOMIC_UPDATE_EN (1 << 17)
1360 # define P2PLL_ATOMIC_UPDATE_VSYNC (1 << 18)
1361 #define P2PLL_DIV_0 0x002c
1362 # define P2PLL_FB0_DIV_MASK 0x07ff
1363 # define P2PLL_POST0_DIV_MASK 0x00070000
1364 #define P2PLL_REF_DIV 0x002B /* PLL */
1365 # define P2PLL_REF_DIV_MASK 0x03ff
1366 # define P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */
1367 # define P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */
1368 #define PIXCLKS_CNTL 0x002d
1369 # define PIX2CLK_SRC_SEL_MASK 0x03
1370 # define PIX2CLK_SRC_SEL_CPUCLK 0x00
1371 # define PIX2CLK_SRC_SEL_PSCANCLK 0x01
1372 # define PIX2CLK_SRC_SEL_BYTECLK 0x02
1373 # define PIX2CLK_SRC_SEL_P2PLLCLK 0x03
1375 /* masks */
1377 #define CONFIG_MEMSIZE_MASK 0x1f000000
1378 #define MEM_CFG_TYPE 0x40000000
1379 #define DST_OFFSET_MASK 0x003fffff
1380 #define DST_PITCH_MASK 0x3fc00000
1381 #define DEFAULT_TILE_MASK 0xc0000000
1382 #define PPLL_DIV_SEL_MASK 0x00000300
1383 #define PPLL_FB3_DIV_MASK 0x000007ff
1384 #define PPLL_POST3_DIV_MASK 0x00070000
1386 /* BUS MASTERING */
1387 #ifdef RAGE128
1388 #define BM_FRAME_BUF_OFFSET 0xA00
1389 #define BM_SYSTEM_MEM_ADDR 0xA04
1390 #define BM_COMMAND 0xA08
1391 # define BM_INTERRUPT_DIS 0x08000000
1392 # define BM_TRANSFER_DEST_REG 0x10000000
1393 # define BM_FORCE_TO_PCI 0x20000000
1394 # define BM_FRAME_OFFSET_HOLD 0x40000000
1395 # define BM_END_OF_LIST 0x80000000
1396 #define BM_STATUS 0xA0c
1397 #define BM_QUEUE_STATUS 0xA10
1398 #define BM_QUEUE_FREE_STATUS 0xA14
1399 #define BM_CHUNK_0_VAL 0xA18
1400 # define BM_PTR_FORCE_TO_PCI 0x00200000
1401 # define BM_PM4_RD_FORCE_TO_PCI 0x00400000
1402 # define BM_GLOBAL_FORCE_TO_PCI 0x00800000
1403 # define BM_VIP3_NOCHUNK 0x10000000
1404 # define BM_VIP2_NOCHUNK 0x20000000
1405 # define BM_VIP1_NOCHUNK 0x40000000
1406 # define BM_VIP0_NOCHUNK 0x80000000
1407 #define BM_CHUNK_1_VAL 0xA1C
1408 #define BM_VIP0_BUF 0xA20
1409 # define SYSTEM_TRIGGER_SYSTEM_TO_VIDEO 0x0
1410 # define SYSTEM_TRIGGER_VIDEO_TO_SYSTEM 0x1
1411 #define BM_VIP0_ACTIVE 0xA24
1412 #define BM_VIP1_BUF 0xA30
1413 #define BM_VIP1_ACTIVE 0xA34
1414 #define BM_VIP2_BUF 0xA40
1415 #define BM_VIP2_ACTIVE 0xA44
1416 #define BM_VIP3_BUF 0xA50
1417 #define BM_VIP3_ACTIVE 0xA54
1418 #define BM_VIDCAP_BUF0 0xA60
1419 #define BM_VIDCAP_BUF1 0xA64
1420 #define BM_VIDCAP_BUF2 0xA68
1421 #define BM_VIDCAP_ACTIVE 0xA6c
1422 #define BM_GUI 0xA80
1423 #define BM_ABORT 0xA88
1424 #endif
1425 /* RAGE THEATER REGISTERS */
1427 #define DMA_VIPH0_COMMAND 0x0A00
1428 #define DMA_VIPH1_COMMAND 0x0A04
1429 #define DMA_VIPH2_COMMAND 0x0A08
1430 #define DMA_VIPH3_COMMAND 0x0A0C
1431 #define DMA_VIPH_STATUS 0x0A10
1432 #define DMA_VIPH_CHUNK_0 0x0A18
1433 #define DMA_VIPH_CHUNK_1_VAL 0x0A1C
1434 #define DMA_VIP0_TABLE_ADDR 0x0A20
1435 #define DMA_VIPH0_ACTIVE 0x0A24
1436 #define DMA_VIP1_TABLE_ADDR 0x0A30
1437 #define DMA_VIPH1_ACTIVE 0x0A34
1438 #define DMA_VIP2_TABLE_ADDR 0x0A40
1439 #define DMA_VIPH2_ACTIVE 0x0A44
1440 #define DMA_VIP3_TABLE_ADDR 0x0A50
1441 #define DMA_VIPH3_ACTIVE 0x0A54
1442 #define DMA_VIPH_ABORT 0x0A88
1444 #define VIPH_CH0_DATA 0x0c00
1445 #define VIPH_CH1_DATA 0x0c04
1446 #define VIPH_CH2_DATA 0x0c08
1447 #define VIPH_CH3_DATA 0x0c0c
1448 #define VIPH_CH0_ADDR 0x0c10
1449 #define VIPH_CH1_ADDR 0x0c14
1450 #define VIPH_CH2_ADDR 0x0c18
1451 #define VIPH_CH3_ADDR 0x0c1c
1452 #define VIPH_CH0_SBCNT 0x0c20
1453 #define VIPH_CH1_SBCNT 0x0c24
1454 #define VIPH_CH2_SBCNT 0x0c28
1455 #define VIPH_CH3_SBCNT 0x0c2c
1456 #define VIPH_CH0_ABCNT 0x0c30
1457 #define VIPH_CH1_ABCNT 0x0c34
1458 #define VIPH_CH2_ABCNT 0x0c38
1459 #define VIPH_CH3_ABCNT 0x0c3c
1460 #define VIPH_CONTROL 0x0c40
1461 #define VIPH_DV_LAT 0x0c44
1462 #define VIPH_BM_CHUNK 0x0c48
1463 #define VIPH_DV_INT 0x0c4c
1464 #define VIPH_TIMEOUT_STAT 0x0c50
1466 #define VIPH_REG_DATA 0x0084
1467 #define VIPH_REG_ADDR 0x0080
1469 /* Address Space Rage Theatre Registers (VIP Access) */
1470 #define VIP_VIP_VENDOR_DEVICE_ID 0x0000
1471 #define VIP_VIP_SUB_VENDOR_DEVICE_ID 0x0004
1472 #define VIP_VIP_COMMAND_STATUS 0x0008
1473 #define VIP_VIP_REVISION_ID 0x000c
1474 #define VIP_HW_DEBUG 0x0010
1475 #define VIP_SW_SCRATCH 0x0014
1476 #define VIP_I2C_CNTL_0 0x0020
1477 #define VIP_I2C_CNTL_1 0x0024
1478 #define VIP_I2C_DATA 0x0028
1479 #define VIP_INT_CNTL 0x002c
1480 #define VIP_GPIO_INOUT 0x0030
1481 #define VIP_GPIO_CNTL 0x0034
1482 #define VIP_CLKOUT_GPIO_CNTL 0x0038
1483 #define VIP_RIPINTF_PORT_CNTL 0x003c
1484 #define VIP_ADC_CNTL 0x0400
1485 #define VIP_ADC_DEBUG 0x0404
1486 #define VIP_STANDARD_SELECT 0x0408
1487 #define VIP_THERMO2BIN_STATUS 0x040c
1488 #define VIP_COMB_CNTL0 0x0440
1489 #define VIP_COMB_CNTL1 0x0444
1490 #define VIP_COMB_CNTL2 0x0448
1491 #define VIP_COMB_LINE_LENGTH 0x044c
1492 #define VIP_NOISE_CNTL0 0x0450
1493 #define VIP_HS_PLINE 0x0480
1494 #define VIP_HS_DTOINC 0x0484
1495 #define VIP_HS_PLLGAIN 0x0488
1496 #define VIP_HS_MINMAXWIDTH 0x048c
1497 #define VIP_HS_GENLOCKDELAY 0x0490
1498 #define VIP_HS_WINDOW_LIMIT 0x0494
1499 #define VIP_HS_WINDOW_OC_SPEED 0x0498
1500 #define VIP_HS_PULSE_WIDTH 0x049c
1501 #define VIP_HS_PLL_ERROR 0x04a0
1502 #define VIP_HS_PLL_FS_PATH 0x04a4
1503 #define VIP_SG_BLACK_GATE 0x04c0
1504 #define VIP_SG_SYNCTIP_GATE 0x04c4
1505 #define VIP_SG_UVGATE_GATE 0x04c8
1506 #define VIP_LP_AGC_CLAMP_CNTL0 0x0500
1507 #define VIP_LP_AGC_CLAMP_CNTL1 0x0504
1508 #define VIP_LP_BRIGHTNESS 0x0508
1509 #define VIP_LP_CONTRAST 0x050c
1510 #define VIP_LP_SLICE_LIMIT 0x0510
1511 #define VIP_LP_WPA_CNTL0 0x0514
1512 #define VIP_LP_WPA_CNTL1 0x0518
1513 #define VIP_LP_BLACK_LEVEL 0x051c
1514 #define VIP_LP_SLICE_LEVEL 0x0520
1515 #define VIP_LP_SYNCTIP_LEVEL 0x0524
1516 #define VIP_LP_VERT_LOCKOUT 0x0528
1517 #define VIP_VS_DETECTOR_CNTL 0x0540
1518 #define VIP_VS_BLANKING_CNTL 0x0544
1519 #define VIP_VS_FIELD_ID_CNTL 0x0548
1520 #define VIP_VS_COUNTER_CNTL 0x054c
1521 #define VIP_VS_FRAME_TOTAL 0x0550
1522 #define VIP_VS_LINE_COUNT 0x0554
1523 #define VIP_CP_PLL_CNTL0 0x0580
1524 #define VIP_CP_PLL_CNTL1 0x0584
1525 #define VIP_CP_HUE_CNTL 0x0588
1526 #define VIP_CP_BURST_GAIN 0x058c
1527 #define VIP_CP_AGC_CNTL 0x0590
1528 #define VIP_CP_ACTIVE_GAIN 0x0594
1529 #define VIP_CP_PLL_STATUS0 0x0598
1530 #define VIP_CP_PLL_STATUS1 0x059c
1531 #define VIP_CP_PLL_STATUS2 0x05a0
1532 #define VIP_CP_PLL_STATUS3 0x05a4
1533 #define VIP_CP_PLL_STATUS4 0x05a8
1534 #define VIP_CP_PLL_STATUS5 0x05ac
1535 #define VIP_CP_PLL_STATUS6 0x05b0
1536 #define VIP_CP_PLL_STATUS7 0x05b4
1537 #define VIP_CP_DEBUG_FORCE 0x05b8
1538 #define VIP_CP_VERT_LOCKOUT 0x05bc
1539 #define VIP_H_ACTIVE_WINDOW 0x05c0
1540 #define VIP_V_ACTIVE_WINDOW 0x05c4
1541 #define VIP_H_VBI_WINDOW 0x05c8
1542 #define VIP_V_VBI_WINDOW 0x05cc
1543 #define VIP_VBI_CONTROL 0x05d0
1544 #define VIP_DECODER_DEBUG_CNTL 0x05d4
1545 #define VIP_SINGLE_STEP_DATA 0x05d8
1546 #define VIP_MASTER_CNTL 0x0040
1547 #define VIP_RGB_CNTL 0x0048
1548 #define VIP_CLKOUT_CNTL 0x004c
1549 #define VIP_SYNC_CNTL 0x0050
1550 #define VIP_I2C_CNTL 0x0054
1551 #define VIP_HTOTAL 0x0080
1552 #define VIP_HDISP 0x0084
1553 #define VIP_HSIZE 0x0088
1554 #define VIP_HSTART 0x008c
1555 #define VIP_HCOUNT 0x0090
1556 #define VIP_VTOTAL 0x0094
1557 #define VIP_VDISP 0x0098
1558 #define VIP_VCOUNT 0x009c
1559 #define VIP_VFTOTAL 0x00a0
1560 #define VIP_DFCOUNT 0x00a4
1561 #define VIP_DFRESTART 0x00a8
1562 #define VIP_DHRESTART 0x00ac
1563 #define VIP_DVRESTART 0x00b0
1564 #define VIP_SYNC_SIZE 0x00b4
1565 #define VIP_TV_PLL_FINE_CNTL 0x00b8
1566 #define VIP_CRT_PLL_FINE_CNTL 0x00bc
1567 #define VIP_TV_PLL_CNTL 0x00c0
1568 #define VIP_CRT_PLL_CNTL 0x00c4
1569 #define VIP_PLL_CNTL0 0x00c8
1570 #define VIP_PLL_TEST_CNTL 0x00cc
1571 #define VIP_CLOCK_SEL_CNTL 0x00d0
1572 #define VIP_VIN_PLL_CNTL 0x00d4
1573 #define VIP_VIN_PLL_FINE_CNTL 0x00d8
1574 #define VIP_AUD_PLL_CNTL 0x00e0
1575 #define VIP_AUD_PLL_FINE_CNTL 0x00e4
1576 #define VIP_AUD_CLK_DIVIDERS 0x00e8
1577 #define VIP_AUD_DTO_INCREMENTS 0x00ec
1578 #define VIP_L54_PLL_CNTL 0x00f0
1579 #define VIP_L54_PLL_FINE_CNTL 0x00f4
1580 #define VIP_L54_DTO_INCREMENTS 0x00f8
1581 #define VIP_PLL_CNTL1 0x00fc
1582 #define VIP_FRAME_LOCK_CNTL 0x0100
1583 #define VIP_SYNC_LOCK_CNTL 0x0104
1584 #define VIP_TVO_SYNC_PAT_ACCUM 0x0108
1585 #define VIP_TVO_SYNC_THRESHOLD 0x010c
1586 #define VIP_TVO_SYNC_PAT_EXPECT 0x0110
1587 #define VIP_DELAY_ONE_MAP_A 0x0114
1588 #define VIP_DELAY_ONE_MAP_B 0x0118
1589 #define VIP_DELAY_ZERO_MAP_A 0x011c
1590 #define VIP_DELAY_ZERO_MAP_B 0x0120
1591 #define VIP_TVO_DATA_DELAY_A 0x0140
1592 #define VIP_TVO_DATA_DELAY_B 0x0144
1593 #define VIP_HOST_READ_DATA 0x0180
1594 #define VIP_HOST_WRITE_DATA 0x0184
1595 #define VIP_HOST_RD_WT_CNTL 0x0188
1596 #define VIP_VSCALER_CNTL1 0x01c0
1597 #define VIP_TIMING_CNTL 0x01c4
1598 #define VIP_VSCALER_CNTL2 0x01c8
1599 #define VIP_Y_FALL_CNTL 0x01cc
1600 #define VIP_Y_RISE_CNTL 0x01d0
1601 #define VIP_Y_SAW_TOOTH_CNTL 0x01d4
1602 #define VIP_UPSAMP_AND_GAIN_CNTL 0x01e0
1603 #define VIP_GAIN_LIMIT_SETTINGS 0x01e4
1604 #define VIP_LINEAR_GAIN_SETTINGS 0x01e8
1605 #define VIP_MODULATOR_CNTL1 0x0200
1606 #define VIP_MODULATOR_CNTL2 0x0204
1607 #define VIP_MV_MODE_CNTL 0x0208
1608 #define VIP_MV_STRIPE_CNTL 0x020c
1609 #define VIP_MV_LEVEL_CNTL1 0x0210
1610 #define VIP_MV_LEVEL_CNTL2 0x0214
1611 #define VIP_PRE_DAC_MUX_CNTL 0x0240
1612 #define VIP_TV_DAC_CNTL 0x0280
1613 #define VIP_CRC_CNTL 0x02c0
1614 #define VIP_VIDEO_PORT_SIG 0x02c4
1615 #define VIP_VBI_CC_CNTL 0x02c8
1616 #define VIP_VBI_EDS_CNTL 0x02cc
1617 #define VIP_VBI_20BIT_CNTL 0x02d0
1618 #define VIP_VBI_DTO_CNTL 0x02d4
1619 #define VIP_VBI_LEVEL_CNTL 0x02d8
1620 #define VIP_UV_ADR 0x0300
1621 #define VIP_MV_STATUS 0x0330
1622 #define VIP_UPSAMP_COEFF0_0 0x0340
1623 #define VIP_UPSAMP_COEFF0_1 0x0344
1624 #define VIP_UPSAMP_COEFF0_2 0x0348
1625 #define VIP_UPSAMP_COEFF1_0 0x034c
1626 #define VIP_UPSAMP_COEFF1_1 0x0350
1627 #define VIP_UPSAMP_COEFF1_2 0x0354
1628 #define VIP_UPSAMP_COEFF2_0 0x0358
1629 #define VIP_UPSAMP_COEFF2_1 0x035c
1630 #define VIP_UPSAMP_COEFF2_2 0x0360
1631 #define VIP_UPSAMP_COEFF3_0 0x0364
1632 #define VIP_UPSAMP_COEFF3_1 0x0368
1633 #define VIP_UPSAMP_COEFF3_2 0x036c
1634 #define VIP_UPSAMP_COEFF4_0 0x0370
1635 #define VIP_UPSAMP_COEFF4_1 0x0374
1636 #define VIP_UPSAMP_COEFF4_2 0x0378
1637 #define VIP_TV_DTO_INCREMENTS 0x0390
1638 #define VIP_CRT_DTO_INCREMENTS 0x0394
1639 #define VIP_VSYNC_DIFF_CNTL 0x03a0
1640 #define VIP_VSYNC_DIFF_LIMITS 0x03a4
1641 #define VIP_VSYNC_DIFF_RD_DATA 0x03a8
1642 #define VIP_SCALER_IN_WINDOW 0x0618
1643 #define VIP_SCALER_OUT_WINDOW 0x061c
1644 #define VIP_H_SCALER_CONTROL 0x0600
1645 #define VIP_V_SCALER_CONTROL 0x0604
1646 #define VIP_V_DEINTERLACE_CONTROL 0x0608
1647 #define VIP_VBI_SCALER_CONTROL 0x060c
1648 #define VIP_DVS_PORT_CTRL 0x0610
1649 #define VIP_DVS_PORT_READBACK 0x0614
1650 #define VIP_FIFOA_CONFIG 0x0800
1651 #define VIP_FIFOB_CONFIG 0x0804
1652 #define VIP_FIFOC_CONFIG 0x0808
1653 #define VIP_SPDIF_PORT_CNTL 0x080c
1654 #define VIP_SPDIF_CHANNEL_STAT 0x0810
1655 #define VIP_SPDIF_AC3_PREAMBLE 0x0814
1656 #define VIP_I2S_TRANSMIT_CNTL 0x0818
1657 #define VIP_I2S_RECEIVE_CNTL 0x081c
1658 #define VIP_SPDIF_TX_CNT_REG 0x0820
1659 #define VIP_IIS_TX_CNT_REG 0x0824
1661 /* Status defines */
1662 #define VIP_BUSY 0
1663 #define VIP_IDLE 1
1664 #define VIP_RESET 2
1666 #define VIPH_TIMEOUT_STAT__VIPH_REG_STAT 0x00000010
1667 #define VIPH_TIMEOUT_STAT__VIPH_REG_AK 0x00000010
1668 #define VIPH_TIMEOUT_STAT__VIPH_REGR_DIS 0x01000000
1669 #define TEST_DEBUG_CNTL__TEST_DEBUG_OUT_EN 0x00000001
1671 #define RT_ATI_ID 0x4D541002
1673 /* Register/Field values: */
1674 #define RT_COMP0 0x0
1675 #define RT_COMP1 0x1
1676 #define RT_COMP2 0x2
1677 #define RT_YF_COMP3 0x3
1678 #define RT_YR_COMP3 0x4
1679 #define RT_YCF_COMP4 0x5
1680 #define RT_YCR_COMP4 0x6
1682 /* Video standard defines */
1683 #define RT_NTSC 0x0
1684 #define RT_PAL 0x1
1685 #define RT_SECAM 0x2
1686 #define extNONE 0x0000
1687 #define extNTSC 0x0100
1688 #define extRsvd 0x0200
1689 #define extPAL 0x0300
1690 #define extPAL_M 0x0400
1691 #define extPAL_N 0x0500
1692 #define extSECAM 0x0600
1693 #define extPAL_NCOMB 0x0700
1694 #define extNTSC_J 0x0800
1695 #define extNTSC_443 0x0900
1696 #define extPAL_BGHI 0x0A00
1697 #define extPAL_60 0x0B00
1698 /* these are used in MSP3430 */
1699 #define extPAL_DK1 0x0C00
1700 #define extPAL_AUTO 0x0D00
1702 #define RT_FREF_2700 6
1703 #define RT_FREF_2950 5
1705 #define RT_COMPOSITE 0x0
1706 #define RT_SVIDEO 0x1
1708 #define RT_NORM_SHARPNESS 0x03
1709 #define RT_HIGH_SHARPNESS 0x0F
1711 #define RT_HUE_PAL_DEF 0x00
1713 #define RT_DECINTERLACED 0x1
1714 #define RT_DECNONINTERLACED 0x0
1716 #define NTSC_LINES 525
1717 #define PAL_SECAM_LINES 625
1719 #define RT_ASYNC_ENABLE 0x0
1720 #define RT_ASYNC_DISABLE 0x1
1721 #define RT_ASYNC_RESET 0x1
1723 #define RT_VINRST_ACTIVE 0x0
1724 #define RT_VINRST_RESET 0x1
1725 #define RT_L54RST_RESET 0x1
1727 #define RT_REF_CLK 0x0
1728 #define RT_PLL_VIN_CLK 0x1
1730 #define RT_VIN_ASYNC_RST 0x20
1731 #define RT_DVS_ASYNC_RST 0x80
1733 #define RT_ADC_ENABLE 0x0
1734 #define RT_ADC_DISABLE 0x1
1736 #define RT_DVSDIR_IN 0x0
1737 #define RT_DVSDIR_OUT 0x1
1739 #define RT_DVSCLK_HIGH 0x0
1740 #define RT_DVSCLK_LOW 0x1
1742 #define RT_DVSCLK_SEL_8FS 0x0
1743 #define RT_DVSCLK_SEL_27MHZ 0x1
1745 #define RT_DVS_CONTSTREAM 0x1
1746 #define RT_DVS_NONCONTSTREAM 0x0
1748 #define RT_DVSDAT_HIGH 0x0
1749 #define RT_DVSDAT_LOW 0x1
1751 #define RT_ADC_CNTL_DEFAULT 0x03252338
1753 /* COMB_CNTL0 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
1754 #define RT_NTSCM_COMB_CNTL0_COMPOSITE 0x09438090
1755 #define RT_NTSCM_COMB_CNTL0_SVIDEO 0x48540000
1757 #define RT_PAL_COMB_CNTL0_COMPOSITE 0x09438090
1758 #define RT_PAL_COMB_CNTL0_SVIDEO 0x40348090
1760 #define RT_SECAM_COMB_CNTL0_COMPOSITE 0xD0108090 /* instead of orig 0xD0088090 - eric*/
1761 #define RT_SECAM_COMB_CNTL0_SVIDEO 0x50148090
1763 #define RT_PALN_COMB_CNTL0_COMPOSITE 0x09438090
1764 #define RT_PALN_COMB_CNTL0_SVIDEO 0x40348090
1766 #define RT_PALM_COMB_CNTL0_COMPOSITE 0x09438090
1767 #define RT_PALM_COMB_CNTL0_SVIDEO 0x40348090
1768 /* End of filter settings. */
1770 /* COMB_CNTL1 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
1771 #define RT_NTSCM_COMB_CNTL1_COMPOSITE 0x00000010
1772 #define RT_NTSCM_COMB_CNTL1_SVIDEO 0x00000081
1774 #define RT_PAL_COMB_CNTL1_COMPOSITE 0x00000010
1775 #define RT_PAL_COMB_CNTL1_SVIDEO 0x000000A1
1777 #define RT_SECAM_COMB_CNTL1_COMPOSITE 0x00000091
1778 #define RT_SECAM_COMB_CNTL1_SVIDEO 0x00000081
1780 #define RT_PALN_COMB_CNTL1_COMPOSITE 0x00000010
1781 #define RT_PALN_COMB_CNTL1_SVIDEO 0x000000A1
1783 #define RT_PALM_COMB_CNTL1_COMPOSITE 0x00000010
1784 #define RT_PALM_COMB_CNTL1_SVIDEO 0x000000A1
1785 /* End of filter settings. */
1787 /* COMB_CNTL2 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
1788 #define RT_NTSCM_COMB_CNTL2_COMPOSITE 0x16161010
1789 #define RT_NTSCM_COMB_CNTL2_SVIDEO 0xFFFFFFFF
1791 #define RT_PAL_COMB_CNTL2_COMPOSITE 0x06080102 /* instead of 0x16161010 - Ivo */
1792 #define RT_PAL_COMB_CNTL2_SVIDEO 0x06080102
1794 #define RT_SECAM_COMB_CNTL2_COMPOSITE 0xffffffff /* instead of 0x06080102 - eric */
1795 #define RT_SECAM_COMB_CNTL2_SVIDEO 0x06080102
1797 #define RT_PALN_COMB_CNTL2_COMPOSITE 0x06080102
1798 #define RT_PALN_COMB_CNTL2_SVIDEO 0x06080102
1800 #define RT_PALM_COMB_CNTL2_COMPOSITE 0x06080102
1801 #define RT_PALM_COMB_CNTL2_SVIDEO 0x06080102
1802 /* End of filter settings. */
1804 /* COMB_LINE_LENGTH FILTER SETTINGS FOR DIFFERENT STANDARDS: */
1805 #define RT_NTSCM_COMB_LENGTH_COMPOSITE 0x0718038A
1806 #define RT_NTSCM_COMB_LENGTH_SVIDEO 0x0718038A
1808 #define RT_PAL_COMB_LENGTH_COMPOSITE 0x08DA046B
1809 #define RT_PAL_COMB_LENGTH_SVIDEO 0x08DA046B
1811 #define RT_SECAM_COMB_LENGTH_COMPOSITE 0x08DA046A
1812 #define RT_SECAM_COMB_LENGTH_SVIDEO 0x08DA046A
1814 #define RT_PALN_COMB_LENGTH_COMPOSITE 0x07260391
1815 #define RT_PALN_COMB_LENGTH_SVIDEO 0x07260391
1817 #define RT_PALM_COMB_LENGTH_COMPOSITE 0x07160389
1818 #define RT_PALM_COMB_LENGTH_SVIDEO 0x07160389
1819 /* End of filter settings. */
1821 /* LP_AGC_CLAMP_CNTL0 */
1822 #define RT_NTSCM_SYNCTIP_REF0 0x00000037
1823 #define RT_NTSCM_SYNCTIP_REF1 0x00000029
1824 #define RT_NTSCM_CLAMP_REF 0x0000003B
1825 #define RT_NTSCM_PEAKWHITE 0x000000FF
1826 #define RT_NTSCM_VBI_PEAKWHITE 0x000000C2
1828 #define RT_NTSCM_WPA_THRESHOLD 0x00000406
1829 #define RT_NTSCM_WPA_TRIGGER_LO 0x000000B3
1831 #define RT_NTSCM_WPA_TRIGGER_HIGH 0x0000021B
1833 #define RT_NTSCM_LP_LOCKOUT_START 0x00000206
1834 #define RT_NTSCM_LP_LOCKOUT_END 0x00000021
1835 #define RT_NTSCM_CH_DTO_INC 0x00400000
1836 #define RT_NTSCM_CH_PLL_SGAIN 0x00000001
1837 #define RT_NTSCM_CH_PLL_FGAIN 0x00000002
1839 #define RT_NTSCM_CR_BURST_GAIN 0x0000007A
1840 #define RT_NTSCM_CB_BURST_GAIN 0x000000AC
1842 #define RT_NTSCM_CH_HEIGHT 0x000000CD
1843 #define RT_NTSCM_CH_KILL_LEVEL 0x000000C0
1844 #define RT_NTSCM_CH_AGC_ERROR_LIM 0x00000002
1845 #define RT_NTSCM_CH_AGC_FILTER_EN 0x00000000
1846 #define RT_NTSCM_CH_AGC_LOOP_SPEED 0x00000000
1848 #define RT_NTSCM_CRDR_ACTIVE_GAIN 0x0000007A
1849 #define RT_NTSCM_CBDB_ACTIVE_GAIN 0x000000AC
1851 #define RT_NTSCM_VERT_LOCKOUT_START 0x00000207
1852 #define RT_NTSCM_VERT_LOCKOUT_END 0x0000000E
1854 #define RT_NTSCJ_SYNCTIP_REF0 0x00000004
1855 #define RT_NTSCJ_SYNCTIP_REF1 0x00000012
1856 #define RT_NTSCJ_CLAMP_REF 0x0000003B
1857 #define RT_NTSCJ_PEAKWHITE 0x000000CB
1858 #define RT_NTSCJ_VBI_PEAKWHITE 0x000000C2
1859 #define RT_NTSCJ_WPA_THRESHOLD 0x000004B0
1860 #define RT_NTSCJ_WPA_TRIGGER_LO 0x000000B4
1861 #define RT_NTSCJ_WPA_TRIGGER_HIGH 0x0000021C
1862 #define RT_NTSCJ_LP_LOCKOUT_START 0x00000206
1863 #define RT_NTSCJ_LP_LOCKOUT_END 0x00000021
1865 #define RT_NTSCJ_CR_BURST_GAIN 0x00000071
1866 #define RT_NTSCJ_CB_BURST_GAIN 0x0000009F
1867 #define RT_NTSCJ_CH_HEIGHT 0x000000CD
1868 #define RT_NTSCJ_CH_KILL_LEVEL 0x000000C0
1869 #define RT_NTSCJ_CH_AGC_ERROR_LIM 0x00000002
1870 #define RT_NTSCJ_CH_AGC_FILTER_EN 0x00000000
1871 #define RT_NTSCJ_CH_AGC_LOOP_SPEED 0x00000000
1873 #define RT_NTSCJ_CRDR_ACTIVE_GAIN 0x00000071
1874 #define RT_NTSCJ_CBDB_ACTIVE_GAIN 0x0000009F
1875 #define RT_NTSCJ_VERT_LOCKOUT_START 0x00000207
1876 #define RT_NTSCJ_VERT_LOCKOUT_END 0x0000000E
1878 #define RT_PAL_SYNCTIP_REF0 0x37 /* instead of 0x00000004 - Ivo */
1879 #define RT_PAL_SYNCTIP_REF1 0x26 /* instead of 0x0000000F - Ivo */
1880 #define RT_PAL_CLAMP_REF 0x0000003B
1881 #define RT_PAL_PEAKWHITE 0xFF /* instead of 0x000000C1 - Ivo */
1882 #define RT_PAL_VBI_PEAKWHITE 0xC6 /* instead of 0x000000C7 - Ivo */
1883 #define RT_PAL_WPA_THRESHOLD 0x59C /* instead of 0x000006A4 - Ivo */
1885 #define RT_PAL_WPA_TRIGGER_LO 0x00000096
1886 #define RT_PAL_WPA_TRIGGER_HIGH 0x000001C2
1887 #define RT_PAL_LP_LOCKOUT_START 0x00000263
1888 #define RT_PAL_LP_LOCKOUT_END 0x0000002C
1890 #define RT_PAL_CH_DTO_INC 0x00400000
1891 #define RT_PAL_CH_PLL_SGAIN 1 /* instead of 0x00000002 - Ivo */
1892 #define RT_PAL_CH_PLL_FGAIN 2 /* instead of 0x00000001 - Ivo */
1893 #define RT_PAL_CR_BURST_GAIN 0x0000007A
1894 #define RT_PAL_CB_BURST_GAIN 0x000000AB
1895 #define RT_PAL_CH_HEIGHT 0x0000009C
1896 #define RT_PAL_CH_KILL_LEVEL 4 /* instead of 0x00000090 - Ivo */
1897 #define RT_PAL_CH_AGC_ERROR_LIM 1 /* instead of 0x00000002 - Ivo */
1898 #define RT_PAL_CH_AGC_FILTER_EN 1 /* instead of 0x00000000 - Ivo */
1899 #define RT_PAL_CH_AGC_LOOP_SPEED 0x00000000
1901 #define RT_PAL_CRDR_ACTIVE_GAIN 0x9E /* instead of 0x0000007A - Ivo */
1902 #define RT_PAL_CBDB_ACTIVE_GAIN 0xDF /* instead of 0x000000AB - Ivo */
1903 #define RT_PAL_VERT_LOCKOUT_START 0x00000269
1904 #define RT_PAL_VERT_LOCKOUT_END 0x00000012
1906 #define RT_SECAM_SYNCTIP_REF0 0x37 /* instead of 0x00000004 - Ivo */
1907 #define RT_SECAM_SYNCTIP_REF1 0x26 /* instead of 0x0000000F - Ivo */
1908 #define RT_SECAM_CLAMP_REF 0x0000003B
1909 #define RT_SECAM_PEAKWHITE 0xFF /* instead of 0x000000C1 - Ivo */
1910 #define RT_SECAM_VBI_PEAKWHITE 0xC6 /* instead of 0x000000C7 - Ivo */
1911 #define RT_SECAM_WPA_THRESHOLD 0x57A /* instead of 0x6A4, instead of 0x0000059C is Ivo's value , -eric*/
1913 #define RT_SECAM_WPA_TRIGGER_LO 0x96 /* instead of 0x0000026B - eric */
1914 #define RT_SECAM_WPA_TRIGGER_HIGH 0x000001C2
1915 #define RT_SECAM_LP_LOCKOUT_START 0x263 /* instead of 0x0000026B - eric */
1916 #define RT_SECAM_LP_LOCKOUT_END 0x2b /* instead of 0x0000002C -eric */
1918 #define RT_SECAM_CH_DTO_INC 0x003E7A28
1919 #define RT_SECAM_CH_PLL_SGAIN 0x4 /* instead of 0x00000006 -Volodya */
1920 #define RT_SECAM_CH_PLL_FGAIN 0x7 /* instead of 0x00000006 -Volodya */
1922 #define RT_SECAM_CR_BURST_GAIN 0x1FF /* instead of 0x00000200 -Volodya */
1923 #define RT_SECAM_CB_BURST_GAIN 0x1FF /* instead of 0x00000200 -Volodya */
1924 #define RT_SECAM_CH_HEIGHT 0x00000066
1925 #define RT_SECAM_CH_KILL_LEVEL 0x00000060
1926 #define RT_SECAM_CH_AGC_ERROR_LIM 0x00000003
1927 #define RT_SECAM_CH_AGC_FILTER_EN 0x00000000
1928 #define RT_SECAM_CH_AGC_LOOP_SPEED 0x00000000
1930 #define RT_SECAM_CRDR_ACTIVE_GAIN 0x11B /* instead of 0x00000200 - eric */
1931 #define RT_SECAM_CBDB_ACTIVE_GAIN 0x15A /* instead of 0x00000200 - eric */
1932 #define RT_SECAM_VERT_LOCKOUT_START 0x00000269
1933 #define RT_SECAM_VERT_LOCKOUT_END 0x00000012
1935 #define RT_PAL_VS_FIELD_BLANK_END 0x2A /* instead of 0x0000002C - Ivo*/
1936 #define RT_NTSCM_VS_FIELD_BLANK_END 0x0000000A
1938 #define RT_NTSCM_FIELD_IDLOCATION 0x00000105
1939 #define RT_PAL_FIELD_IDLOCATION 0x00000137
1941 #define RT_NTSCM_H_ACTIVE_START 0x00000070
1942 #define RT_NTSCM_H_ACTIVE_END 0x00000363
1944 #define RT_PAL_H_ACTIVE_START 0x0000009A
1945 #define RT_PAL_H_ACTIVE_END 0x00000439
1947 #define RT_NTSCM_V_ACTIVE_START ((22-4)*2+1)
1948 #define RT_NTSCM_V_ACTIVE_END ((22+240-4)*2+1)
1950 #define RT_PAL_V_ACTIVE_START 0x2E /* instead of 0x00000023 (Same as SECAM) - Ivo */
1951 #define RT_PAL_V_ACTIVE_END 0x269 /* instead of 0x00000262 - Ivo */
1953 /* VBI */
1954 #define RT_NTSCM_H_VBI_WIND_START 0x00000049
1955 #define RT_NTSCM_H_VBI_WIND_END 0x00000366
1957 #define RT_PAL_H_VBI_WIND_START 0x00000084
1958 #define RT_PAL_H_VBI_WIND_END 0x0000041F
1960 #define RT_NTSCM_V_VBI_WIND_START fld_V_VBI_WIND_START_def
1961 #define RT_NTSCM_V_VBI_WIND_END fld_V_VBI_WIND_END_def
1963 #define RT_PAL_V_VBI_WIND_START 0x8 /* instead of 0x0000000B - Ivo */
1964 #define RT_PAL_V_VBI_WIND_END 0x2D /* instead of 0x00000022 - Ivo */
1966 #define RT_VBI_CAPTURE_EN 0x00000001 /* Enable */
1967 #define RT_VBI_CAPTURE_DIS 0x00000000 /* Disable */
1968 #define RT_RAW_CAPTURE 0x00000002 /* Use raw Video Capture. */
1970 #define RT_NTSCM_VSYNC_INT_TRIGGER 0x2AA
1971 #define RT_PALSEM_VSYNC_INT_TRIGGER 0x353
1973 #define RT_NTSCM_VSYNC_INT_HOLD 0x17
1974 #define RT_PALSEM_VSYNC_INT_HOLD 0x1C
1976 #define RT_NTSCM_VS_FIELD_BLANK_START 0x206
1977 #define RT_PALSEM_VS_FIELD_BLANK_START 0x26D /* instead of 0x26C - Ivo */
1979 #define RT_FIELD_FLIP_EN 0x4
1980 #define RT_V_FIELD_FLIP_INVERTED 0x2000
1982 #define RT_NTSCM_H_IN_START 0x70
1983 #define RT_PAL_H_IN_START 154 /* instead of 144 - Ivo */
1984 #define RT_SECAM_H_IN_START 0x91 /* instead of 0x9A, Ivo value is 154, instead of 144 - Volodya, - eric */
1985 #define RT_NTSC_H_ACTIVE_SIZE 744
1986 #define RT_PAL_H_ACTIVE_SIZE 928 /* instead of 927 - Ivo */
1987 #define RT_SECAM_H_ACTIVE_SIZE 932 /* instead of 928, instead of 927 - Ivo, - eric */
1988 #define RT_NTSCM_V_IN_START (0x23)
1989 #define RT_PAL_V_IN_START 44 /* instead of (45-6) - Ivo */
1990 #define RT_SECAM_V_IN_START 0x2C /* instead of (45-6) - Volodya */
1991 #define RT_NTSCM_V_ACTIVE_SIZE 480
1992 #define RT_PAL_V_ACTIVE_SIZE 572 /* instead of 575 - Ivo */
1993 #define RT_SECAM_V_ACTIVE_SIZE 570 /* instead of 572, instead of 575 - Ivo, - eric */
1995 #define RT_NTSCM_WIN_CLOSE_LIMIT 0x4D
1996 #define RT_NTSCJ_WIN_CLOSE_LIMIT 0x4D
1997 #define RT_NTSC443_WIN_CLOSE_LIMIT 0x5F
1998 #define RT_PALM_WIN_CLOSE_LIMIT 0x4D
1999 #define RT_PALN_WIN_CLOSE_LIMIT 0x5F
2000 #define RT_SECAM_WIN_CLOSE_LIMIT 0xC7 /* instead of 0x5F - eric */
2002 #define RT_NTSCM_VS_FIELD_BLANK_START 0x206
2004 #define RT_NTSCM_HS_PLL_SGAIN 0x5
2005 #define RT_NTSCM_HS_PLL_FGAIN 0x7
2007 #define RT_NTSCM_H_OUT_WIND_WIDTH 0x2F4
2008 #define RT_NTSCM_V_OUT_WIND_HEIGHT 0xF0
2010 #define TV 0x1
2011 #define LINEIN 0x2
2012 #define MUTE 0x3
2014 #define DEC_COMPOSITE 0
2015 #define DEC_SVIDEO 1
2016 #define DEC_TUNER 2
2018 #define DEC_NTSC 0
2019 #define DEC_PAL 1
2020 #define DEC_SECAM 2
2021 #define DEC_NTSC_J 8
2023 #define DEC_SMOOTH 0
2024 #define DEC_SHARP 1
2026 /* RT Register Field Defaults: */
2027 #define fld_tmpReg1_def 0x00000000
2028 #define fld_tmpReg2_def 0x00000001
2029 #define fld_tmpReg3_def 0x00000002
2031 #define fld_LP_CONTRAST_def 0x0000006e
2032 #define fld_LP_BRIGHTNESS_def 0x00003ff0
2033 #define fld_CP_HUE_CNTL_def 0x00000000
2034 #define fld_LUMA_FILTER_def 0x00000001
2035 #define fld_H_SCALE_RATIO_def 0x00010000
2036 #define fld_H_SHARPNESS_def 0x00000000
2038 #define fld_V_SCALE_RATIO_def 0x00000800
2039 #define fld_V_DEINTERLACE_ON_def 0x00000001
2040 #define fld_V_BYPSS_def 0x00000000
2041 #define fld_V_DITHER_ON_def 0x00000001
2042 #define fld_EVENF_OFFSET_def 0x00000000
2043 #define fld_ODDF_OFFSET_def 0x00000000
2045 #define fld_INTERLACE_DETECTED_def 0x00000000
2047 #define fld_VS_LINE_COUNT_def 0x00000000
2048 #define fld_VS_DETECTED_LINES_def 0x00000000
2049 #define fld_VS_ITU656_VB_def 0x00000000
2051 #define fld_VBI_CC_DATA_def 0x00000000
2052 #define fld_VBI_CC_WT_def 0x00000000
2053 #define fld_VBI_CC_WT_ACK_def 0x00000000
2054 #define fld_VBI_CC_HOLD_def 0x00000000
2055 #define fld_VBI_DECODE_EN_def 0x00000000
2057 #define fld_VBI_CC_DTO_P_def 0x00001802
2058 #define fld_VBI_20BIT_DTO_P_def 0x0000155c
2060 #define fld_VBI_CC_LEVEL_def 0x0000003f
2061 #define fld_VBI_20BIT_LEVEL_def 0x00000059
2062 #define fld_VBI_CLK_RUNIN_GAIN_def 0x0000010f
2064 #define fld_H_VBI_WIND_START_def 0x00000041
2065 #define fld_H_VBI_WIND_END_def 0x00000366
2067 #define fld_V_VBI_WIND_START_def 0x0D
2068 #define fld_V_VBI_WIND_END_def 0x24
2070 #define fld_VBI_20BIT_DATA0_def 0x00000000
2071 #define fld_VBI_20BIT_DATA1_def 0x00000000
2072 #define fld_VBI_20BIT_WT_def 0x00000000
2073 #define fld_VBI_20BIT_WT_ACK_def 0x00000000
2074 #define fld_VBI_20BIT_HOLD_def 0x00000000
2076 #define fld_VBI_CAPTURE_ENABLE_def 0x00000000
2078 #define fld_VBI_EDS_DATA_def 0x00000000
2079 #define fld_VBI_EDS_WT_def 0x00000000
2080 #define fld_VBI_EDS_WT_ACK_def 0x00000000
2081 #define fld_VBI_EDS_HOLD_def 0x00000000
2083 #define fld_VBI_SCALING_RATIO_def 0x00010000
2084 #define fld_VBI_ALIGNER_ENABLE_def 0x00000000
2086 #define fld_H_ACTIVE_START_def 0x00000070
2087 #define fld_H_ACTIVE_END_def 0x000002f0
2089 #define fld_V_ACTIVE_START_def ((22-4)*2+1)
2090 #define fld_V_ACTIVE_END_def ((22+240-4)*2+2)
2092 #define fld_CH_HEIGHT_def 0x000000CD
2093 #define fld_CH_KILL_LEVEL_def 0x000000C0
2094 #define fld_CH_AGC_ERROR_LIM_def 0x00000002
2095 #define fld_CH_AGC_FILTER_EN_def 0x00000000
2096 #define fld_CH_AGC_LOOP_SPEED_def 0x00000000
2098 #define fld_HUE_ADJ_def 0x00000000
2100 #define fld_STANDARD_SEL_def 0x00000000
2101 #define fld_STANDARD_YC_def 0x00000000
2103 #define fld_ADC_PDWN_def 0x00000001
2104 #define fld_INPUT_SELECT_def 0x00000000
2106 #define fld_ADC_PREFLO_def 0x00000003
2107 #define fld_H_SYNC_PULSE_WIDTH_def 0x00000000
2108 #define fld_HS_GENLOCKED_def 0x00000000
2109 #define fld_HS_SYNC_IN_WIN_def 0x00000000
2111 #define fld_VIN_ASYNC_RST_def 0x00000001
2112 #define fld_DVS_ASYNC_RST_def 0x00000001
2114 /* Vendor IDs: */
2115 #define fld_VIP_VENDOR_ID_def 0x00001002
2116 #define fld_VIP_DEVICE_ID_def 0x00004d54
2117 #define fld_VIP_REVISION_ID_def 0x00000001
2119 /* AGC Delay Register */
2120 #define fld_BLACK_INT_START_def 0x00000031
2121 #define fld_BLACK_INT_LENGTH_def 0x0000000f
2123 #define fld_UV_INT_START_def 0x0000003b
2124 #define fld_U_INT_LENGTH_def 0x0000000f
2125 #define fld_V_INT_LENGTH_def 0x0000000f
2126 #define fld_CRDR_ACTIVE_GAIN_def 0x0000007a
2127 #define fld_CBDB_ACTIVE_GAIN_def 0x000000ac
2129 #define fld_DVS_DIRECTION_def 0x00000000
2130 #define fld_DVS_VBI_CARD8_SWAP_def 0x00000000
2131 #define fld_DVS_CLK_SELECT_def 0x00000000
2132 #define fld_CONTINUOUS_STREAM_def 0x00000000
2133 #define fld_DVSOUT_CLK_DRV_def 0x00000001
2134 #define fld_DVSOUT_DATA_DRV_def 0x00000001
2136 #define fld_COMB_CNTL0_def 0x09438090
2137 #define fld_COMB_CNTL1_def 0x00000010
2139 #define fld_COMB_CNTL2_def 0x16161010
2140 #define fld_COMB_LENGTH_def 0x0718038A
2142 #define fld_SYNCTIP_REF0_def 0x00000037
2143 #define fld_SYNCTIP_REF1_def 0x00000029
2144 #define fld_CLAMP_REF_def 0x0000003B
2145 #define fld_AGC_PEAKWHITE_def 0x000000FF
2146 #define fld_VBI_PEAKWHITE_def 0x000000D2
2148 #define fld_WPA_THRESHOLD_def 0x000003B0
2150 #define fld_WPA_TRIGGER_LO_def 0x000000B4
2151 #define fld_WPA_TRIGGER_HIGH_def 0x0000021C
2153 #define fld_LOCKOUT_START_def 0x00000206
2154 #define fld_LOCKOUT_END_def 0x00000021
2156 #define fld_CH_DTO_INC_def 0x00400000
2157 #define fld_PLL_SGAIN_def 0x00000001
2158 #define fld_PLL_FGAIN_def 0x00000002
2160 #define fld_CR_BURST_GAIN_def 0x0000007a
2161 #define fld_CB_BURST_GAIN_def 0x000000ac
2163 #define fld_VERT_LOCKOUT_START_def 0x00000207
2164 #define fld_VERT_LOCKOUT_END_def 0x0000000E
2166 #define fld_H_IN_WIND_START_def 0x00000070
2167 #define fld_V_IN_WIND_START_def 0x00000027
2169 #define fld_H_OUT_WIND_WIDTH_def 0x000002f4
2171 #define fld_V_OUT_WIND_WIDTH_def 0x000000f0
2173 #define fld_HS_LINE_TOTAL_def 0x0000038E
2175 #define fld_MIN_PULSE_WIDTH_def 0x0000002F
2176 #define fld_MAX_PULSE_WIDTH_def 0x00000046
2178 #define fld_WIN_CLOSE_LIMIT_def 0x0000004D
2179 #define fld_WIN_OPEN_LIMIT_def 0x000001B7
2181 #define fld_VSYNC_INT_TRIGGER_def 0x000002AA
2183 #define fld_VSYNC_INT_HOLD_def 0x0000001D
2185 #define fld_VIN_M0_def 0x00000039
2186 #define fld_VIN_N0_def 0x0000014c
2187 #define fld_MNFLIP_EN_def 0x00000000
2188 #define fld_VIN_P_def 0x00000006
2189 #define fld_REG_CLK_SEL_def 0x00000000
2191 #define fld_VIN_M1_def 0x00000000
2192 #define fld_VIN_N1_def 0x00000000
2193 #define fld_VIN_DRIVER_SEL_def 0x00000000
2194 #define fld_VIN_MNFLIP_REQ_def 0x00000000
2195 #define fld_VIN_MNFLIP_DONE_def 0x00000000
2196 #define fld_TV_LOCK_TO_VIN_def 0x00000000
2197 #define fld_TV_P_FOR_WINCLK_def 0x00000004
2199 #define fld_VINRST_def 0x00000001
2200 #define fld_VIN_CLK_SEL_def 0x00000000
2202 #define fld_VS_FIELD_BLANK_START_def 0x00000206
2204 #define fld_VS_FIELD_BLANK_END_def 0x0000000A
2206 /*#define fld_VS_FIELD_IDLOCATION_def 0x00000105 */
2207 #define fld_VS_FIELD_IDLOCATION_def 0x00000001
2208 #define fld_VS_FRAME_TOTAL_def 0x00000217
2210 #define fld_SYNC_TIP_START_def 0x00000372
2211 #define fld_SYNC_TIP_LENGTH_def 0x0000000F
2213 #define fld_GAIN_FORCE_DATA_def 0x00000000
2214 #define fld_GAIN_FORCE_EN_def 0x00000000
2215 #define fld_I_CLAMP_SEL_def 0x00000003
2216 #define fld_I_AGC_SEL_def 0x00000001
2217 #define fld_EXT_CLAMP_CAP_def 0x00000001
2218 #define fld_EXT_AGC_CAP_def 0x00000001
2219 #define fld_DECI_DITHER_EN_def 0x00000001
2220 #define fld_ADC_PREFHI_def 0x00000000
2221 #define fld_ADC_CH_GAIN_SEL_def 0x00000001
2223 #define fld_HS_PLL_SGAIN_def 0x00000003
2225 #define fld_NREn_def 0x00000000
2226 #define fld_NRGainCntl_def 0x00000000
2227 #define fld_NRBWTresh_def 0x00000000
2228 #define fld_NRGCTresh_def 0x00000000
2229 #define fld_NRCoefDespeclMode_def 0x00000000
2231 #define fld_GPIO_5_OE_def 0x00000000
2232 #define fld_GPIO_6_OE_def 0x00000000
2234 #define fld_GPIO_5_OUT_def 0x00000000
2235 #define fld_GPIO_6_OUT_def 0x00000000
2237 /* End of field default values. */
2239 #endif /* MPLAYER_RADEON_H */