Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[pandora-kernel.git] / drivers / staging / xgifb / XGIfb.h
1 #ifndef _LINUX_XGIFB
2 #define _LINUX_XGIFB
3 #include <linux/ioctl.h>
4 #include <linux/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