xref: /openbmc/linux/arch/parisc/include/asm/grfioctl.h (revision deae26bf)
1deae26bfSKyle McMartin /*  Architecture specific parts of HP's STI (framebuffer) driver.
2deae26bfSKyle McMartin  *  Structures are HP-UX compatible for XFree86 usage.
3deae26bfSKyle McMartin  *
4deae26bfSKyle McMartin  *    Linux/PA-RISC Project (http://www.parisc-linux.org/)
5deae26bfSKyle McMartin  *    Copyright (C) 2001 Helge Deller (deller a parisc-linux org)
6deae26bfSKyle McMartin  *
7deae26bfSKyle McMartin  *    This program is free software; you can redistribute it and/or modify
8deae26bfSKyle McMartin  *    it under the terms of the GNU General Public License as published by
9deae26bfSKyle McMartin  *    the Free Software Foundation; either version 2 of the License, or
10deae26bfSKyle McMartin  *    (at your option) any later version.
11deae26bfSKyle McMartin  *
12deae26bfSKyle McMartin  *    This program is distributed in the hope that it will be useful,
13deae26bfSKyle McMartin  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
14deae26bfSKyle McMartin  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15deae26bfSKyle McMartin  *    GNU General Public License for more details.
16deae26bfSKyle McMartin  *
17deae26bfSKyle McMartin  *    You should have received a copy of the GNU General Public License
18deae26bfSKyle McMartin  *    along with this program; if not, write to the Free Software
19deae26bfSKyle McMartin  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20deae26bfSKyle McMartin  */
21deae26bfSKyle McMartin 
22deae26bfSKyle McMartin #ifndef __ASM_PARISC_GRFIOCTL_H
23deae26bfSKyle McMartin #define __ASM_PARISC_GRFIOCTL_H
24deae26bfSKyle McMartin 
25deae26bfSKyle McMartin /* upper 32 bits of graphics id (HP/UX identifier) */
26deae26bfSKyle McMartin 
27deae26bfSKyle McMartin #define GRFGATOR		8
28deae26bfSKyle McMartin #define S9000_ID_S300		9
29deae26bfSKyle McMartin #define GRFBOBCAT		9
30deae26bfSKyle McMartin #define	GRFCATSEYE		9
31deae26bfSKyle McMartin #define S9000_ID_98720		10
32deae26bfSKyle McMartin #define GRFRBOX			10
33deae26bfSKyle McMartin #define S9000_ID_98550		11
34deae26bfSKyle McMartin #define GRFFIREEYE		11
35deae26bfSKyle McMartin #define S9000_ID_A1096A		12
36deae26bfSKyle McMartin #define GRFHYPERION		12
37deae26bfSKyle McMartin #define S9000_ID_FRI		13
38deae26bfSKyle McMartin #define S9000_ID_98730		14
39deae26bfSKyle McMartin #define GRFDAVINCI		14
40deae26bfSKyle McMartin #define S9000_ID_98705		0x26C08070	/* Tigershark */
41deae26bfSKyle McMartin #define S9000_ID_98736		0x26D148AB
42deae26bfSKyle McMartin #define S9000_ID_A1659A		0x26D1482A	/* CRX 8 plane color (=ELK) */
43deae26bfSKyle McMartin #define S9000_ID_ELK		S9000_ID_A1659A
44deae26bfSKyle McMartin #define S9000_ID_A1439A		0x26D148EE	/* CRX24 = CRX+ (24-plane color) */
45deae26bfSKyle McMartin #define S9000_ID_A1924A		0x26D1488C	/* GRX gray-scale */
46deae26bfSKyle McMartin #define S9000_ID_ELM		S9000_ID_A1924A
47deae26bfSKyle McMartin #define S9000_ID_98765		0x27480DEF
48deae26bfSKyle McMartin #define S9000_ID_ELK_768	0x27482101
49deae26bfSKyle McMartin #define S9000_ID_STINGER	0x27A4A402
50deae26bfSKyle McMartin #define S9000_ID_TIMBER		0x27F12392	/* Bushmaster (710) Graphics */
51deae26bfSKyle McMartin #define S9000_ID_TOMCAT		0x27FCCB6D	/* dual-headed ELK (Dual CRX) */
52deae26bfSKyle McMartin #define S9000_ID_ARTIST		0x2B4DED6D	/* Artist (Gecko/712 & 715) onboard Graphics */
53deae26bfSKyle McMartin #define S9000_ID_HCRX		0x2BCB015A	/* Hyperdrive/Hyperbowl (A4071A) Graphics */
54deae26bfSKyle McMartin #define CRX24_OVERLAY_PLANES	0x920825AA	/* Overlay planes on CRX24 */
55deae26bfSKyle McMartin 
56deae26bfSKyle McMartin #define CRT_ID_ELK_1024		S9000_ID_ELK_768 /* Elk 1024x768  CRX */
57deae26bfSKyle McMartin #define CRT_ID_ELK_1280		S9000_ID_A1659A	/* Elk 1280x1024 CRX */
58deae26bfSKyle McMartin #define CRT_ID_ELK_1024DB	0x27849CA5      /* Elk 1024x768 double buffer */
59deae26bfSKyle McMartin #define CRT_ID_ELK_GS		S9000_ID_A1924A	/* Elk 1280x1024 GreyScale    */
60deae26bfSKyle McMartin #define CRT_ID_CRX24		S9000_ID_A1439A	/* Piranha */
61deae26bfSKyle McMartin #define CRT_ID_VISUALIZE_EG	0x2D08C0A7      /* Graffiti, A4450A (built-in B132+/B160L) */
62deae26bfSKyle McMartin #define CRT_ID_THUNDER		0x2F23E5FC      /* Thunder 1 VISUALIZE 48*/
63deae26bfSKyle McMartin #define CRT_ID_THUNDER2		0x2F8D570E      /* Thunder 2 VISUALIZE 48 XP*/
64deae26bfSKyle McMartin #define CRT_ID_HCRX		S9000_ID_HCRX	/* Hyperdrive HCRX */
65deae26bfSKyle McMartin #define CRT_ID_CRX48Z		S9000_ID_STINGER /* Stinger */
66deae26bfSKyle McMartin #define CRT_ID_DUAL_CRX		S9000_ID_TOMCAT	/* Tomcat */
67deae26bfSKyle McMartin #define CRT_ID_PVRX		S9000_ID_98705	/* Tigershark */
68deae26bfSKyle McMartin #define CRT_ID_TIMBER		S9000_ID_TIMBER	/* Timber (710 builtin) */
69deae26bfSKyle McMartin #define CRT_ID_TVRX		S9000_ID_98765	/* TVRX (gto/falcon) */
70deae26bfSKyle McMartin #define CRT_ID_ARTIST		S9000_ID_ARTIST	/* Artist */
71deae26bfSKyle McMartin #define CRT_ID_SUMMIT		0x2FC1066B      /* Summit FX2, FX4, FX6 ... */
72deae26bfSKyle McMartin #define CRT_ID_LEGO		0x35ACDA30	/* Lego FX5, FX10 ... */
73deae26bfSKyle McMartin #define CRT_ID_PINNACLE		0x35ACDA16	/* Pinnacle FXe */
74deae26bfSKyle McMartin 
75deae26bfSKyle McMartin /* structure for ioctl(GCDESCRIBE) */
76deae26bfSKyle McMartin 
77deae26bfSKyle McMartin #define gaddr_t unsigned long	/* FIXME: PA2.0 (64bit) portable ? */
78deae26bfSKyle McMartin 
79deae26bfSKyle McMartin struct	grf_fbinfo {
80deae26bfSKyle McMartin 	unsigned int	id;		/* upper 32 bits of graphics id */
81deae26bfSKyle McMartin 	unsigned int	mapsize;	/* mapped size of framebuffer */
82deae26bfSKyle McMartin 	unsigned int	dwidth, dlength;/* x and y sizes */
83deae26bfSKyle McMartin 	unsigned int	width, length;	/* total x and total y size */
84deae26bfSKyle McMartin 	unsigned int	xlen;		/* x pitch size */
85deae26bfSKyle McMartin 	unsigned int	bpp, bppu;	/* bits per pixel and used bpp */
86deae26bfSKyle McMartin 	unsigned int	npl, nplbytes;	/* # of planes and bytes per plane */
87deae26bfSKyle McMartin 	char		name[32];	/* name of the device (from ROM) */
88deae26bfSKyle McMartin 	unsigned int	attr;		/* attributes */
89deae26bfSKyle McMartin 	gaddr_t 	fbbase, regbase;/* framebuffer and register base addr */
90deae26bfSKyle McMartin 	gaddr_t		regions[6];	/* region bases */
91deae26bfSKyle McMartin };
92deae26bfSKyle McMartin 
93deae26bfSKyle McMartin #define	GCID		_IOR('G', 0, int)
94deae26bfSKyle McMartin #define	GCON		_IO('G', 1)
95deae26bfSKyle McMartin #define	GCOFF		_IO('G', 2)
96deae26bfSKyle McMartin #define	GCAON		_IO('G', 3)
97deae26bfSKyle McMartin #define	GCAOFF		_IO('G', 4)
98deae26bfSKyle McMartin #define	GCMAP		_IOWR('G', 5, int)
99deae26bfSKyle McMartin #define	GCUNMAP		_IOWR('G', 6, int)
100deae26bfSKyle McMartin #define	GCMAP_HPUX	_IO('G', 5)
101deae26bfSKyle McMartin #define	GCUNMAP_HPUX	_IO('G', 6)
102deae26bfSKyle McMartin #define	GCLOCK		_IO('G', 7)
103deae26bfSKyle McMartin #define	GCUNLOCK	_IO('G', 8)
104deae26bfSKyle McMartin #define	GCLOCK_MINIMUM	_IO('G', 9)
105deae26bfSKyle McMartin #define	GCUNLOCK_MINIMUM _IO('G', 10)
106deae26bfSKyle McMartin #define	GCSTATIC_CMAP	_IO('G', 11)
107deae26bfSKyle McMartin #define	GCVARIABLE_CMAP _IO('G', 12)
108deae26bfSKyle McMartin #define GCTERM		_IOWR('G',20,int)	/* multi-headed Tomcat */
109deae26bfSKyle McMartin #define GCDESCRIBE	_IOR('G', 21, struct grf_fbinfo)
110deae26bfSKyle McMartin #define GCFASTLOCK	_IO('G', 26)
111deae26bfSKyle McMartin 
112deae26bfSKyle McMartin #endif /* __ASM_PARISC_GRFIOCTL_H */
113deae26bfSKyle McMartin 
114