more changes on original files
[linux-2.4.git] / include / asm-parisc / grfioctl.h
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   /* FIXME: PA2.0 (64bit) portable ? */
60
61 struct  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