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