Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1029 serge 1
/*
2
 * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
3
 *                VA Linux Systems Inc., Fremont, California.
4
 *
5
 * All Rights Reserved.
6
 *
7
 * Permission is hereby granted, free of charge, to any person obtaining
8
 * a copy of this software and associated documentation files (the
9
 * "Software"), to deal in the Software without restriction, including
10
 * without limitation on the rights to use, copy, modify, merge,
11
 * publish, distribute, sublicense, and/or sell copies of the Software,
12
 * and to permit persons to whom the Software is furnished to do so,
13
 * subject to the following conditions:
14
 *
15
 * The above copyright notice and this permission notice (including the
16
 * next paragraph) shall be included in all copies or substantial
17
 * portions of the Software.
18
 *
19
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
 * NON-INFRINGEMENT.  IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR
23
 * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
 * DEALINGS IN THE SOFTWARE.
27
 */
28
/* WARNING: the above is not a standard MIT license. */
29
/*
30
 * Authors:
31
 *   Kevin E. Martin 
32
 *   Rickard E. Faith 
33
 *   Alan Hourihane 
34
 */
35
 
36
#ifndef _R5XX_2DREGS_H
37
# define _R5XX_2DREGS_H
38
 
39
#define R5XX_DATATYPE_VQ	0
40
#define R5XX_DATATYPE_CI4	1
41
#define R5XX_DATATYPE_CI8	2
42
#define R5XX_DATATYPE_ARGB1555	3
43
#define R5XX_DATATYPE_RGB565	4
44
#define R5XX_DATATYPE_RGB888	5
45
#define R5XX_DATATYPE_ARGB8888	6
46
#define R5XX_DATATYPE_RGB332	7
47
#define R5XX_DATATYPE_Y8	8
48
#define R5XX_DATATYPE_RGB8	9
49
#define R5XX_DATATYPE_CI16	10
50
#define R5XX_DATATYPE_VYUY_422	11
51
#define R5XX_DATATYPE_YVYU_422	12
52
#define R5XX_DATATYPE_AYUV_444	14
53
#define R5XX_DATATYPE_ARGB4444	15
54
 
55
#define R5XX_RBBM_SOFT_RESET              0x00f0
56
#       define R5XX_SOFT_RESET_CP         (1 <<  0)
57
#       define R5XX_SOFT_RESET_HI         (1 <<  1)
58
#       define R5XX_SOFT_RESET_SE         (1 <<  2)
59
#       define R5XX_SOFT_RESET_RE         (1 <<  3)
60
#       define R5XX_SOFT_RESET_PP         (1 <<  4)
61
#       define R5XX_SOFT_RESET_E2         (1 <<  5)
62
#       define R5XX_SOFT_RESET_RB         (1 <<  6)
63
#       define R5XX_SOFT_RESET_HDP        (1 <<  7)
64
 
65
#define R5XX_HOST_PATH_CNTL               0x0130
66
#       define R5XX_HDP_SOFT_RESET        (1 << 26)
67
#       define R5XX_HDP_APER_CNTL         (1 << 23)
68
 
69
#define R5XX_SURFACE_CNTL                 0x0b00
70
#       define R5XX_SURF_TRANSLATION_DIS  (1 << 8)
71
#       define R5XX_NONSURF_AP0_SWP_16BPP (1 << 20)
72
#       define R5XX_NONSURF_AP0_SWP_32BPP (1 << 21)
73
#       define R5XX_NONSURF_AP1_SWP_16BPP (1 << 22)
74
#       define R5XX_NONSURF_AP1_SWP_32BPP (1 << 23)
75
 
76
#define R5XX_SURFACE0_INFO                0x0b0c
77
#       define R5XX_SURF_TILE_COLOR_MACRO (0 << 16)
78
#       define R5XX_SURF_TILE_COLOR_BOTH  (1 << 16)
79
#       define R5XX_SURF_TILE_DEPTH_32BPP (2 << 16)
80
#       define R5XX_SURF_TILE_DEPTH_16BPP (3 << 16)
81
#       define R5XX_SURF_AP0_SWP_16BPP    (1 << 20)
82
#       define R5XX_SURF_AP0_SWP_32BPP    (1 << 21)
83
#       define R5XX_SURF_AP1_SWP_16BPP    (1 << 22)
84
#       define R5XX_SURF_AP1_SWP_32BPP    (1 << 23)
85
#define R5XX_SURFACE0_LOWER_BOUND         0x0b04
86
#define R5XX_SURFACE0_UPPER_BOUND         0x0b08
87
 
88
#define R5XX_RBBM_STATUS                  0x0e40
89
#       define R5XX_RBBM_FIFOCNT_MASK     0x007f
90
#       define R5XX_RBBM_ACTIVE           (1 << 31)
91
 
