grfioctl.h 4.0 KB

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