1/*
2 * Architecture specific parts of HP's STI (framebuffer) driver
3 * structures are HP-UX compatible for XFree86 usage
4 */
5
6#ifndef __ASM_PARISC_GRFIOCTL_H
7#define __ASM_PARISC_GRFIOCTL_H
8
9/* upper 32 bits of graphics id (HP/UX identifier) */
10
11#define GRFGATOR		8
12#define S9000_ID_S300		9
13#define GRFBOBCAT		9
14#define	GRFCATSEYE		9
15#define S9000_ID_98720		10
16#define GRFRBOX			10
17#define S9000_ID_98550		11
18#define GRFFIREEYE		11
19#define S9000_ID_A1096A		12
20#define GRFHYPERION		12
21#define S9000_ID_FRI		13
22#define S9000_ID_98730		14
23#define GRFDAVINCI		14
24#define S9000_ID_98705		0x26C08070	/* Tigershark */
25#define S9000_ID_98736		0x26D148AB
26#define S9000_ID_A1659A		0x26D1482A	/* CRX 8 plane color (=ELK) */
27#define S9000_ID_ELK		S9000_ID_A1659A
28#define S9000_ID_A1439A		0x26D148EE	/* CRX24 = CRX+ (24-plane color) */
29#define S9000_ID_A1924A		0x26D1488C	/* GRX gray-scale */
30#define S9000_ID_ELM		S9000_ID_A1924A
31#define S9000_ID_98765		0x27480DEF
32#define S9000_ID_ELK_768	0x27482101
33#define S9000_ID_STINGER	0x27A4A402
34#define S9000_ID_TIMBER		0x27F12392	/* Bushmaster (710) Graphics */
35#define S9000_ID_TOMCAT		0x27FCCB6D	/* dual-headed ELK (Dual CRX) */
36#define S9000_ID_ARTIST		0x2B4DED6D	/* Artist (Gecko/712 & 715) onboard Graphics */
37#define S9000_ID_HCRX		0x2BCB015A	/* Hyperdrive/Hyperbowl (A4071A) Graphics */
38#define CRX24_OVERLAY_PLANES	0x920825AA	/* Overlay planes on CRX24 */
39
40#define CRT_ID_ELK_1024		S9000_ID_ELK_768 /* Elk 1024x768  CRX */
41#define CRT_ID_ELK_1280		S9000_ID_A1659A	/* Elk 1280x1024 CRX */
42#define CRT_ID_ELK_1024DB	0x27849CA5      /* Elk 1024x768 double buffer */
43#define CRT_ID_ELK_GS		S9000_ID_A1924A	/* Elk 1280x1024 GreyScale    */
44#define CRT_ID_CRX24		S9000_ID_A1439A	/* Piranha */
45#define CRT_ID_VISUALIZE_EG	0x2D08C0A7      /* Graffiti (built-in B132+/B160L) */
46#define CRT_ID_THUNDER		0x2F23E5FC      /* Thunder 1 VISUALIZE 48*/
47#define CRT_ID_THUNDER2		0x2F8D570E      /* Thunder 2 VISUALIZE 48 XP*/
48#define CRT_ID_HCRX		S9000_ID_HCRX	/* Hyperdrive HCRX */
49#define CRT_ID_CRX48Z		S9000_ID_STINGER /* Stinger */
50#define CRT_ID_DUAL_CRX		S9000_ID_TOMCAT	/* Tomcat */
51#define CRT_ID_PVRX		S9000_ID_98705	/* Tigershark */
52#define CRT_ID_TIMBER		S9000_ID_TIMBER	/* Timber (710 builtin) */
53#define CRT_ID_TVRX		S9000_ID_98765	/* TVRX (gto/falcon) */
54#define CRT_ID_ARTIST		S9000_ID_ARTIST	/* Artist */
55#define CRT_ID_SUMMIT		0x2FC1066B      /* Summit FX2, FX4, FX6 ... */
56
57/* structure for ioctl(GCDESCRIBE) */
58
59#define gaddr_t unsigned long
60
61struct	grf_fbinfo {
62	unsigned int	id;		/* upper 32 bits of graphics id */
63	unsigned int	mapsize;	/* mapped size of framebuffer */
64	unsigned int	dwidth, dlength;/* x and y sizes */
65	unsigned int	width, length;	/* total x and total y size */
66	unsigned int	xlen;		/* x pitch size */
67	unsigned int	bpp, bppu;	/* bits per pixel and used bpp */
68	unsigned int	npl, nplbytes;	/* # of planes and bytes per plane */
69	char		name[32];	/* name of the device (from ROM) */
70	unsigned int	attr;		/* attributes */
71	gaddr_t 	fbbase, regbase;/* framebuffer and register base addr */
72	gaddr_t		regions[6];	/* region bases */
73};
74
75#define	GCID		_IOR('G', 0, int)
76#define	GCON		_IO('G', 1)
77#define	GCOFF		_IO('G', 2)
78#define	GCAON		_IO('G', 3)
79#define	GCAOFF		_IO('G', 4)
80#define	GCMAP		_IOWR('G', 5, int)
81#define	GCUNMAP		_IOWR('G', 6, int)
82#define	GCMAP_HPUX	_IO('G', 5)
83#define	GCUNMAP_HPUX	_IO('G', 6)
84#define	GCLOCK		_IO('G', 7)
85#define	GCUNLOCK	_IO('G', 8)
86#define	GCLOCK_MINIMUM	_IO('G', 9)
87#define	GCUNLOCK_MINIMUM _IO('G', 10)
88#define	GCSTATIC_CMAP	_IO('G', 11)
89#define	GCVARIABLE_CMAP _IO('G', 12)
90#define GCTERM		_IOWR('G',20,int)	/* multi-headed Tomcat */
91#define GCDESCRIBE	_IOR('G', 21, struct grf_fbinfo)
92#define GCFASTLOCK	_IO('G', 26)
93
94#endif /* __ASM_PARISC_GRFIOCTL_H */
95
96