]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blob - drivers/staging/xgifb/vb_struct.h
Initial 2.6.37
[mcf548x/linux.git] / drivers / staging / xgifb / vb_struct.h
1 #ifndef _VB_STRUCT_
2 #define _VB_STRUCT_
3
4 #ifdef _INITNEW_
5 #define EXTERN
6 #else
7 #define EXTERN extern
8 #endif
9
10
11
12
13 struct XGI_PanelDelayTblStruct
14 {
15  unsigned char timer[2];
16 };
17
18 struct XGI_LCDDataStruct
19 {
20  unsigned short RVBHCMAX;
21  unsigned short RVBHCFACT;
22  unsigned short VGAHT;
23  unsigned short VGAVT;
24  unsigned short LCDHT;
25  unsigned short LCDVT;
26 };
27
28
29 struct XGI_LVDSCRT1HDataStruct
30 {
31  unsigned char Reg[8];
32 };
33
34 struct XGI_LVDSCRT1VDataStruct
35 {
36  unsigned char Reg[7];
37 };
38
39
40 struct XGI_TVDataStruct
41 {
42  unsigned short RVBHCMAX;
43  unsigned short RVBHCFACT;
44  unsigned short VGAHT;
45  unsigned short VGAVT;
46  unsigned short TVHDE;
47  unsigned short TVVDE;
48  unsigned short RVBHRS;
49  unsigned char FlickerMode;
50  unsigned short HALFRVBHRS;
51  unsigned char RY1COE;
52  unsigned char RY2COE;
53  unsigned char RY3COE;
54  unsigned char RY4COE;
55 };
56
57 struct XGI_LVDSDataStruct
58 {
59  unsigned short VGAHT;
60  unsigned short VGAVT;
61  unsigned short LCDHT;
62  unsigned short LCDVT;
63 };
64
65 struct XGI_LVDSDesStruct
66 {
67  unsigned short LCDHDES;
68  unsigned short LCDVDES;
69 };
70
71 struct XGI_LVDSCRT1DataStruct
72 {
73  unsigned char CR[15];
74 };
75
76 /*add for LCDA*/
77
78 struct XGI_StStruct
79 {
80  unsigned char St_ModeID;
81  unsigned short St_ModeFlag;
82  unsigned char St_StTableIndex;
83  unsigned char St_CRT2CRTC;
84  unsigned char St_CRT2CRTC2;
85  unsigned char St_ResInfo;
86  unsigned char VB_StTVFlickerIndex;
87  unsigned char VB_StTVEdgeIndex;
88  unsigned char VB_StTVYFilterIndex;
89 };
90
91 struct XGI_StandTableStruct
92 {
93  unsigned char CRT_COLS;
94  unsigned char ROWS;
95  unsigned char CHAR_HEIGHT;
96  unsigned short CRT_LEN;
97  unsigned char SR[4];
98  unsigned char MISC;
99  unsigned char CRTC[0x19];
100  unsigned char ATTR[0x14];
101  unsigned char GRC[9];
102 };
103
104 struct XGI_ExtStruct
105 {
106  unsigned char Ext_ModeID;
107  unsigned short Ext_ModeFlag;
108  unsigned short Ext_ModeInfo;
109  unsigned short Ext_Point;
110  unsigned short Ext_VESAID;
111  unsigned char Ext_VESAMEMSize;
112  unsigned char Ext_RESINFO;
113  unsigned char VB_ExtTVFlickerIndex;
114  unsigned char VB_ExtTVEdgeIndex;
115  unsigned char VB_ExtTVYFilterIndex;
116  unsigned char REFindex;
117 };
118
119 struct XGI_Ext2Struct
120 {
121  unsigned short Ext_InfoFlag;
122  unsigned char Ext_CRT1CRTC;
123  unsigned char Ext_CRTVCLK;
124  unsigned char Ext_CRT2CRTC;
125  unsigned char Ext_CRT2CRTC2;
126  unsigned char  ModeID;
127  unsigned short XRes;
128  unsigned short YRes;
129  /* unsigned short ROM_OFFSET; */
130 };
131
132
133 struct XGI_MCLKDataStruct
134 {
135  unsigned char SR28, SR29, SR2A;
136  unsigned short CLOCK;
137 };
138
139 struct XGI_ECLKDataStruct
140 {
141  unsigned char SR2E, SR2F, SR30;
142  unsigned short CLOCK;
143 };
144
145 struct XGI_VCLKDataStruct
146 {
147  unsigned char SR2B, SR2C;
148  unsigned short CLOCK;
149 };
150
151 struct XGI_VBVCLKDataStruct
152 {
153  unsigned char Part4_A, Part4_B;
154  unsigned short CLOCK;
155 };
156
157 struct XGI_StResInfoStruct
158 {
159  unsigned short HTotal;
160  unsigned short VTotal;
161 };
162
163 struct XGI_ModeResInfoStruct
164 {
165  unsigned short HTotal;
166  unsigned short VTotal;
167  unsigned char  XChar;
168  unsigned char  YChar;
169 };
170
171 struct XGI_LCDNBDesStruct
172 {
173   unsigned char NB[12];
174 };
175  /*add for new UNIVGABIOS*/
176 struct XGI_LCDDesStruct
177 {
178  unsigned short LCDHDES;
179  unsigned short LCDHRS;
180  unsigned short LCDVDES;
181  unsigned short LCDVRS;
182 };
183
184 struct XGI_LCDDataTablStruct
185 {
186  unsigned char  PANELID;
187  unsigned short MASK;
188  unsigned short CAP;
189  unsigned short DATAPTR;
190 };
191
192 struct XGI_TVTablDataStruct
193 {
194  unsigned short MASK;
195  unsigned short CAP;
196  unsigned short DATAPTR;
197 };
198
199 struct XGI330_LCDDataDesStruct
200 {
201  unsigned short LCDHDES;
202  unsigned short LCDHRS;
203  unsigned short LCDVDES;
204  unsigned short LCDVRS;
205 };
206
207
208 struct XGI330_LVDSDataStruct
209 {
210  unsigned short VGAHT;
211  unsigned short VGAVT;
212  unsigned short LCDHT;
213  unsigned short LCDVT;
214 };
215
216 struct XGI330_LCDDataDesStruct2
217 {
218  unsigned short LCDHDES;
219  unsigned short LCDHRS;
220  unsigned short LCDVDES;
221  unsigned short LCDVRS;
222  unsigned short LCDHSync;
223  unsigned short LCDVSync;
224 };
225
226 struct XGI330_LCDDataStruct
227 {
228  unsigned short RVBHCMAX;
229  unsigned short RVBHCFACT;
230  unsigned short VGAHT;
231  unsigned short VGAVT;
232  unsigned short LCDHT;
233  unsigned short LCDVT;
234 };
235
236
237 struct XGI330_TVDataStruct
238 {
239  unsigned short RVBHCMAX;
240  unsigned short RVBHCFACT;
241  unsigned short VGAHT;
242  unsigned short VGAVT;
243  unsigned short TVHDE;
244  unsigned short TVVDE;
245  unsigned short RVBHRS;
246  unsigned char FlickerMode;
247  unsigned short HALFRVBHRS;
248 };
249
250 struct XGI330_LCDDataTablStruct
251 {
252  unsigned char  PANELID;
253  unsigned short MASK;
254  unsigned short CAP;
255  unsigned short DATAPTR;
256 };
257
258 struct XGI330_TVDataTablStruct
259 {
260  unsigned short MASK;
261  unsigned short CAP;
262  unsigned short DATAPTR;
263 };
264
265
266 struct XGI330_CHTVDataStruct
267 {
268  unsigned short VGAHT;
269  unsigned short VGAVT;
270  unsigned short LCDHT;
271  unsigned short LCDVT;
272 };
273
274 struct XGI_TimingHStruct
275 {
276   unsigned char data[8];
277 };
278
279 struct XGI_TimingVStruct
280 {
281   unsigned char data[7];
282 };
283
284 struct XGI_CH7007TV_TimingHStruct
285 {
286   unsigned char data[10];
287 };
288
289 struct XGI_CH7007TV_TimingVStruct
290 {
291   unsigned char data[10];
292 };
293
294 struct XGI_XG21CRT1Struct
295 {
296  unsigned char ModeID, CR02, CR03, CR15, CR16;
297 };
298
299 struct XGI330_CHTVRegDataStruct
300 {
301  unsigned char Reg[16];
302 };
303
304 struct XGI330_LCDCapStruct
305 {
306                 unsigned char      LCD_ID;
307                 unsigned short     LCD_Capability;
308                 unsigned char      LCD_SetFlag;
309                 unsigned char      LCD_DelayCompensation;
310                 unsigned char      LCD_HSyncWidth;
311                 unsigned char      LCD_VSyncWidth;
312                 unsigned char      LCD_VCLK;
313                 unsigned char      LCDA_VCLKData1;
314                 unsigned char      LCDA_VCLKData2;
315                 unsigned char      LCUCHAR_VCLKData1;
316                 unsigned char      LCUCHAR_VCLKData2;
317                 unsigned char      PSC_S1;
318                 unsigned char      PSC_S2;
319                 unsigned char      PSC_S3;
320                 unsigned char      PSC_S4;
321                 unsigned char      PSC_S5;
322                 unsigned char      PWD_2B;
323                 unsigned char      PWD_2C;
324                 unsigned char      PWD_2D;
325                 unsigned char      PWD_2E;
326                 unsigned char      PWD_2F;
327                 unsigned char      Spectrum_31;
328                 unsigned char      Spectrum_32;
329                 unsigned char      Spectrum_33;
330                 unsigned char      Spectrum_34;
331 };
332
333 struct XGI21_LVDSCapStruct
334 {
335                 unsigned short     LVDS_Capability;
336                 unsigned short     LVDSHT;
337                 unsigned short     LVDSVT;
338                 unsigned short     LVDSHDE;
339                 unsigned short     LVDSVDE;
340                 unsigned short     LVDSHFP;
341                 unsigned short     LVDSVFP;
342                 unsigned short     LVDSHSYNC;
343                 unsigned short     LVDSVSYNC;
344                 unsigned char      VCLKData1;
345                 unsigned char      VCLKData2;
346                 unsigned char      PSC_S1;
347                 unsigned char      PSC_S2;
348                 unsigned char      PSC_S3;
349                 unsigned char      PSC_S4;
350                 unsigned char      PSC_S5;
351 };
352
353 struct XGI_CRT1TableStruct
354 {
355   unsigned char CR[16];
356 };
357
358
359 struct XGI330_VCLKDataStruct
360 {
361     unsigned char SR2B, SR2C;
362     unsigned short CLOCK;
363 };
364
365 struct XGI301C_Tap4TimingStruct
366 {
367     unsigned short DE;
368     unsigned char  Reg[64];   /* C0-FF */
369 };
370
371 struct XGI_New_StandTableStruct
372 {
373         unsigned char  CRT_COLS;
374         unsigned char  ROWS;
375         unsigned char  CHAR_HEIGHT;
376         unsigned short CRT_LEN;
377         unsigned char  SR[4];
378         unsigned char  MISC;
379         unsigned char  CRTC[0x19];
380         unsigned char  ATTR[0x14];
381         unsigned char  GRC[9];
382 };
383
384 struct vb_device_info
385 {
386     unsigned char  ISXPDOS;
387     unsigned long   P3c4,P3d4,P3c0,P3ce,P3c2,P3cc;
388     unsigned long   P3ca,P3c6,P3c7,P3c8,P3c9,P3da;
389     unsigned long   Part0Port,Part1Port,Part2Port;
390     unsigned long   Part3Port,Part4Port,Part5Port;
391     unsigned short   RVBHCFACT,RVBHCMAX,RVBHRS;
392     unsigned short   VGAVT,VGAHT,VGAVDE,VGAHDE;
393     unsigned short   VT,HT,VDE,HDE;
394     unsigned short   LCDHRS,LCDVRS,LCDHDES,LCDVDES;
395
396     unsigned short   ModeType;
397     unsigned short   IF_DEF_LVDS,IF_DEF_TRUMPION,IF_DEF_DSTN;/* ,IF_DEF_FSTN; add for dstn */
398     unsigned short   IF_DEF_CRT2Monitor,IF_DEF_VideoCapture;
399     unsigned short   IF_DEF_LCDA,IF_DEF_CH7017,IF_DEF_YPbPr,IF_DEF_ScaleLCD,IF_DEF_OEMUtil,IF_DEF_PWD;
400     unsigned short   IF_DEF_ExpLink;
401     unsigned short   IF_DEF_CH7005,IF_DEF_HiVision;
402     unsigned short   IF_DEF_CH7007; /* Billy 2007/05/03 */
403     unsigned short   LCDResInfo,LCDTypeInfo, VBType;/*301b*/
404     unsigned short   VBInfo,TVInfo,LCDInfo, Set_VGAType;
405     unsigned short   VBExtInfo;/*301lv*/
406     unsigned short   SetFlag;
407     unsigned short   NewFlickerMode;
408     unsigned short   SelectCRT2Rate;
409
410     unsigned char *ROMAddr;
411     unsigned char *FBAddr;
412     unsigned long BaseAddr;
413     unsigned long RelIO;
414
415         unsigned char (*CR6B)[4];
416         unsigned char (*CR6E)[4];
417         unsigned char (*CR6F)[32];
418         unsigned char (*CR89)[2];
419
420         unsigned char (*SR15)[8];
421         unsigned char (*CR40)[8];
422
423     unsigned char  *pSoftSetting;
424     unsigned char  *pOutputSelect;
425
426     unsigned short *pRGBSenseData;
427     unsigned short *pRGBSenseData2; /*301b*/
428     unsigned short *pVideoSenseData;
429     unsigned short *pVideoSenseData2;
430     unsigned short *pYCSenseData;
431     unsigned short *pYCSenseData2;
432
433     unsigned char  *pSR07;
434     unsigned char  *CR49;
435     unsigned char  *pSR1F;
436     unsigned char  *AGPReg;
437     unsigned char  *SR16;
438     unsigned char  *pSR21;
439     unsigned char  *pSR22;
440     unsigned char  *pSR23;
441     unsigned char  *pSR24;
442     unsigned char  *SR25;
443     unsigned char  *pSR31;
444     unsigned char  *pSR32;
445     unsigned char  *pSR33;
446     unsigned char  *pSR36;      /* alan 12/07/2006 */
447     unsigned char  *pCRCF;
448     unsigned char  *pCRD0;      /* alan 12/07/2006 */
449     unsigned char  *pCRDE;      /* alan 12/07/2006 */
450     unsigned char  *pCR8F;      /* alan 12/07/2006 */
451     unsigned char  *pSR40;      /* alan 12/07/2006 */
452     unsigned char  *pSR41;      /* alan 12/07/2006 */
453     unsigned char  *pDVOSetting;
454     unsigned char  *pCR2E;
455     unsigned char  *pCR2F;
456     unsigned char  *pCR46;
457     unsigned char  *pCR47;
458     unsigned char  *pCRT2Data_1_2;
459     unsigned char  *pCRT2Data_4_D;
460     unsigned char  *pCRT2Data_4_E;
461     unsigned char  *pCRT2Data_4_10;
462     struct XGI_MCLKDataStruct  *MCLKData;
463     struct XGI_ECLKDataStruct  *ECLKData;
464
465     unsigned char   *XGI_TVDelayList;
466     unsigned char   *XGI_TVDelayList2;
467     unsigned char   *CHTVVCLKUNTSC;
468     unsigned char   *CHTVVCLKONTSC;
469     unsigned char   *CHTVVCLKUPAL;
470     unsigned char   *CHTVVCLKOPAL;
471     unsigned char   *NTSCTiming;
472     unsigned char   *PALTiming;
473     unsigned char   *HiTVExtTiming;
474     unsigned char   *HiTVSt1Timing;
475     unsigned char   *HiTVSt2Timing;
476     unsigned char   *HiTVTextTiming;
477     unsigned char   *YPbPr750pTiming;
478     unsigned char   *YPbPr525pTiming;
479     unsigned char   *YPbPr525iTiming;
480     unsigned char   *HiTVGroup3Data;
481     unsigned char   *HiTVGroup3Simu;
482     unsigned char   *HiTVGroup3Text;
483     unsigned char   *Ren525pGroup3;
484     unsigned char   *Ren750pGroup3;
485     unsigned char   *ScreenOffset;
486     unsigned char   *pXGINew_DRAMTypeDefinition;
487     unsigned char   *pXGINew_I2CDefinition ;
488     unsigned char   *pXGINew_CR97 ;
489
490     struct XGI330_LCDCapStruct  *LCDCapList;
491     struct XGI21_LVDSCapStruct  *XG21_LVDSCapList;
492
493     struct XGI_TimingHStruct  *TimingH;
494     struct XGI_TimingVStruct  *TimingV;
495
496     struct XGI_StStruct          *SModeIDTable;
497     struct XGI_StandTableStruct  *StandTable;
498     struct XGI_ExtStruct         *EModeIDTable;
499     struct XGI_Ext2Struct        *RefIndex;
500     /* XGINew_CRT1TableStruct *CRT1Table; */
501     struct XGI_CRT1TableStruct    *XGINEWUB_CRT1Table;
502     struct XGI_VCLKDataStruct    *VCLKData;
503     struct XGI_VBVCLKDataStruct  *VBVCLKData;
504     struct XGI_StResInfoStruct   *StResInfo;
505     struct XGI_ModeResInfoStruct *ModeResInfo;
506     struct XGI_XG21CRT1Struct     *UpdateCRT1;
507 };  /* _struct vb_device_info */
508
509
510 struct TimingInfo
511 {
512     unsigned short    Horizontal_ACTIVE;
513     unsigned short    Horizontal_FP;
514     unsigned short    Horizontal_SYNC;
515     unsigned short    Horizontal_BP;
516     unsigned short    Vertical_ACTIVE;
517     unsigned short    Vertical_FP;
518     unsigned short    Vertical_SYNC;
519     unsigned short    Vertical_BP;
520     double    DCLK;
521     unsigned char     FrameRate;
522     unsigned char     Interlace;
523     unsigned short    Margin;
524 };
525
526 #define _VB_STRUCT_
527 #endif /* _VB_STRUCT_ */