92
#define R5XX_SRC_PITCH_OFFSET             0x1428
93
#define R5XX_DST_PITCH_OFFSET             0x142c
94
 
95
#define R5XX_SRC_Y_X                      0x1434
96
#define R5XX_DST_Y_X                      0x1438
97
#define R5XX_DST_HEIGHT_WIDTH             0x143c
98
 
99
#define R5XX_DP_GUI_MASTER_CNTL           0x146c
100
#       define R5XX_GMC_SRC_PITCH_OFFSET_CNTL   (1    <<  0)
101
#       define R5XX_GMC_DST_PITCH_OFFSET_CNTL   (1    <<  1)
102
#       define R5XX_GMC_SRC_CLIPPING            (1    <<  2)
103
#       define R5XX_GMC_DST_CLIPPING            (1    <<  3)
104
#       define R5XX_GMC_BRUSH_DATATYPE_MASK     (0x0f <<  4)
105
#       define R5XX_GMC_BRUSH_8X8_MONO_FG_BG    (0    <<  4)
106
#       define R5XX_GMC_BRUSH_8X8_MONO_FG_LA    (1    <<  4)
107
#       define R5XX_GMC_BRUSH_1X8_MONO_FG_BG    (4    <<  4)
108
#       define R5XX_GMC_BRUSH_1X8_MONO_FG_LA    (5    <<  4)
109
#       define R5XX_GMC_BRUSH_32x1_MONO_FG_BG   (6    <<  4)
110
#       define R5XX_GMC_BRUSH_32x1_MONO_FG_LA   (7    <<  4)
111
#       define R5XX_GMC_BRUSH_32x32_MONO_FG_BG  (8    <<  4)
112
#       define R5XX_GMC_BRUSH_32x32_MONO_FG_LA  (9    <<  4)
113
#       define R5XX_GMC_BRUSH_8x8_COLOR         (10   <<  4)
114
#       define R5XX_GMC_BRUSH_1X8_COLOR         (12   <<  4)
115
#       define R5XX_GMC_BRUSH_SOLID_COLOR       (13   <<  4)
116
#       define R5XX_GMC_BRUSH_NONE              (15   <<  4)
117
#       define R5XX_GMC_DST_8BPP_CI             (2    <<  8)
118
#       define R5XX_GMC_DST_15BPP               (3    <<  8)
119
#       define R5XX_GMC_DST_16BPP               (4    <<  8)
120
#       define R5XX_GMC_DST_24BPP               (5    <<  8)
121
#       define R5XX_GMC_DST_32BPP               (6    <<  8)
122
#       define R5XX_GMC_DST_8BPP_RGB            (7    <<  8)
123
#       define R5XX_GMC_DST_Y8                  (8    <<  8)
124
#       define R5XX_GMC_DST_RGB8                (9    <<  8)
125
#       define R5XX_GMC_DST_VYUY                (11   <<  8)
126
#       define R5XX_GMC_DST_YVYU                (12   <<  8)
127
#       define R5XX_GMC_DST_AYUV444             (14   <<  8)
128
#       define R5XX_GMC_DST_ARGB4444            (15   <<  8)
129
#       define R5XX_GMC_DST_DATATYPE_MASK       (0x0f <<  8)
130
#       define R5XX_GMC_DST_DATATYPE_SHIFT      8
131
#       define R5XX_GMC_SRC_DATATYPE_MASK       (3    << 12)
132
#       define R5XX_GMC_SRC_DATATYPE_MONO_FG_BG (0    << 12)
133
#       define R5XX_GMC_SRC_DATATYPE_MONO_FG_LA (1    << 12)
134
#       define R5XX_GMC_SRC_DATATYPE_COLOR      (3    << 12)
135
#       define R5XX_GMC_BYTE_PIX_ORDER          (1    << 14)
136
#       define R5XX_GMC_BYTE_MSB_TO_LSB         (0    << 14)
137
#       define R5XX_GMC_BYTE_LSB_TO_MSB         (1    << 14)
138
#       define R5XX_GMC_CONVERSION_TEMP         (1    << 15)
139
#       define R5XX_GMC_CONVERSION_TEMP_6500    (0    << 15)
140
#       define R5XX_GMC_CONVERSION_TEMP_9300    (1    << 15)
141
#       define R5XX_GMC_ROP3_MASK               (0xff << 16)
142
#       define R5XX_DP_SRC_SOURCE_MASK          (7    << 24)
143
#       define R5XX_DP_SRC_SOURCE_MEMORY        (2    << 24)
144
#       define R5XX_DP_SRC_SOURCE_HOST_DATA     (3    << 24)
145
#       define R5XX_GMC_3D_FCN_EN               (1    << 27)
146
#       define R5XX_GMC_CLR_CMP_CNTL_DIS        (1    << 28)
147
#       define R5XX_GMC_AUX_CLIP_DIS            (1    << 29)
148
#       define R5XX_GMC_WR_MSK_DIS              (1    << 30)
149
#       define R5XX_GMC_LD_BRUSH_Y_X            (1    << 31)
150
#       define R5XX_ROP3_ZERO             0x00000000
151
#       define R5XX_ROP3_DSa              0x00880000
152
#       define R5XX_ROP3_SDna             0x00440000
153
#       define R5XX_ROP3_S                0x00cc0000
154
#       define R5XX_ROP3_DSna             0x00220000
155
#       define R5XX_ROP3_D                0x00aa0000
156
#       define R5XX_ROP3_DSx              0x00660000
157
#       define R5XX_ROP3_DSo              0x00ee0000
158
#       define R5XX_ROP3_DSon             0x00110000
159
#       define R5XX_ROP3_DSxn             0x00990000
160
#       define R5XX_ROP3_Dn               0x00550000
161
#       define R5XX_ROP3_SDno             0x00dd0000
162
#       define R5XX_ROP3_Sn               0x00330000
163
#       define R5XX_ROP3_DSno             0x00bb0000
164
#       define R5XX_ROP3_DSan             0x00770000
165
#       define R5XX_ROP3_ONE              0x00ff0000
166
#       define R5XX_ROP3_DPa              0x00a00000
167
#       define R5XX_ROP3_PDna             0x00500000
168
#       define R5XX_ROP3_P                0x00f00000
169
#       define R5XX_ROP3_DPna             0x000a0000
170
#       define R5XX_ROP3_D                0x00aa0000
171
#       define R5XX_ROP3_DPx              0x005a0000
172
#       define R5XX_ROP3_DPo              0x00fa0000
173
#       define R5XX_ROP3_DPon             0x00050000
174
#       define R5XX_ROP3_PDxn             0x00a50000
175
#       define R5XX_ROP3_PDno             0x00f50000
176
#       define R5XX_ROP3_Pn               0x000f0000
177
#       define R5XX_ROP3_DPno             0x00af0000
178
#       define R5XX_ROP3_DPan             0x005f0000
179
 
