Merge branch 'linus' into sched/core
[linux-2.6] / arch / parisc / include / asm / grfioctl.h
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)
6  *
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.
11  *
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.
16  *
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
20  */
21
22 #ifndef __ASM_PARISC_GRFIOCTL_H
23 #define __ASM_PARISC_GRFIOCTL_H
24
25 /* upper 32 bits of graphics id (HP/UX identifier) */
26
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 */
55
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 */ 
74
75 /* structure for ioctl(GCDESCRIBE) */
76
77 #define gaddr_t unsigned long   /* FIXME: PA2.0 (64bit) portable ? */
78
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 */
91 };
92
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)
111
112 #endif /* __ASM_PARISC_GRFIOCTL_H */
113