1 #ifndef _LINUX_XGIFB
2 #define _LINUX_XGIFB
3 #include <asm/ioctl.h>
4 #include <asm/types.h>
5 
6 #define DISPTYPE_CRT1       0x00000008L
7 #define DISPTYPE_CRT2       0x00000004L
8 #define DISPTYPE_LCD        0x00000002L
9 #define DISPTYPE_TV         0x00000001L
10 #define DISPTYPE_DISP1      DISPTYPE_CRT1
11 #define DISPTYPE_DISP2      (DISPTYPE_CRT2 | DISPTYPE_LCD | DISPTYPE_TV)
12 #define DISPMODE_SINGLE	    0x00000020L
13 #define DISPMODE_MIRROR	    0x00000010L
14 #define DISPMODE_DUALVIEW   0x00000040L
15 
16 #define HASVB_NONE      	0x00
17 #define HASVB_301       	0x01
18 #define HASVB_LVDS      	0x02
19 #define HASVB_TRUMPION  	0x04
20 #define HASVB_LVDS_CHRONTEL	0x10
21 #define HASVB_302       	0x20
22 #define HASVB_303       	0x40
23 #define HASVB_CHRONTEL  	0x80
24 
25 #ifndef XGIFB_ID
26 #define XGIFB_ID          0x53495346    /* Identify myself with 'XGIF' */
27 #endif
28 
29 enum XGI_CHIP_TYPE {
30     XG40 = 32,
31     XG41,
32     XG42,
33     XG45,
34     XG20 = 48,
35     XG21,
36     XG27,
37 };
38 
39 enum xgi_tvtype {
40 	TVMODE_NTSC = 0,
41 	TVMODE_PAL,
42 	TVMODE_HIVISION,
43 	TVTYPE_PALM,	// vicki@030226
44     	TVTYPE_PALN,	// vicki@030226
45     	TVTYPE_NTSCJ,	// vicki@030226
46 	TVMODE_TOTAL
47 };
48 
49 enum xgi_tv_plug {	/* vicki@030226 */
50 //	TVPLUG_Legacy = 0,
51 //	TVPLUG_COMPOSITE,
52 //	TVPLUG_SVIDEO,
53 //	TVPLUG_SCART,
54 //	TVPLUG_TOTAL
55     	TVPLUG_UNKNOWN = 0,
56     	TVPLUG_COMPOSITE = 1,
57     	TVPLUG_SVIDEO = 2,
58     	TVPLUG_COMPOSITE_AND_SVIDEO = 3,
59     	TVPLUG_SCART = 4,
60     	TVPLUG_YPBPR_525i = 5,
61     	TVPLUG_YPBPR_525P = 6,
62     	TVPLUG_YPBPR_750P = 7,
63     	TVPLUG_YPBPR_1080i = 8,
64 	TVPLUG_TOTAL
65 };
66 
67 struct video_info{
68         int           chip_id;
69         unsigned int  video_size;
70         unsigned long video_base;
71         char  *       video_vbase;
72         unsigned long mmio_base;
73 	unsigned long mmio_size;
74         char  *       mmio_vbase;
75         unsigned long vga_base;
76         unsigned long mtrr;
77 
78         int    video_bpp;
79         int    video_cmap_len;
80         int    video_width;
81         int    video_height;
82         int    video_vwidth;
83         int    video_vheight;
84         int    org_x;
85         int    org_y;
86         int    video_linelength;
87         unsigned int refresh_rate;
88 
89         unsigned long disp_state;
90         unsigned char hasVB;
91         unsigned char TV_type;
92         unsigned char TV_plug;
93 
94 	enum XGI_CHIP_TYPE chip;
95         unsigned char revision_id;
96 
97         unsigned short DstColor;
98         unsigned long  XGI310_AccelDepth;
99         unsigned long  CommandReg;
100 
101         unsigned int   pcibus;
102         unsigned int   pcislot;
103         unsigned int   pcifunc;
104 
105         unsigned short subsysvendor;
106         unsigned short subsysdevice;
107 
108         char reserved[236];
109 };
110 
111 
112 extern struct video_info xgi_video_info;
113 
114 #endif
115