GNU Linux-libre 4.9.337-gnu1
[releases.git] / drivers / staging / xgifb / vb_struct.h
1 #ifndef _VB_STRUCT_
2 #define _VB_STRUCT_
3 #include "../../video/fbdev/sis/vstruct.h"
4
5 struct XGI_LVDSCRT1HDataStruct {
6         unsigned char Reg[8];
7 };
8
9 struct XGI_LVDSCRT1VDataStruct {
10         unsigned char Reg[7];
11 };
12
13 struct XGI_ExtStruct {
14         unsigned char Ext_ModeID;
15         unsigned short Ext_ModeFlag;
16         unsigned short Ext_ModeInfo;
17         unsigned char Ext_RESINFO;
18         unsigned char VB_ExtTVYFilterIndex;
19         unsigned char REFindex;
20 };
21
22 struct XGI_Ext2Struct {
23         unsigned short Ext_InfoFlag;
24         unsigned char Ext_CRT1CRTC;
25         unsigned char Ext_CRTVCLK;
26         unsigned char Ext_CRT2CRTC;
27         unsigned char Ext_CRT2CRTC2;
28         unsigned char  ModeID;
29         unsigned short XRes;
30         unsigned short YRes;
31 };
32
33 struct XGI_ECLKDataStruct {
34         unsigned char SR2E, SR2F, SR30;
35         unsigned short CLOCK;
36 };
37
38 /*add for new UNIVGABIOS*/
39 struct XGI_LCDDesStruct {
40         unsigned short LCDHDES;
41         unsigned short LCDHRS;
42         unsigned short LCDVDES;
43         unsigned short LCDVRS;
44 };
45
46 struct XGI330_LCDDataDesStruct2 {
47         unsigned short LCDHDES;
48         unsigned short LCDHRS;
49         unsigned short LCDVDES;
50         unsigned short LCDVRS;
51         unsigned short LCDHSync;
52         unsigned short LCDVSync;
53 };
54
55 struct XGI330_LCDDataTablStruct {
56         unsigned char  PANELID;
57         unsigned short MASK;
58         unsigned short CAP;
59         void const *DATAPTR;
60 };
61
62 struct XGI330_TVDataTablStruct {
63         unsigned short MASK;
64         unsigned short CAP;
65         struct SiS_TVData const *DATAPTR;
66 };
67
68 struct XGI_TimingHStruct {
69         unsigned char data[8];
70 };
71
72 struct XGI_TimingVStruct {
73         unsigned char data[7];
74 };
75
76 struct XGI_XG21CRT1Struct {
77         unsigned char ModeID, CR02, CR03, CR15, CR16;
78 };
79
80 struct XGI330_LCDCapStruct {
81         unsigned char   LCD_ID;
82         unsigned short  LCD_Capability;
83         unsigned char   LCD_HSyncWidth;
84         unsigned char   LCD_VSyncWidth;
85         unsigned char   LCD_VCLK;
86         unsigned char   LCDA_VCLKData1;
87         unsigned char   LCDA_VCLKData2;
88         unsigned char   LCUCHAR_VCLKData1;
89         unsigned char   LCUCHAR_VCLKData2;
90         unsigned char   Spectrum_31;
91         unsigned char   Spectrum_32;
92         unsigned char   Spectrum_33;
93         unsigned char   Spectrum_34;
94 };
95
96 struct XGI21_LVDSCapStruct {
97         unsigned short LVDS_Capability;
98         unsigned short LVDSHT;
99         unsigned short LVDSVT;
100         unsigned short LVDSHDE;
101         unsigned short LVDSVDE;
102         unsigned short LVDSHFP;
103         unsigned short LVDSVFP;
104         unsigned short LVDSHSYNC;
105         unsigned short LVDSVSYNC;
106         unsigned char  VCLKData1;
107         unsigned char  VCLKData2;
108         unsigned char  PSC_S1; /* Duration between CPL on and signal on */
109         unsigned char  PSC_S2; /* Duration signal on and Vdd on */
110         unsigned char  PSC_S3; /* Duration between CPL off and signal off */
111         unsigned char  PSC_S4; /* Duration signal off and Vdd off */
112         unsigned char  PSC_S5;
113 };
114
115 struct XGI_CRT1TableStruct {
116         unsigned char CR[16];
117 };
118
119 struct XGI301C_Tap4TimingStruct {
120         unsigned short DE;
121         unsigned char  Reg[64];   /* C0-FF */
122 };
123
124 struct vb_device_info {
125         unsigned long   P3c4, P3d4, P3c0, P3ce, P3c2, P3cc;
126         unsigned long   P3ca, P3c6, P3c7, P3c8, P3c9, P3da;
127         unsigned long   Part0Port, Part1Port, Part2Port;
128         unsigned long   Part3Port, Part4Port, Part5Port;
129         unsigned short   RVBHCFACT, RVBHCMAX, RVBHRS;
130         unsigned short   VGAVT, VGAHT, VGAVDE, VGAHDE;
131         unsigned short   VT, HT, VDE, HDE;
132         unsigned short   LCDHRS, LCDVRS, LCDHDES, LCDVDES;
133
134         unsigned short   ModeType;
135         unsigned short   IF_DEF_LVDS;
136         unsigned short   IF_DEF_CRT2Monitor;
137         unsigned short   IF_DEF_YPbPr;
138         unsigned short   IF_DEF_HiVision;
139         unsigned short   LCDResInfo, LCDTypeInfo, VBType;/*301b*/
140         unsigned short   VBInfo, TVInfo, LCDInfo;
141         unsigned short   SetFlag;
142         unsigned short   NewFlickerMode;
143         unsigned short   SelectCRT2Rate;
144
145         void __iomem *FBAddr;
146
147         unsigned char const *SR18;
148         unsigned char const (*CR40)[3];
149
150         struct SiS_MCLKData const *MCLKData;
151
152         unsigned char   XGINew_CR97;
153
154         struct XGI330_LCDCapStruct const *LCDCapList;
155
156         struct XGI_TimingHStruct TimingH;
157         struct XGI_TimingVStruct TimingV;
158
159         int ram_type;
160         int ram_channel;
161         int ram_bus;
162 };  /* _struct vb_device_info */
163
164 #endif /* _VB_STRUCT_ */