]> rtime.felk.cvut.cz Git - linux-imx.git/blob - drivers/staging/xgifb/XGIfb.h
223ba66284bf9ed62bca068d1a3acbf6622b7a4a
[linux-imx.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         XG45,
28         XG20 = 48,
29         XG21,
30         XG27,
31 };
32
33 enum xgi_tvtype {
34         TVMODE_NTSC = 0,
35         TVMODE_PAL,
36         TVMODE_HIVISION,
37         TVTYPE_PALM,    /* vicki@030226 */
38         TVTYPE_PALN,    /* vicki@030226 */
39         TVTYPE_NTSCJ,   /* vicki@030226 */
40         TVMODE_TOTAL
41 };
42
43 enum xgi_tv_plug { /* vicki@030226 */
44         TVPLUG_UNKNOWN = 0,
45         TVPLUG_COMPOSITE = 1,
46         TVPLUG_SVIDEO = 2,
47         TVPLUG_COMPOSITE_AND_SVIDEO = 3,
48         TVPLUG_SCART = 4,
49         TVPLUG_YPBPR_525i = 5,
50         TVPLUG_YPBPR_525P = 6,
51         TVPLUG_YPBPR_750P = 7,
52         TVPLUG_YPBPR_1080i = 8,
53         TVPLUG_TOTAL
54 };
55
56 struct xgifb_video_info {
57         struct fb_info *fb_info;
58         struct xgi_hw_device_info hw_info;
59         struct vb_device_info dev_info;
60
61         int mode_idx;
62         int rate_idx;
63
64         u32 pseudo_palette[17];
65
66         int           chip_id;
67         unsigned int  video_size;
68         phys_addr_t   video_base;
69         void __iomem *video_vbase;
70         phys_addr_t   mmio_base;
71         unsigned long mmio_size;
72         void __iomem *mmio_vbase;
73         unsigned long vga_base;
74         unsigned long mtrr;
75
76         int    video_bpp;
77         int    video_cmap_len;
78         int    video_width;
79         int    video_height;
80         int    video_vwidth;
81         int    video_vheight;
82         int    org_x;
83         int    org_y;
84         int    video_linelength;
85         unsigned int refresh_rate;
86
87         enum xgifb_display_type display2; /* the second display output type */
88         bool display2_force;
89         unsigned char hasVB;
90         unsigned char TV_type;
91         unsigned char TV_plug;
92
93         struct XGI21_LVDSCapStruct lvds_data;
94
95         enum XGI_CHIP_TYPE chip;
96         unsigned char revision_id;
97
98         unsigned short DstColor;
99         unsigned long  XGI310_AccelDepth;
100         unsigned long  CommandReg;
101
102         unsigned int   pcibus;
103         unsigned int   pcislot;
104         unsigned int   pcifunc;
105
106         unsigned short subsysvendor;
107         unsigned short subsysdevice;
108
109         char reserved[236];
110 };
111
112 #endif