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