180
#define R5XX_BRUSH_Y_X                    0x1474
181
#define R5XX_DP_BRUSH_BKGD_CLR            0x1478
182
#define R5XX_DP_BRUSH_FRGD_CLR            0x147c
183
#define R5XX_BRUSH_DATA0                  0x1480
184
#define R5XX_BRUSH_DATA1                  0x1484
185
 
186
#define R5XX_DST_WIDTH_HEIGHT             0x1598
187
 
188
#define R5XX_CLR_CMP_CNTL                 0x15c0
189
#       define R5XX_SRC_CMP_EQ_COLOR      (4 <<  0)
190
#       define R5XX_SRC_CMP_NEQ_COLOR     (5 <<  0)
191
#       define R5XX_CLR_CMP_SRC_SOURCE    (1 << 24)
192
 
193
#define R5XX_CLR_CMP_CLR_SRC              0x15c4
194
 
195
#define R5XX_CLR_CMP_MASK                 0x15cc
196
#       define R5XX_CLR_CMP_MSK           0xffffffff
197
 
198
#define R5XX_DP_SRC_BKGD_CLR              0x15dc
199
#define R5XX_DP_SRC_FRGD_CLR              0x15d8
200
 
201
#define R5XX_DST_LINE_START               0x1600
202
#define R5XX_DST_LINE_END                 0x1604
203
#define R5XX_DST_LINE_PATCOUNT            0x1608
204
#       define R5XX_BRES_CNTL_SHIFT       8
205
 
206
#define R5XX_DP_CNTL                      0x16c0
207
#       define R5XX_DST_X_LEFT_TO_RIGHT   (1 <<  0)
208
#       define R5XX_DST_Y_TOP_TO_BOTTOM   (1 <<  1)
209
#       define R5XX_DP_DST_TILE_LINEAR    (0 <<  3)
210
#       define R5XX_DP_DST_TILE_MACRO     (1 <<  3)
211
#       define R5XX_DP_DST_TILE_MICRO     (2 <<  3)
212
#       define R5XX_DP_DST_TILE_BOTH      (3 <<  3)
213
 
214
#define R5XX_DP_DATATYPE                  0x16c4
215
#       define R5XX_HOST_BIG_ENDIAN_EN    (1 << 29)
216
 
217
#define R5XX_DP_WRITE_MASK                0x16cc
218
 
219
#define R5XX_DEFAULT_SC_BOTTOM_RIGHT      0x16e8
220
#       define R5XX_DEFAULT_SC_RIGHT_MAX  (0x1fff <<  0)
221
#       define R5XX_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16)
222
 
223
#define R5XX_SC_TOP_LEFT                  0x16ec
224
#define R5XX_SC_BOTTOM_RIGHT              0x16f0
225
#       define R5XX_SC_SIGN_MASK_LO       0x8000
226
#       define R5XX_SC_SIGN_MASK_HI       0x80000000
227
 
