blob: 9b939b75c3097c13e1721bfecb1583fec11330ae [file] [log] [blame]
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02001#ifndef _VGATYPES_
2#define _VGATYPES_
3
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02004#include <linux/ioctl.h>
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02005
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02006#ifndef XGI_VB_CHIP_TYPE
Bill Pemberton621a6832010-06-17 13:10:48 -04007enum XGI_VB_CHIP_TYPE {
Kenji Toyamaeae5f022011-04-24 13:46:25 +08008 VB_CHIP_Legacy = 0,
9 VB_CHIP_301,
10 VB_CHIP_301B,
11 VB_CHIP_301LV,
12 VB_CHIP_302,
13 VB_CHIP_302B,
14 VB_CHIP_302LV,
15 VB_CHIP_301C,
16 VB_CHIP_302ELV,
17 VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */
18 MAX_VB_CHIP
Bill Pemberton621a6832010-06-17 13:10:48 -040019};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020020#endif
21
22#ifndef XGI_LCD_TYPE
Bill Pemberton621a6832010-06-17 13:10:48 -040023enum XGI_LCD_TYPE {
Kenji Toyamaeae5f022011-04-24 13:46:25 +080024 LCD_INVALID = 0,
25 LCD_320x480, /* FSTN, DSTN */
26 LCD_640x480,
27 LCD_640x480_2, /* FSTN, DSTN */
28 LCD_640x480_3, /* FSTN, DSTN */
29 LCD_800x600,
30 LCD_848x480,
31 LCD_1024x600,
32 LCD_1024x768,
33 LCD_1152x768,
34 LCD_1152x864,
35 LCD_1280x720,
36 LCD_1280x768,
37 LCD_1280x800,
38 LCD_1280x960,
39 LCD_1280x1024,
40 LCD_1400x1050,
41 LCD_1600x1200,
42 LCD_1680x1050,
43 LCD_1920x1440,
44 LCD_2048x1536,
45 LCD_CUSTOM,
46 LCD_UNKNOWN
Bill Pemberton621a6832010-06-17 13:10:48 -040047};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020048#endif
49
Kenji Toyamaeae5f022011-04-24 13:46:25 +080050struct xgi_hw_device_info {
51 unsigned long ulExternalChip; /* NO VB or other video bridge*/
52 /* if ujVBChipID = VB_CHIP_UNKNOWN, */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020053
Kenji Toyamaeae5f022011-04-24 13:46:25 +080054 unsigned char *pjVirtualRomBase; /* ROM image */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020055
Aaro Koskinenc44fa622011-09-13 22:49:33 +030056 void __iomem *pjVideoMemoryAddress;/* base virtual memory address */
Kenji Toyamaeae5f022011-04-24 13:46:25 +080057 /* of Linear VGA memory */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020058
Kenji Toyamaeae5f022011-04-24 13:46:25 +080059 unsigned long ulVideoMemorySize; /* size, in bytes, of the
60 memory on the board */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020061
Kenji Toyamaeae5f022011-04-24 13:46:25 +080062 unsigned char *pjIOAddress; /* base I/O address of VGA ports (0x3B0) */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020063
Kenji Toyamaeae5f022011-04-24 13:46:25 +080064 unsigned char jChipType; /* Used to Identify Graphics Chip */
65 /* defined in the data structure type */
66 /* "XGI_CHIP_TYPE" */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020067
Kenji Toyamaeae5f022011-04-24 13:46:25 +080068 unsigned char jChipRevision; /* Used to Identify Graphics
69 Chip Revision */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020070
Kenji Toyamaeae5f022011-04-24 13:46:25 +080071 unsigned char ujVBChipID; /* the ID of video bridge */
72 /* defined in the data structure type */
73 /* "XGI_VB_CHIP_TYPE" */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020074
Kenji Toyamaeae5f022011-04-24 13:46:25 +080075 unsigned long ulCRT2LCDType; /* defined in the data structure type */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020076};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020077
Lucas De Marchi25985ed2011-03-30 22:57:33 -030078/* Additional IOCTL for communication xgifb <> X driver */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020079/* If changing this, xgifb.h must also be changed (for xgifb) */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020080#endif
81