]> Pileus Git - ~andy/linux/blob - drivers/staging/xgifb/XGIfb.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke...
[~andy/linux] / drivers / staging / xgifb / XGIfb.h
1 #ifndef _LINUX_XGIFB
2 #define _LINUX_XGIFB
3 #include <asm/ioctl.h>
4 #include <asm/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