]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/xgifb/XGIfb.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
[karo-tx-linux.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 #include "vb_struct.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         XG42,
27         XG20 = 48,
28         XG21,
29         XG27,
30 };
31
32 enum xgi_tvtype {
33         TVMODE_NTSC = 0,
34         TVMODE_PAL,
35         TVMODE_HIVISION,
36         TVTYPE_PALM,    /* vicki@030226 */
37         TVTYPE_PALN,    /* vicki@030226 */
38         TVTYPE_NTSCJ,   /* vicki@030226 */
39         TVMODE_TOTAL
40 };
41
42 enum xgi_tv_plug { /* vicki@030226 */
43         TVPLUG_UNKNOWN = 0,
44         TVPLUG_COMPOSITE = 1,
45         TVPLUG_SVIDEO = 2,
46         TVPLUG_COMPOSITE_AND_SVIDEO = 3,
47         TVPLUG_SCART = 4,
48         TVPLUG_YPBPR_525i = 5,
49         TVPLUG_YPBPR_525P = 6,
50         TVPLUG_YPBPR_750P = 7,
51         TVPLUG_YPBPR_1080i = 8,
52         TVPLUG_TOTAL
53 };
54
55 struct xgifb_video_info {
56         struct fb_info *fb_info;
57         struct xgi_hw_device_info hw_info;
58         struct vb_device_info dev_info;
59
60         int mode_idx;
61         int rate_idx;
62
63         u32 pseudo_palette[17];
64
65         int           chip_id;
66         unsigned int  video_size;
67         phys_addr_t   video_base;
68         void __iomem *video_vbase;
69         phys_addr_t   mmio_base;
70         unsigned long mmio_size;
71         void __iomem *mmio_vbase;
72         unsigned long vga_base;
73         unsigned long mtrr;
74
75         int    video_bpp;
76         int    video_cmap_len;
77         int    video_width;
78         int    video_height;
79         int    video_vwidth;
80         int    video_vheight;
81         int    org_x;
82         int    org_y;
83         int    video_linelength;
84         unsigned int refresh_rate;
85
86         enum xgifb_display_type display2; /* the second display output type */
87         bool display2_force;
88         unsigned char hasVB;
89         unsigned char TV_type;
90         unsigned char TV_plug;
91
92         struct XGI21_LVDSCapStruct lvds_data;
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 #endif