r128fbreg.h revision 1.1 1 1.1 macallan /* $NetBSD: r128fbreg.h,v 1.1 2007/11/07 19:09:09 macallan Exp $ */
2 1.1 macallan
3 1.1 macallan /*
4 1.1 macallan * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
5 1.1 macallan * Precision Insight, Inc., Cedar Park, Texas, and
6 1.1 macallan * VA Linux Systems Inc., Fremont, California.
7 1.1 macallan *
8 1.1 macallan * All Rights Reserved.
9 1.1 macallan *
10 1.1 macallan * Permission is hereby granted, free of charge, to any person obtaining
11 1.1 macallan * a copy of this software and associated documentation files (the
12 1.1 macallan * "Software"), to deal in the Software without restriction, including
13 1.1 macallan * without limitation on the rights to use, copy, modify, merge,
14 1.1 macallan * publish, distribute, sublicense, and/or sell copies of the Software,
15 1.1 macallan * and to permit persons to whom the Software is furnished to do so,
16 1.1 macallan * subject to the following conditions:
17 1.1 macallan *
18 1.1 macallan * The above copyright notice and this permission notice (including the
19 1.1 macallan * next paragraph) shall be included in all copies or substantial
20 1.1 macallan * portions of the Software.
21 1.1 macallan *
22 1.1 macallan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 1.1 macallan * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 1.1 macallan * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 1.1 macallan * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
26 1.1 macallan * SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
27 1.1 macallan * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
28 1.1 macallan * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29 1.1 macallan * OTHER DEALINGS IN THE SOFTWARE.
30 1.1 macallan */
31 1.1 macallan
32 1.1 macallan /*
33 1.1 macallan * Authors:
34 1.1 macallan * Rickard E. Faith <faith (at) valinux.com>
35 1.1 macallan * Kevin E. Martin <martin (at) valinux.com>
36 1.1 macallan * Gareth Hughes <gareth (at) valinux.com>
37 1.1 macallan *
38 1.1 macallan * References:
39 1.1 macallan *
40 1.1 macallan * RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical
41 1.1 macallan * Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April
42 1.1 macallan * 1999.
43 1.1 macallan *
44 1.1 macallan * RAGE 128 Software Development Manual (Technical Reference Manual P/N
45 1.1 macallan * SDK-G04000 Rev. 0.01), ATI Technologies: June 1999.
46 1.1 macallan *
47 1.1 macallan */
48 1.1 macallan
49 1.1 macallan /*
50 1.1 macallan * register definitions for ATI Rage 128 graphics controllers
51 1.1 macallan * mostly from XFree86's ati driver
52 1.1 macallan */
53 1.1 macallan
54 1.1 macallan
55 1.1 macallan #ifndef R128FB_REG_H
56 1.1 macallan #define R128FB_REG_H
57 1.1 macallan
58 1.1 macallan #define R128_PALETTE_DATA 0x00b4
59 1.1 macallan #define R128_PALETTE_INDEX 0x00b0
60 1.1 macallan
61 1.1 macallan #define R128_PC_NGUI_CTLSTAT 0x0184
62 1.1 macallan # define R128_PC_FLUSH_GUI (3 << 0)
63 1.1 macallan # define R128_PC_RI_GUI (1 << 2)
64 1.1 macallan # define R128_PC_FLUSH_ALL 0x00ff
65 1.1 macallan # define R128_PC_BUSY (1 << 31)
66 1.1 macallan
67 1.1 macallan #define R128_CRTC_OFFSET 0x0224
68 1.1 macallan
69 1.1 macallan #define R128_DST_OFFSET 0x1404
70 1.1 macallan #define R128_DST_PITCH 0x1408
71 1.1 macallan
72 1.1 macallan #define R128_DP_GUI_MASTER_CNTL 0x146c
73 1.1 macallan # define R128_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0)
74 1.1 macallan # define R128_GMC_DST_PITCH_OFFSET_CNTL (1 << 1)
75 1.1 macallan # define R128_GMC_SRC_CLIPPING (1 << 2)
76 1.1 macallan # define R128_GMC_DST_CLIPPING (1 << 3)
77 1.1 macallan # define R128_GMC_BRUSH_DATATYPE_MASK (0x0f << 4)
78 1.1 macallan # define R128_GMC_BRUSH_8X8_MONO_FG_BG (0 << 4)
79 1.1 macallan # define R128_GMC_BRUSH_8X8_MONO_FG_LA (1 << 4)
80 1.1 macallan # define R128_GMC_BRUSH_1X8_MONO_FG_BG (4 << 4)
81 1.1 macallan # define R128_GMC_BRUSH_1X8_MONO_FG_LA (5 << 4)
82 1.1 macallan # define R128_GMC_BRUSH_32x1_MONO_FG_BG (6 << 4)
83 1.1 macallan # define R128_GMC_BRUSH_32x1_MONO_FG_LA (7 << 4)
84 1.1 macallan # define R128_GMC_BRUSH_32x32_MONO_FG_BG (8 << 4)
85 1.1 macallan # define R128_GMC_BRUSH_32x32_MONO_FG_LA (9 << 4)
86 1.1 macallan # define R128_GMC_BRUSH_8x8_COLOR (10 << 4)
87 1.1 macallan # define R128_GMC_BRUSH_1X8_COLOR (12 << 4)
88 1.1 macallan # define R128_GMC_BRUSH_SOLID_COLOR (13 << 4)
89 1.1 macallan # define R128_GMC_BRUSH_NONE (15 << 4)
90 1.1 macallan # define R128_GMC_DST_8BPP_CI (2 << 8)
91 1.1 macallan # define R128_GMC_DST_15BPP (3 << 8)
92 1.1 macallan # define R128_GMC_DST_16BPP (4 << 8)
93 1.1 macallan # define R128_GMC_DST_24BPP (5 << 8)
94 1.1 macallan # define R128_GMC_DST_32BPP (6 << 8)
95 1.1 macallan # define R128_GMC_DST_8BPP_RGB (7 << 8)
96 1.1 macallan # define R128_GMC_DST_Y8 (8 << 8)
97 1.1 macallan # define R128_GMC_DST_RGB8 (9 << 8)
98 1.1 macallan # define R128_GMC_DST_VYUY (11 << 8)
99 1.1 macallan # define R128_GMC_DST_YVYU (12 << 8)
100 1.1 macallan # define R128_GMC_DST_AYUV444 (14 << 8)
101 1.1 macallan # define R128_GMC_DST_ARGB4444 (15 << 8)
102 1.1 macallan # define R128_GMC_DST_DATATYPE_MASK (0x0f << 8)
103 1.1 macallan # define R128_GMC_DST_DATATYPE_SHIFT 8
104 1.1 macallan # define R128_GMC_SRC_DATATYPE_MASK (3 << 12)
105 1.1 macallan # define R128_GMC_SRC_DATATYPE_MONO_FG_BG (0 << 12)
106 1.1 macallan # define R128_GMC_SRC_DATATYPE_MONO_FG_LA (1 << 12)
107 1.1 macallan # define R128_GMC_SRC_DATATYPE_COLOR (3 << 12)
108 1.1 macallan # define R128_GMC_BYTE_PIX_ORDER (1 << 14)
109 1.1 macallan # define R128_GMC_BYTE_MSB_TO_LSB (0 << 14)
110 1.1 macallan # define R128_GMC_BYTE_LSB_TO_MSB (1 << 14)
111 1.1 macallan # define R128_GMC_CONVERSION_TEMP (1 << 15)
112 1.1 macallan # define R128_GMC_CONVERSION_TEMP_6500 (0 << 15)
113 1.1 macallan # define R128_GMC_CONVERSION_TEMP_9300 (1 << 15)
114 1.1 macallan # define R128_GMC_ROP3_MASK (0xff << 16)
115 1.1 macallan # define R128_DP_SRC_SOURCE_MASK (7 << 24)
116 1.1 macallan # define R128_DP_SRC_SOURCE_MEMORY (2 << 24)
117 1.1 macallan # define R128_DP_SRC_SOURCE_HOST_DATA (3 << 24)
118 1.1 macallan # define R128_GMC_3D_FCN_EN (1 << 27)
119 1.1 macallan # define R128_GMC_CLR_CMP_CNTL_DIS (1 << 28)
120 1.1 macallan # define R128_GMC_AUX_CLIP_DIS (1 << 29)
121 1.1 macallan # define R128_GMC_WR_MSK_DIS (1 << 30)
122 1.1 macallan # define R128_GMC_LD_BRUSH_Y_X (1 << 31)
123 1.1 macallan # define R128_ROP3_ZERO 0x00000000
124 1.1 macallan # define R128_ROP3_DSa 0x00880000
125 1.1 macallan # define R128_ROP3_SDna 0x00440000
126 1.1 macallan # define R128_ROP3_S 0x00cc0000
127 1.1 macallan # define R128_ROP3_DSna 0x00220000
128 1.1 macallan # define R128_ROP3_D 0x00aa0000
129 1.1 macallan # define R128_ROP3_DSx 0x00660000
130 1.1 macallan # define R128_ROP3_DSo 0x00ee0000
131 1.1 macallan # define R128_ROP3_DSon 0x00110000
132 1.1 macallan # define R128_ROP3_DSxn 0x00990000
133 1.1 macallan # define R128_ROP3_Dn 0x00550000
134 1.1 macallan # define R128_ROP3_SDno 0x00dd0000
135 1.1 macallan # define R128_ROP3_Sn 0x00330000
136 1.1 macallan # define R128_ROP3_DSno 0x00bb0000
137 1.1 macallan # define R128_ROP3_DSan 0x00770000
138 1.1 macallan # define R128_ROP3_ONE 0x00ff0000
139 1.1 macallan # define R128_ROP3_DPa 0x00a00000
140 1.1 macallan # define R128_ROP3_PDna 0x00500000
141 1.1 macallan # define R128_ROP3_P 0x00f00000
142 1.1 macallan # define R128_ROP3_DPna 0x000a0000
143 1.1 macallan # define R128_ROP3_D 0x00aa0000
144 1.1 macallan # define R128_ROP3_DPx 0x005a0000
145 1.1 macallan # define R128_ROP3_DPo 0x00fa0000
146 1.1 macallan # define R128_ROP3_DPon 0x00050000
147 1.1 macallan # define R128_ROP3_PDxn 0x00a50000
148 1.1 macallan # define R128_ROP3_PDno 0x00f50000
149 1.1 macallan # define R128_ROP3_Pn 0x000f0000
150 1.1 macallan # define R128_ROP3_DPno 0x00af0000
151 1.1 macallan # define R128_ROP3_DPan 0x005f0000
152 1.1 macallan
153 1.1 macallan #define R128_DP_BRUSH_BKGD_CLR 0x1478
154 1.1 macallan #define R128_DP_BRUSH_FRGD_CLR 0x147c
155 1.1 macallan #define R128_SRC_X_Y 0x1590
156 1.1 macallan #define R128_DST_X_Y 0x1594
157 1.1 macallan #define R128_DST_WIDTH_HEIGHT 0x1598
158 1.1 macallan
159 1.1 macallan #define R128_SRC_OFFSET 0x15ac
160 1.1 macallan #define R128_SRC_PITCH 0x15b0
161 1.1 macallan
162 1.1 macallan #define R128_AUX_SC_CNTL 0x1660
163 1.1 macallan # define R128_AUX1_SC_EN (1 << 0)
164 1.1 macallan # define R128_AUX1_SC_MODE_OR (0 << 1)
165 1.1 macallan # define R128_AUX1_SC_MODE_NAND (1 << 1)
166 1.1 macallan # define R128_AUX2_SC_EN (1 << 2)
167 1.1 macallan # define R128_AUX2_SC_MODE_OR (0 << 3)
168 1.1 macallan # define R128_AUX2_SC_MODE_NAND (1 << 3)
169 1.1 macallan # define R128_AUX3_SC_EN (1 << 4)
170 1.1 macallan # define R128_AUX3_SC_MODE_OR (0 << 5)
171 1.1 macallan # define R128_AUX3_SC_MODE_NAND (1 << 5)
172 1.1 macallan
173 1.1 macallan #define R128_DP_CNTL 0x16c0
174 1.1 macallan # define R128_DST_X_LEFT_TO_RIGHT (1 << 0)
175 1.1 macallan # define R128_DST_Y_TOP_TO_BOTTOM (1 << 1)
176 1.1 macallan
177 1.1 macallan #define R128_DP_DATATYPE 0x16c4
178 1.1 macallan # define R128_HOST_BIG_ENDIAN_EN (1 << 29)
179 1.1 macallan
180 1.1 macallan #define R128_DP_WRITE_MASK 0x16cc
181 1.1 macallan
182 1.1 macallan #define R128_DP_CNTL_XDIR_YDIR_YMAJOR 0x16d0
183 1.1 macallan # define R128_DST_Y_MAJOR (1 << 2)
184 1.1 macallan # define R128_DST_Y_DIR_TOP_TO_BOTTOM (1 << 15)
185 1.1 macallan # define R128_DST_X_DIR_LEFT_TO_RIGHT (1 << 31)
186 1.1 macallan
187 1.1 macallan #define R128_DEFAULT_OFFSET 0x16e0
188 1.1 macallan #define R128_DEFAULT_PITCH 0x16e4
189 1.1 macallan #define R128_DEFAULT_SC_BOTTOM_RIGHT 0x16e8
190 1.1 macallan # define R128_DEFAULT_SC_RIGHT_MAX (0x1fff << 0)
191 1.1 macallan # define R128_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16)
192 1.1 macallan
193 1.1 macallan #define R128_SC_TOP_LEFT 0x16ec
194 1.1 macallan #define R128_SC_BOTTOM_RIGHT 0x16f0
195 1.1 macallan
196 1.1 macallan #define R128_GUI_STAT 0x1740
197 1.1 macallan # define R128_GUI_FIFOCNT_MASK 0x0fff
198 1.1 macallan # define R128_GUI_ACTIVE (1 << 31)
199 1.1 macallan
200 1.1 macallan #endif /* R128FB_REG_H */
201