9b5552ba441a5ae64ac8abef22f624dd22ac35f3
[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 "vgatypes.h"
7
8 #define DISPTYPE_CRT1       0x00000008L
9 #define DISPTYPE_CRT2       0x00000004L
10 #define DISPTYPE_LCD        0x00000002L
11 #define DISPTYPE_TV         0x00000001L
12 #define DISPTYPE_DISP2      (DISPTYPE_CRT2 | DISPTYPE_LCD | DISPTYPE_TV)
13 #define DISPMODE_SINGLE     0x00000020L
14 #define DISPMODE_MIRROR     0x00000010L
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 video_info {
58         struct fb_info *fb_info;
59         struct xgi_hw_device_info hw_info;
60
61         int           chip_id;
62         unsigned int  video_size;
63         unsigned long video_base;
64         void __iomem *video_vbase;
65         unsigned long mmio_base;
66         unsigned long mmio_size;
67         void __iomem *mmio_vbase;
68         unsigned long vga_base;
69         unsigned long mtrr;
70
71         int    video_bpp;
72         int    video_cmap_len;
73         int    video_width;
74         int    video_height;
75         int    video_vwidth;
76         int    video_vheight;
77         int    org_x;
78         int    org_y;
79         int    video_linelength;
80         unsigned int refresh_rate;
81
82         unsigned long disp_state;
83         unsigned char hasVB;
84         unsigned char TV_type;
85         unsigned char TV_plug;
86
87         enum XGI_CHIP_TYPE chip;
88         unsigned char revision_id;
89
90         unsigned short DstColor;
91         unsigned long  XGI310_AccelDepth;
92         unsigned long  CommandReg;
93
94         unsigned int   pcibus;
95         unsigned int   pcislot;
96         unsigned int   pcifunc;
97
98         unsigned short subsysvendor;
99         unsigned short subsysdevice;
100
101         char reserved[236];
102 };
103
104
105 extern struct video_info xgi_video_info;
106
107 #endif