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
26692f60a7Smrg/*
27692f60a7Smrg * The original Precision Insight driver for
28692f60a7Smrg * XFree86 v.3.3 has been sponsored by Red Hat.
29692f60a7Smrg *
30692f60a7Smrg * Authors:
31692f60a7Smrg *   Jens Owen (jens@tungstengraphics.com)
32692f60a7Smrg *   Kevin E. Martin (kevin@precisioninsight.com)
33692f60a7Smrg *
34692f60a7Smrg * Port to Xfree86 v.4.0
35692f60a7Smrg *   1998, 1999 by Egbert Eich (Egbert.Eich@Physik.TU-Darmstadt.DE)
36692f60a7Smrg */
37692f60a7Smrg
38692f60a7Smrg#define NEOREG_BLTSTAT		0x00
39692f60a7Smrg#define NEOREG_BLTCNTL		0x04
40692f60a7Smrg#define NEOREG_XPCOLOR		0x08
41692f60a7Smrg#define NEOREG_FGCOLOR		0x0c
42692f60a7Smrg#define NEOREG_BGCOLOR		0x10
43692f60a7Smrg#define NEOREG_PITCH		0x14
44692f60a7Smrg#define NEOREG_CLIPLT           0x18
45692f60a7Smrg#define NEOREG_CLIPRB           0x1c
46692f60a7Smrg#define NEOREG_SRCBITOFF        0x20
47692f60a7Smrg#define NEOREG_SRCSTARTOFF      0x24
48692f60a7Smrg#define NEOREG_DSTSTARTOFF      0x2c
49692f60a7Smrg#define NEOREG_XYEXT            0x30
50692f60a7Smrg#define NEOREG_PAGECNTL         0x80
51692f60a7Smrg#define NEOREG_PAGEBASE         0x84
52692f60a7Smrg#define NEOREG_POSTBASE         0x88
53692f60a7Smrg#define NEOREG_POSTPTR          0x8c
54692f60a7Smrg#define NEOREG_DATAPTR          0x90
55692f60a7Smrg#define NEOREG_BLTMODE          0x02
56692f60a7Smrg
57692f60a7Smrg#define NEO_BS0_BLT_BUSY        0x00000001
58692f60a7Smrg#define NEO_BS0_FIFO_AVAIL      0x00000002
59692f60a7Smrg#define NEO_BS0_FIFO_PEND       0x00000004
60692f60a7Smrg
61692f60a7Smrg#define NEO_BC0_DST_Y_DEC       0x00000001
62692f60a7Smrg#define NEO_BC0_X_DEC           0x00000002
63692f60a7Smrg#define NEO_BC0_SRC_TRANS       0x00000004
64692f60a7Smrg#define NEO_BC0_SRC_IS_FG       0x00000008
65692f60a7Smrg#define NEO_BC0_SRC_Y_DEC       0x00000010
66692f60a7Smrg#define NEO_BC0_FILL_PAT        0x00000020
67692f60a7Smrg#define NEO_BC0_SRC_MONO        0x00000040
68692f60a7Smrg#define NEO_BC0_SYS_TO_VID      0x00000080
69692f60a7Smrg
70692f60a7Smrg#define NEO_BC1_DEPTH8          0x00000100
71692f60a7Smrg#define NEO_BC1_DEPTH16         0x00000200
72692f60a7Smrg#define NEO_BC1_X_320           0x00000400
73692f60a7Smrg#define NEO_BC1_X_640           0x00000800
74692f60a7Smrg#define NEO_BC1_X_800           0x00000c00
75692f60a7Smrg#define NEO_BC1_X_1024          0x00001000
76692f60a7Smrg#define NEO_BC1_X_1152          0x00001400
77692f60a7Smrg#define NEO_BC1_X_1280          0x00001800
78692f60a7Smrg#define NEO_BC1_X_1600          0x00001c00
79692f60a7Smrg#define NEO_BC1_DST_TRANS       0x00002000
80692f60a7Smrg#define NEO_BC1_MSTR_BLT        0x00004000
81692f60a7Smrg#define NEO_BC1_FILTER_Z        0x00008000
82692f60a7Smrg
83692f60a7Smrg#define NEO_BC2_WR_TR_DST       0x00800000
84692f60a7Smrg
85692f60a7Smrg#define NEO_BC3_SRC_XY_ADDR     0x01000000
86692f60a7Smrg#define NEO_BC3_DST_XY_ADDR     0x02000000
87692f60a7Smrg#define NEO_BC3_CLIP_ON         0x04000000
88692f60a7Smrg#define NEO_BC3_FIFO_EN         0x08000000
89692f60a7Smrg#define NEO_BC3_BLT_ON_ADDR     0x10000000
90692f60a7Smrg#define NEO_BC3_SKIP_MAPPING    0x80000000
91692f60a7Smrg
92692f60a7Smrg#define NEO_MODE1_DEPTH8        0x0100
93692f60a7Smrg#define NEO_MODE1_DEPTH16       0x0200
94692f60a7Smrg#define NEO_MODE1_DEPTH24       0x0300
95692f60a7Smrg#define NEO_MODE1_X_320         0x0400
96692f60a7Smrg#define NEO_MODE1_X_640         0x0800
97692f60a7Smrg#define NEO_MODE1_X_800         0x0c00
98692f60a7Smrg#define NEO_MODE1_X_1024        0x1000
99692f60a7Smrg#define NEO_MODE1_X_1152        0x1400
100692f60a7Smrg#define NEO_MODE1_X_1280        0x1800
101692f60a7Smrg#define NEO_MODE1_X_1600        0x1c00
102692f60a7Smrg#define NEO_MODE1_BLT_ON_ADDR   0x2000
103692f60a7Smrg
104692f60a7Smrg#define NEOREG_CURSCNTL         (nPtr->NeoCursorOffset + 0x00)
105692f60a7Smrg#define NEOREG_CURSX            (nPtr->NeoCursorOffset + 0x04)
106692f60a7Smrg#define NEOREG_CURSY            (nPtr->NeoCursorOffset + 0x08)
107692f60a7Smrg#define NEOREG_CURSBGCOLOR      (nPtr->NeoCursorOffset + 0x0c)
108692f60a7Smrg#define NEOREG_CURSFGCOLOR      (nPtr->NeoCursorOffset + 0x10)
109692f60a7Smrg#define NEOREG_CURSMEMPOS       (nPtr->NeoCursorOffset + 0x14)
110692f60a7Smrg
111692f60a7Smrg#define NEO_CURS_DISABLE        0x00000000
112692f60a7Smrg#define NEO_CURS_ENABLE         0x00000001
113692f60a7Smrg#define NEO_ICON64_ENABLE       0x00000008
114692f60a7Smrg#define NEO_ICON128_ENABLE      0x0000000c
115692f60a7Smrg#define NEO_ICON_BLANK          0x00000010
116692f60a7Smrg
117