5dbc8bc5e0f17c8cee9cfedcffb6b65914ae254a
[firefly-linux-kernel-4.4.55.git] / drivers / staging / xgifb / vb_struct.h
1 #ifndef _VB_STRUCT_
2 #define _VB_STRUCT_
3 #include "../../video/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 short Ext_Point;
18         unsigned short Ext_VESAID;
19         unsigned char Ext_VESAMEMSize;
20         unsigned char Ext_RESINFO;
21         unsigned char VB_ExtTVFlickerIndex;
22         unsigned char VB_ExtTVEdgeIndex;
23         unsigned char VB_ExtTVYFilterIndex;
24         unsigned char REFindex;
25 };
26
27 struct XGI_Ext2Struct {
28         unsigned short Ext_InfoFlag;
29         unsigned char Ext_CRT1CRTC;
30         unsigned char Ext_CRTVCLK;
31         unsigned char Ext_CRT2CRTC;
32         unsigned char Ext_CRT2CRTC2;
33         unsigned char  ModeID;
34         unsigned short XRes;
35         unsigned short YRes;
36         /* unsigned short ROM_OFFSET; */
37 };
38
39 struct XGI_ECLKDataStruct {
40         unsigned char SR2E, SR2F, SR30;
41         unsigned short CLOCK;
42 };
43
44 /*add for new UNIVGABIOS*/
45 struct XGI_LCDDesStruct {
46         unsigned short LCDHDES;
47         unsigned short LCDHRS;
48         unsigned short LCDVDES;
49         unsigned short LCDVRS;
50 };
51
52 struct XGI_LCDDataTablStruct {
53         unsigned char  PANELID;
54         unsigned short MASK;
55         unsigned short CAP;
56         unsigned short DATAPTR;
57 };
58
59 struct XGI330_LCDDataDesStruct {
60         unsigned short LCDHDES;
61         unsigned short LCDHRS;
62         unsigned short LCDVDES;
63         unsigned short LCDVRS;
64 };
65
66
67 struct XGI330_LVDSDataStruct {
68         unsigned short VGAHT;
69         unsigned short VGAVT;
70         unsigned short LCDHT;
71         unsigned short LCDVT;
72 };
73
74 struct XGI330_LCDDataDesStruct2 {
75         unsigned short LCDHDES;
76         unsigned short LCDHRS;
77         unsigned short LCDVDES;
78         unsigned short LCDVRS;
79         unsigned short LCDHSync;
80         unsigned short LCDVSync;
81 };
82
83 struct XGI330_LCDDataStruct {
84         unsigned short RVBHCMAX;
85         unsigned short RVBHCFACT;
86         unsigned short VGAHT;
87         unsigned short VGAVT;
88         unsigned short LCDHT;
89         unsigned short LCDVT;
90 };
91
92
93 struct XGI330_TVDataStruct {
94         unsigned short RVBHCMAX;
95         unsigned short RVBHCFACT;
96         unsigned short VGAHT;
97         unsigned short VGAVT;
98         unsigned short TVHDE;
99         unsigned short TVVDE;
100         unsigned short RVBHRS;
101         unsigned char FlickerMode;
102         unsigned short HALFRVBHRS;
103 };
104
105 struct XGI330_LCDDataTablStruct {
106         unsigned char  PANELID;
107         unsigned short MASK;
108         unsigned short CAP;
109         unsigned short DATAPTR;
110 };
111
112 struct XGI330_TVDataTablStruct {
113         unsigned short MASK;
114         unsigned short CAP;
115         unsigned short DATAPTR;
116 };
117
118
119 struct XGI330_CHTVDataStruct {
120         unsigned short VGAHT;
121         unsigned short VGAVT;
122         unsigned short LCDHT;
123         unsigned short LCDVT;
124 };
125
126 struct XGI_TimingHStruct {
127         unsigned char data[8];
128 };
129
130 struct XGI_TimingVStruct {
131         unsigned char data[7];
132 };
133
134 struct XGI_XG21CRT1Struct {
135         unsigned char ModeID, CR02, CR03, CR15, CR16;
136 };
137
138 struct XGI330_LCDCapStruct {
139         unsigned char   LCD_ID;
140         unsigned short  LCD_Capability;
141         unsigned char   LCD_SetFlag;
142         unsigned char   LCD_DelayCompensation;
143         unsigned char   LCD_HSyncWidth;
144         unsigned char   LCD_VSyncWidth;
145         unsigned char   LCD_VCLK;
146         unsigned char   LCDA_VCLKData1;
147         unsigned char   LCDA_VCLKData2;
148         unsigned char   LCUCHAR_VCLKData1;
149         unsigned char   LCUCHAR_VCLKData2;
150         unsigned char   PSC_S1;
151         unsigned char   PSC_S2;
152         unsigned char   PSC_S3;
153         unsigned char   PSC_S4;
154         unsigned char   PSC_S5;
155         unsigned char   PWD_2B;
156         unsigned char   PWD_2C;
157         unsigned char   PWD_2D;
158         unsigned char   PWD_2E;
159         unsigned char   PWD_2F;
160         unsigned char   Spectrum_31;
161         unsigned char   Spectrum_32;
162         unsigned char   Spectrum_33;
163         unsigned char   Spectrum_34;
164 };
165
166 struct XGI21_LVDSCapStruct {
167         unsigned short LVDS_Capability;
168         unsigned short LVDSHT;
169         unsigned short LVDSVT;
170         unsigned short LVDSHDE;
171         unsigned short LVDSVDE;
172         unsigned short LVDSHFP;
173         unsigned short LVDSVFP;
174         unsigned short LVDSHSYNC;
175         unsigned short LVDSVSYNC;
176         unsigned char  VCLKData1;
177         unsigned char  VCLKData2;
178         unsigned char  PSC_S1;
179         unsigned char  PSC_S2;
180         unsigned char  PSC_S3;
181         unsigned char  PSC_S4;
182         unsigned char  PSC_S5;
183 };
184
185 struct XGI_CRT1TableStruct {
186         unsigned char CR[16];
187 };
188
189
190 struct XGI330_VCLKDataStruct {
191         unsigned char SR2B, SR2C;
192         unsigned short CLOCK;
193 };
194
195 struct XGI301C_Tap4TimingStruct {
196         unsigned short DE;
197         unsigned char  Reg[64];   /* C0-FF */
198 };
199
200 struct vb_device_info {
201         unsigned char  ISXPDOS;
202         unsigned long   P3c4, P3d4, P3c0, P3ce, P3c2, P3cc;
203         unsigned long   P3ca, P3c6, P3c7, P3c8, P3c9, P3da;
204         unsigned long   Part0Port, Part1Port, Part2Port;
205         unsigned long   Part3Port, Part4Port, Part5Port;
206         unsigned short   RVBHCFACT, RVBHCMAX, RVBHRS;
207         unsigned short   VGAVT, VGAHT, VGAVDE, VGAHDE;
208         unsigned short   VT, HT, VDE, HDE;
209         unsigned short   LCDHRS, LCDVRS, LCDHDES, LCDVDES;
210
211         unsigned short   ModeType;
212         /* ,IF_DEF_FSTN; add for dstn */
213         unsigned short   IF_DEF_LVDS, IF_DEF_TRUMPION, IF_DEF_DSTN;
214         unsigned short   IF_DEF_CRT2Monitor;
215         unsigned short   IF_DEF_LCDA, IF_DEF_YPbPr;
216         unsigned short   IF_DEF_ExpLink;
217         unsigned short   IF_DEF_HiVision;
218         unsigned short   LCDResInfo, LCDTypeInfo, VBType;/*301b*/
219         unsigned short   VBInfo, TVInfo, LCDInfo;
220         unsigned short   VBExtInfo;/*301lv*/
221         unsigned short   SetFlag;
222         unsigned short   NewFlickerMode;
223         unsigned short   SelectCRT2Rate;
224
225         void __iomem *FBAddr;
226         unsigned long BaseAddr;
227
228         unsigned char (*CR6B)[4];
229         unsigned char (*CR6E)[4];
230         unsigned char (*CR6F)[32];
231         unsigned char (*CR89)[2];
232
233         unsigned char (*SR15)[8];
234         unsigned char (*CR40)[8];
235
236         unsigned char  *pSoftSetting;
237         unsigned char  *pOutputSelect;
238
239         unsigned short *pRGBSenseData;
240         unsigned short *pRGBSenseData2; /*301b*/
241         unsigned short *pVideoSenseData;
242         unsigned short *pVideoSenseData2;
243         unsigned short *pYCSenseData;
244         unsigned short *pYCSenseData2;
245
246         unsigned char  *pSR07;
247         unsigned char  *CR49;
248         unsigned char  *pSR1F;
249         unsigned char  *AGPReg;
250         unsigned char  *SR16;
251         unsigned char  *pSR21;
252         unsigned char  *pSR22;
253         unsigned char  *pSR23;
254         unsigned char  *pSR24;
255         unsigned char  *SR25;
256         unsigned char  *pSR31;
257         unsigned char  *pSR32;
258         unsigned char  *pSR33;
259         unsigned char  *pSR36;      /* alan 12/07/2006 */
260         unsigned char  *pCRCF;
261         unsigned char  *pCRD0;      /* alan 12/07/2006 */
262         unsigned char  *pCRDE;      /* alan 12/07/2006 */
263         unsigned char  *pCR8F;      /* alan 12/07/2006 */
264         unsigned char  *pSR40;      /* alan 12/07/2006 */
265         unsigned char  *pSR41;      /* alan 12/07/2006 */
266         unsigned char  *pDVOSetting;
267         unsigned char  *pCR2E;
268         unsigned char  *pCR2F;
269         unsigned char  *pCR46;
270         unsigned char  *pCR47;
271         unsigned char  *pCRT2Data_1_2;
272         unsigned char  *pCRT2Data_4_D;
273         unsigned char  *pCRT2Data_4_E;
274         unsigned char  *pCRT2Data_4_10;
275         struct SiS_MCLKData  *MCLKData;
276         struct XGI_ECLKDataStruct  *ECLKData;
277
278         unsigned char   *XGI_TVDelayList;
279         unsigned char   *XGI_TVDelayList2;
280         unsigned char   *NTSCTiming;
281         unsigned char   *PALTiming;
282         unsigned char   *HiTVExtTiming;
283         unsigned char   *HiTVSt1Timing;
284         unsigned char   *HiTVSt2Timing;
285         unsigned char   *HiTVTextTiming;
286         unsigned char   *YPbPr750pTiming;
287         unsigned char   *YPbPr525pTiming;
288         unsigned char   *YPbPr525iTiming;
289         unsigned char   *HiTVGroup3Data;
290         unsigned char   *HiTVGroup3Simu;
291         unsigned char   *HiTVGroup3Text;
292         unsigned char   *Ren525pGroup3;
293         unsigned char   *Ren750pGroup3;
294         unsigned char   *ScreenOffset;
295         unsigned char   *pXGINew_DRAMTypeDefinition;
296         unsigned char   *pXGINew_I2CDefinition ;
297         unsigned char   *pXGINew_CR97 ;
298
299         struct XGI330_LCDCapStruct  *LCDCapList;
300
301         struct XGI_TimingHStruct  *TimingH;
302         struct XGI_TimingVStruct  *TimingV;
303
304         struct SiS_StandTable_S  *StandTable;
305         struct XGI_ExtStruct         *EModeIDTable;
306         struct XGI_Ext2Struct        *RefIndex;
307         /* XGINew_CRT1TableStruct *CRT1Table; */
308         struct XGI_CRT1TableStruct    *XGINEWUB_CRT1Table;
309         struct SiS_VCLKData    *VCLKData;
310         struct SiS_VBVCLKData  *VBVCLKData;
311         struct SiS_StResInfo_S   *StResInfo;
312         struct SiS_ModeResInfo_S *ModeResInfo;
313         struct XGI_XG21CRT1Struct         *UpdateCRT1;
314
315         int ram_type;
316         int ram_channel;
317         int ram_bus;
318 };  /* _struct vb_device_info */
319
320 #endif /* _VB_STRUCT_ */