Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[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 #include "vb_struct.h"
7 #include "vgatypes.h"
8
9 enum xgifb_display_type {
10         XGIFB_DISP_NONE = 0,
11         XGIFB_DISP_CRT,
12         XGIFB_DISP_LCD,
13         XGIFB_DISP_TV,
14 };
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_CHRONTEL      0x80
23
24 enum XGI_CHIP_TYPE {
25         XG40 = 32,
26         XG41,
27         XG42,
28         XG45,
29         XG20 = 48,
30         XG21,
31         XG27,
32 };
33
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
42 };
43
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
55 };
56
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;
61
62         int mode_idx;
63         int rate_idx;
64
65         u32 pseudo_palette[17];
66
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;
76
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;
87
88         enum xgifb_display_type display2; /* the second display output type */
89         unsigned char hasVB;
90         unsigned char TV_type;
91         unsigned char TV_plug;
92
93         enum XGI_CHIP_TYPE chip;
94         unsigned char revision_id;
95
96         unsigned short DstColor;
97         unsigned long  XGI310_AccelDepth;
98         unsigned long  CommandReg;
99
100         unsigned int   pcibus;
101         unsigned int   pcislot;
102         unsigned int   pcifunc;
103
104         unsigned short subsysvendor;
105         unsigned short subsysdevice;
106
107         char reserved[236];
108 };
109
110 #endif