neo_reg.h revision 692f60a7
1692f60a7Smrg/**********************************************************************
2692f60a7SmrgCopyright 1998, 1999 by Precision Insight, Inc., Cedar Park, Texas.
3692f60a7Smrg
4692f60a7Smrg                        All Rights Reserved
5692f60a7Smrg
6692f60a7SmrgPermission to use, copy, modify, distribute, and sell this software and
7692f60a7Smrgits documentation for any purpose is hereby granted without fee,
8692f60a7Smrgprovided that the above copyright notice appear in all copies and that
9692f60a7Smrgboth that copyright notice and this permission notice appear in
10692f60a7Smrgsupporting documentation, and that the name of Precision Insight not be
11692f60a7Smrgused in advertising or publicity pertaining to distribution of the
12692f60a7Smrgsoftware without specific, written prior permission.  Precision Insight
13692f60a7Smrgand its suppliers make no representations about the suitability of this
14692f60a7Smrgsoftware for any purpose.  It is provided "as is" without express or
15692f60a7Smrgimplied warranty.
16692f60a7Smrg
17692f60a7SmrgPRECISION INSIGHT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
18692f60a7SmrgINCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
19692f60a7SmrgEVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY
20692f60a7SmrgSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
21692f60a7SmrgRESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
22692f60a7SmrgCONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
23692f60a7SmrgCONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24692f60a7Smrg**********************************************************************/
25692f60a7Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_reg.h,v 1.1 1999/04/17 07:06:29 dawes Exp $ */
26692f60a7Smrg
27692f60a7Smrg/*
28692f60a7Smrg * The original Precision Insight driver for
29692f60a7Smrg * XFree86 v.3.3 has been sponsored by Red Hat.
30692f60a7Smrg *
31692f60a7Smrg * Authors:
32692f60a7Smrg *   Jens Owen (jens@tungstengraphics.com)
33692f60a7Smrg *   Kevin E. Martin (kevin@precisioninsight.com)
34692f60a7Smrg *
35692f60a7Smrg * Port to Xfree86 v.4.0
36692f60a7Smrg *   1998, 1999 by Egbert Eich (Egbert.Eich@Physik.TU-Darmstadt.DE)
37692f60a7Smrg */
38692f60a7Smrg
39692f60a7Smrg#define NEOREG_BLTSTAT		0x00
40692f60a7Smrg#define NEOREG_BLTCNTL		0x04
41692f60a7Smrg#define NEOREG_XPCOLOR		0x08
42692f60a7Smrg#define NEOREG_FGCOLOR		0x0c
43692f60a7Smrg#define NEOREG_BGCOLOR		0x10
44692f60a7Smrg#define NEOREG_PITCH		0x14
45692f60a7Smrg#define NEOREG_CLIPLT           0x18
46692f60a7Smrg#define NEOREG_CLIPRB           0x1c
47692f60a7Smrg#define NEOREG_SRCBITOFF        0x20
48692f60a7Smrg#define NEOREG_SRCSTARTOFF      0x24
49692f60a7Smrg#define NEOREG_DSTSTARTOFF      0x2c
50692f60a7Smrg#define NEOREG_XYEXT            0x30
51692f60a7Smrg#define NEOREG_PAGECNTL         0x80
52692f60a7Smrg#define NEOREG_PAGEBASE         0x84
53692f60a7Smrg#define NEOREG_POSTBASE         0x88
54692f60a7Smrg#define NEOREG_POSTPTR          0x8c
55692f60a7Smrg#define NEOREG_DATAPTR          0x90
56692f60a7Smrg#define NEOREG_BLTMODE          0x02
57692f60a7Smrg
58692f60a7Smrg#define NEO_BS0_BLT_BUSY        0x00000001
59692f60a7Smrg#define NEO_BS0_FIFO_AVAIL      0x00000002
60692f60a7Smrg#define NEO_BS0_FIFO_PEND       0x00000004
61692f60a7Smrg
62692f60a7Smrg#define NEO_BC0_DST_Y_DEC       0x00000001
63692f60a7Smrg#define NEO_BC0_X_DEC           0x00000002
64692f60a7Smrg#define NEO_BC0_SRC_TRANS       0x00000004
65692f60a7Smrg#define NEO_BC0_SRC_IS_FG       0x00000008
66692f60a7Smrg#define NEO_BC0_SRC_Y_DEC       0x00000010
67692f60a7Smrg#define NEO_BC0_FILL_PAT        0x00000020
68692f60a7Smrg#define NEO_BC0_SRC_MONO        0x00000040
69692f60a7Smrg#define NEO_BC0_SYS_TO_VID      0x00000080
70692f60a7Smrg
71692f60a7Smrg#define NEO_BC1_DEPTH8          0x00000100
72692f60a7Smrg#define NEO_BC1_DEPTH16         0x00000200
73692f60a7Smrg#define NEO_BC1_X_320           0x00000400
74692f60a7Smrg#define NEO_BC1_X_640           0x00000800
75692f60a7Smrg#define NEO_BC1_X_800           0x00000c00
76692f60a7Smrg#define NEO_BC1_X_1024          0x00001000
77692f60a7Smrg#define NEO_BC1_X_1152          0x00001400
78692f60a7Smrg#define NEO_BC1_X_1280          0x00001800
79692f60a7Smrg#define NEO_BC1_X_1600          0x00001c00
80692f60a7Smrg#define NEO_BC1_DST_TRANS       0x00002000
81692f60a7Smrg#define NEO_BC1_MSTR_BLT        0x00004000
82692f60a7Smrg#define NEO_BC1_FILTER_Z        0x00008000
83692f60a7Smrg
84692f60a7Smrg#define NEO_BC2_WR_TR_DST       0x00800000
85692f60a7Smrg
86692f60a7Smrg#define NEO_BC3_SRC_XY_ADDR     0x01000000
87692f60a7Smrg#define NEO_BC3_DST_XY_ADDR     0x02000000
88692f60a7Smrg#define NEO_BC3_CLIP_ON         0x04000000
89692f60a7Smrg#define NEO_BC3_FIFO_EN         0x08000000
90692f60a7Smrg#define NEO_BC3_BLT_ON_ADDR     0x10000000
91692f60a7Smrg#define NEO_BC3_SKIP_MAPPING    0x80000000
92692f60a7Smrg
93692f60a7Smrg#define NEO_MODE1_DEPTH8        0x0100
94692f60a7Smrg#define NEO_MODE1_DEPTH16       0x0200
95692f60a7Smrg#define NEO_MODE1_DEPTH24       0x0300
96692f60a7Smrg#define NEO_MODE1_X_320         0x0400
97692f60a7Smrg#define NEO_MODE1_X_640         0x0800
98692f60a7Smrg#define NEO_MODE1_X_800         0x0c00
99692f60a7Smrg#define NEO_MODE1_X_1024        0x1000
100692f60a7Smrg#define NEO_MODE1_X_1152        0x1400
101692f60a7Smrg#define NEO_MODE1_X_1280        0x1800
102692f60a7Smrg#define NEO_MODE1_X_1600        0x1c00
103692f60a7Smrg#define NEO_MODE1_BLT_ON_ADDR   0x2000
104692f60a7Smrg
105692f60a7Smrg#define NEOREG_CURSCNTL         (nPtr->NeoCursorOffset + 0x00)
106692f60a7Smrg#define NEOREG_CURSX            (nPtr->NeoCursorOffset + 0x04)
107692f60a7Smrg#define NEOREG_CURSY            (nPtr->NeoCursorOffset + 0x08)
108692f60a7Smrg#define NEOREG_CURSBGCOLOR      (nPtr->NeoCursorOffset + 0x0c)
109692f60a7Smrg#define NEOREG_CURSFGCOLOR      (nPtr->NeoCursorOffset + 0x10)
110692f60a7Smrg#define NEOREG_CURSMEMPOS       (nPtr->NeoCursorOffset + 0x14)
111692f60a7Smrg
112692f60a7Smrg#define NEO_CURS_DISABLE        0x00000000
113692f60a7Smrg#define NEO_CURS_ENABLE         0x00000001
114692f60a7Smrg#define NEO_ICON64_ENABLE       0x00000008
115692f60a7Smrg#define NEO_ICON128_ENABLE      0x0000000c
116692f60a7Smrg#define NEO_ICON_BLANK          0x00000010
117692f60a7Smrg
118