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 114