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