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