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