Linux 3.3-rc6
[linux/fpc-iii.git] / drivers / staging / xgifb / XGIfb.h
blob2c866bb65a007e062ffa2c3a292377936e1dcbff
1 #ifndef _LINUX_XGIFB
2 #define _LINUX_XGIFB
3 #include <linux/ioctl.h>
4 #include <linux/types.h>
6 #include "vb_struct.h"
7 #include "vgatypes.h"
9 enum xgifb_display_type {
10 XGIFB_DISP_NONE = 0,
11 XGIFB_DISP_CRT,
12 XGIFB_DISP_LCD,
13 XGIFB_DISP_TV,
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_CHRONTEL 0x80
24 enum XGI_CHIP_TYPE {
25 XG40 = 32,
26 XG41,
27 XG42,
28 XG45,
29 XG20 = 48,
30 XG21,
31 XG27,
34 enum xgi_tvtype {
35 TVMODE_NTSC = 0,
36 TVMODE_PAL,
37 TVMODE_HIVISION,
38 TVTYPE_PALM, /* vicki@030226 */
39 TVTYPE_PALN, /* vicki@030226 */
40 TVTYPE_NTSCJ, /* vicki@030226 */
41 TVMODE_TOTAL
44 enum xgi_tv_plug { /* vicki@030226 */
45 TVPLUG_UNKNOWN = 0,
46 TVPLUG_COMPOSITE = 1,
47 TVPLUG_SVIDEO = 2,
48 TVPLUG_COMPOSITE_AND_SVIDEO = 3,
49 TVPLUG_SCART = 4,
50 TVPLUG_YPBPR_525i = 5,
51 TVPLUG_YPBPR_525P = 6,
52 TVPLUG_YPBPR_750P = 7,
53 TVPLUG_YPBPR_1080i = 8,
54 TVPLUG_TOTAL
57 struct xgifb_video_info {
58 struct fb_info *fb_info;
59 struct xgi_hw_device_info hw_info;
60 struct vb_device_info dev_info;
62 int mode_idx;
63 int rate_idx;
65 u32 pseudo_palette[17];
67 int chip_id;
68 unsigned int video_size;
69 unsigned long video_base;
70 void __iomem *video_vbase;
71 unsigned long mmio_base;
72 unsigned long mmio_size;
73 void __iomem *mmio_vbase;
74 unsigned long vga_base;
75 unsigned long mtrr;
77 int video_bpp;
78 int video_cmap_len;
79 int video_width;
80 int video_height;
81 int video_vwidth;
82 int video_vheight;
83 int org_x;
84 int org_y;
85 int video_linelength;
86 unsigned int refresh_rate;
88 enum xgifb_display_type display2; /* the second display output type */
89 bool display2_force;
90 unsigned char hasVB;
91 unsigned char TV_type;
92 unsigned char TV_plug;
94 struct XGI21_LVDSCapStruct lvds_data;
96 enum XGI_CHIP_TYPE chip;
97 unsigned char revision_id;
99 unsigned short DstColor;
100 unsigned long XGI310_AccelDepth;
101 unsigned long CommandReg;
103 unsigned int pcibus;
104 unsigned int pcislot;
105 unsigned int pcifunc;
107 unsigned short subsysvendor;
108 unsigned short subsysdevice;
110 char reserved[236];
113 #endif