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 79struct 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