ark_reg.h revision 943345d3
1943345d3Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ark/ark_reg.h,v 1.1 2000/11/14 17:28:13 dawes Exp $ */
2943345d3Smrg
3943345d3Smrg#ifndef _ARK_REG_H
4943345d3Smrg#define _ARK_REG_H
5943345d3Smrg
6943345d3Smrg/* and let there be no 'u' in color */
7943345d3Smrg#define BG_COLOR		0x00
8943345d3Smrg#define FG_COLOR		0x02
9943345d3Smrg#define BG_COLOR_HI		0x04
10943345d3Smrg#define FG_COLOR_HI		0x06
11943345d3Smrg#define TRANS_COLOR		0x08
12943345d3Smrg#define TRANS_COLOR_MSK		0x0a
13943345d3Smrg#define TRANS_COLOR_HI		0x0c
14943345d3Smrg#define TRANS_COLOR_MSK_HI	0x0e
15943345d3Smrg#define COLOR_MIX_SEL		0x18
16943345d3Smrg#define WRITE_PLANEMASK		0x1a
17943345d3Smrg#define	ERROR_TERM		0x50
18943345d3Smrg#define AXIAL_ERROR_INC		0x54
19943345d3Smrg#define STENCIL_PITCH		0x60
20943345d3Smrg#define SRC_PITCH		0x62
21943345d3Smrg#define DST_PITCH		0x64
22943345d3Smrg#define STENCIL_ADDR		0x68
23943345d3Smrg#define	STENCIL_X		0x68
24943345d3Smrg#define STENCIL_Y		0x6a
25943345d3Smrg#define	SRC_ADDR		0x6c
26943345d3Smrg#define SRC_X			0x6c
27943345d3Smrg#define SRC_Y			0x6e
28943345d3Smrg#define DST_ADDR		0x70
29943345d3Smrg#define DST_X			0x70
30943345d3Smrg#define DST_Y			0x72
31943345d3Smrg#define WIDTH			0x74
32943345d3Smrg#define HEIGHT			0x76
33943345d3Smrg#define BITMAP_CONFIG		0x7c
34943345d3Smrg#define COMMAND			0x7e
35943345d3Smrg
36943345d3Smrg
37943345d3Smrg/* constants for COMMAND register */
38943345d3Smrg
39943345d3Smrg#define DRAWSTEP		0x0000
40943345d3Smrg#define LINEDRAW		0x1000
41943345d3Smrg#define BITBLT			0x2000
42943345d3Smrg#define TEXTBITBLT		0x3000
43943345d3Smrg#define USE_PLANEMASK		0x0000
44943345d3Smrg#define DISABLE_PLANEMASK	0x0800
45943345d3Smrg#define PATTERN_8X8		0x0400
46943345d3Smrg#define SELECT_BG_COLOR		0x0000
47943345d3Smrg#define BG_BITMAP		0x0200
48943345d3Smrg#define SELECT_FG_COLOR		0x0000
49943345d3Smrg#define FG_BITMAP		0x0100
50943345d3Smrg#define STENCIL_ONES		0x0000
51943345d3Smrg#define STENCIL_GENERATED	0x0040
52943345d3Smrg#define STENCIL_BITMAP		0x0080
53943345d3Smrg#define LINE_DRAWALL		0x0000
54943345d3Smrg#define LINE_SKIP_FIRST		0x0010
55943345d3Smrg#define LINE_SKIP_LAST		0x0020
56943345d3Smrg#define ENABLE_CLIPPING		0x0000
57943345d3Smrg#define DISABLE_CLIPPING	0x0008
58943345d3Smrg#undef DOWN
59943345d3Smrg#define DOWN			0x0000
60943345d3Smrg#undef UP
61943345d3Smrg#define UP			0x0002
62943345d3Smrg#define RIGHT			0x0000
63943345d3Smrg#define LEFT			0x0004
64943345d3Smrg#define DX_GREATER_THAN_DY	0x0000
65943345d3Smrg#define DY_GREATER_THAN_DX	0x0001
66943345d3Smrg
67943345d3Smrg
68943345d3Smrg/* constants for bitmap config register */
69943345d3Smrg
70943345d3Smrg#define SWAP_NIBLES		0x2000
71943345d3Smrg#define SWAP_BITS		0x1000
72943345d3Smrg#define SYSTEM_STENCIL		0x0200
73943345d3Smrg#define LINEAR_STENCIL_ADDR	0x0100
74943345d3Smrg#define SYSTEM_SRC		0x0020
75943345d3Smrg#define LINEAR_SRC_ADDR		0x0010
76943345d3Smrg#define SYSTEM_DST		0x0002
77943345d3Smrg#define LINEAR_DST_ADDR		0x0001
78943345d3Smrg
79943345d3Smrg
80943345d3Smrg/* IO macros */
81943345d3Smrg
82943345d3Smrg#define OUTREG16(offset, value)	\
83943345d3Smrg	*(volatile unsigned short *)(pARK->MMIOBase + offset) = value
84943345d3Smrg#define OUTREG(offset, value) \
85943345d3Smrg	*(volatile unsigned int *)(pARK->MMIOBase + offset) = value
86943345d3Smrg
87943345d3Smrg
88943345d3Smrg#endif /* _ARK_REG_H */
89