228
#define R5XX_RBBM_GUICNTL                 0x172c
229
#       define R5XX_HOST_DATA_SWAP_NONE   (0 << 0)
230
#       define R5XX_HOST_DATA_SWAP_16BIT  (1 << 0)
231
#       define R5XX_HOST_DATA_SWAP_32BIT  (2 << 0)
232
#       define R5XX_HOST_DATA_SWAP_HDW    (3 << 0)
233
 
234
#define R5XX_HOST_DATA0                   0x17c0
235
#define R5XX_HOST_DATA1                   0x17c4
236
#define R5XX_HOST_DATA2                   0x17c8
237
#define R5XX_HOST_DATA3                   0x17cc
238
#define R5XX_HOST_DATA4                   0x17d0
239
#define R5XX_HOST_DATA5                   0x17d4
240
#define R5XX_HOST_DATA6                   0x17d8
241
#define R5XX_HOST_DATA7                   0x17dc
242
#define R5XX_HOST_DATA_LAST               0x17e0
243
 
244
#define R5XX_RB3D_CNTL                    0x1c3c
245
#       define R5XX_ALPHA_BLEND_ENABLE       (1  <<  0)
246
#       define R5XX_PLANE_MASK_ENABLE        (1  <<  1)
247
#       define R5XX_DITHER_ENABLE            (1  <<  2)
248
#       define R5XX_ROUND_ENABLE             (1  <<  3)
249
#       define R5XX_SCALE_DITHER_ENABLE      (1  <<  4)
250
#       define R5XX_DITHER_INIT              (1  <<  5)
251
#       define R5XX_ROP_ENABLE               (1  <<  6)
252
#       define R5XX_STENCIL_ENABLE           (1  <<  7)
253
#       define R5XX_Z_ENABLE                 (1  <<  8)
254
#       define R5XX_DEPTH_XZ_OFFEST_ENABLE   (1  <<  9)
255
#       define R5XX_COLOR_FORMAT_ARGB1555    (3  << 10)
256
#       define R5XX_COLOR_FORMAT_RGB565      (4  << 10)
257
#       define R5XX_COLOR_FORMAT_ARGB8888    (6  << 10)
258
#       define R5XX_COLOR_FORMAT_RGB332      (7  << 10)
259
#       define R5XX_COLOR_FORMAT_Y8          (8  << 10)
260
#       define R5XX_COLOR_FORMAT_RGB8        (9  << 10)
261
#       define R5XX_COLOR_FORMAT_YUV422_VYUY (11 << 10)
262
#       define R5XX_COLOR_FORMAT_YUV422_YVYU (12 << 10)
263
#       define R5XX_COLOR_FORMAT_aYUV444     (14 << 10)
264
#       define R5XX_COLOR_FORMAT_ARGB4444    (15 << 10)
265
#       define R5XX_CLRCMP_FLIP_ENABLE       (1  << 14)
266
 
267
#define R5XX_RB3D_DSTCACHE_CTLSTAT        0x325C
268
#       define R5XX_RB3D_DC_FLUSH         (3 << 0)
269
#       define R5XX_RB3D_DC_FREE          (3 << 2)
270
#       define R5XX_RB3D_DC_FLUSH_ALL     0xf
271
#       define R5XX_RB3D_DC_BUSY          (1 << 31)
272
 
273
#define R5XX_RB3D_DSTCACHE_MODE           0x3258
274
# define R5XX_RB3D_DC_CACHE_ENABLE            (0)
275
# define R5XX_RB3D_DC_2D_CACHE_DISABLE        (1)
276
# define R5XX_RB3D_DC_3D_CACHE_DISABLE        (2)
277
# define R5XX_RB3D_DC_CACHE_DISABLE           (3)
278
# define R5XX_RB3D_DC_2D_CACHE_LINESIZE_128   (1 << 2)
279
# define R5XX_RB3D_DC_3D_CACHE_LINESIZE_128   (2 << 2)
280
# define R5XX_RB3D_DC_2D_CACHE_AUTOFLUSH      (1 << 8)
281
# define R5XX_RB3D_DC_3D_CACHE_AUTOFLUSH      (2 << 8)
282
# define R200_RB3D_DC_2D_CACHE_AUTOFREE       (1 << 10)
283
# define R200_RB3D_DC_3D_CACHE_AUTOFREE       (2 << 10)
284
# define R5XX_RB3D_DC_FORCE_RMW               (1 << 16)
285
# define R5XX_RB3D_DC_DISABLE_RI_FILL         (1 << 24)
286
# define R5XX_RB3D_DC_DISABLE_RI_READ         (1 << 25)
287
 
288
#endif /* _R5XX_2DREGS_H */