/* $XFree86: xc/programs/Xserver/hw/xfree86/vga256/drivers/neo/neo_reg.h,v 1.1.2.3 1998/10/01 12:19:44 hohndel Exp $ */
/**********************************************************************
Copyright 1998 by Precision Insight, Inc., Cedar Park, Texas.

                        All Rights Reserved

Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Precision Insight not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.  Precision Insight
and its suppliers make no representations about the suitability of this
software for any purpose.  It is provided "as is" without express or 
implied warranty.

PRECISION INSIGHT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
**********************************************************************/

/*
 * This Precision Insight driver has been sponsored by Red Hat.
 *
 * Authors:
 *   Jens Owen (jens@precisioninsight.com)
 *   Kevin E. Martin (kevin@precisioninsight.com)
 */

#define NEOREG_BLTSTAT		0x00
#define NEOREG_BLTCNTL		0x04
#define NEOREG_XPCOLOR		0x08
#define NEOREG_FGCOLOR		0x0c
#define NEOREG_BGCOLOR		0x10
#define NEOREG_PITCH		0x14
#define NEOREG_CLIPLT           0x18
#define NEOREG_CLIPRB           0x1c
#define NEOREG_SRCBITOFF        0x20
#define NEOREG_SRCSTARTOFF      0x24
#define NEOREG_DSTSTARTOFF      0x2c
#define NEOREG_XYEXT            0x30
#define NEOREG_PAGECNTL         0x80
#define NEOREG_PAGEBASE         0x84
#define NEOREG_POSTBASE         0x88
#define NEOREG_POSTPTR          0x8c
#define NEOREG_DATAPTR          0x90

#define NEOREG_BLTMODE          0x02

#define NEO_BS0_BLT_BUSY        0x00000001
#define NEO_BS0_FIFO_AVAIL      0x00000002
#define NEO_BS0_FIFO_PEND       0x00000004

#define NEO_BC0_DST_Y_DEC       0x00000001
#define NEO_BC0_X_DEC           0x00000002
#define NEO_BC0_SRC_TRANS       0x00000004
#define NEO_BC0_SRC_IS_FG       0x00000008
#define NEO_BC0_SRC_Y_DEC       0x00000010
#define NEO_BC0_FILL_PAT        0x00000020
#define NEO_BC0_SRC_MONO        0x00000040
#define NEO_BC0_SYS_TO_VID      0x00000080

#define NEO_BC1_DEPTH8          0x00000100
#define NEO_BC1_DEPTH16         0x00000200
#define NEO_BC1_X_320           0x00000400
#define NEO_BC1_X_640           0x00000800
#define NEO_BC1_X_800           0x00000c00
#define NEO_BC1_X_1024          0x00001000
#define NEO_BC1_X_1152          0x00001400
#define NEO_BC1_X_1280          0x00001800
#define NEO_BC1_X_1600          0x00001c00
#define NEO_BC1_DST_TRANS       0x00002000
#define NEO_BC1_MSTR_BLT        0x00004000
#define NEO_BC1_FILTER_Z        0x00008000

#define NEO_BC2_WR_TR_DST       0x00800000

#define NEO_BC3_SRC_XY_ADDR     0x01000000
#define NEO_BC3_DST_XY_ADDR     0x02000000
#define NEO_BC3_CLIP_ON         0x04000000
#define NEO_BC3_FIFO_EN         0x08000000
#define NEO_BC3_BLT_ON_ADDR     0x10000000
#define NEO_BC3_SKIP_MAPPING    0x80000000

#define NEO_MODE1_DEPTH8        0x0100
#define NEO_MODE1_DEPTH16       0x0200
#define NEO_MODE1_DEPTH24       0x0300
#define NEO_MODE1_X_320         0x0400
#define NEO_MODE1_X_640         0x0800
#define NEO_MODE1_X_800         0x0c00
#define NEO_MODE1_X_1024        0x1000
#define NEO_MODE1_X_1152        0x1400
#define NEO_MODE1_X_1280        0x1800
#define NEO_MODE1_X_1600        0x1c00
#define NEO_MODE1_BLT_ON_ADDR   0x2000

#define NEOREG_CURSCNTL         (NeoCursorOffset + 0x00)
#define NEOREG_CURSX            (NeoCursorOffset + 0x04)
#define NEOREG_CURSY            (NeoCursorOffset + 0x08)
#define NEOREG_CURSBGCOLOR      (NeoCursorOffset + 0x0c)
#define NEOREG_CURSFGCOLOR      (NeoCursorOffset + 0x10)
#define NEOREG_CURSMEMPOS       (NeoCursorOffset + 0x14)

#define NEO_CURS_DISABLE        0x00000000
#define NEO_CURS_ENABLE         0x00000001
#define NEO_ICON64_ENABLE       0x00000008
#define NEO_ICON128_ENABLE      0x0000000c
#define NEO_ICON_BLANK          0x00000010

