1 #ifndef _VB_STRUCT_ 2 #define _VB_STRUCT_ 3 4 struct XGI_LCDDataStruct { 5 unsigned short RVBHCMAX; 6 unsigned short RVBHCFACT; 7 unsigned short VGAHT; 8 unsigned short VGAVT; 9 unsigned short LCDHT; 10 unsigned short LCDVT; 11 }; 12 13 14 struct XGI_LVDSCRT1HDataStruct { 15 unsigned char Reg[8]; 16 }; 17 18 struct XGI_LVDSCRT1VDataStruct { 19 unsigned char Reg[7]; 20 }; 21 22 struct XGI_TVDataStruct { 23 unsigned short RVBHCMAX; 24 unsigned short RVBHCFACT; 25 unsigned short VGAHT; 26 unsigned short VGAVT; 27 unsigned short TVHDE; 28 unsigned short TVVDE; 29 unsigned short RVBHRS; 30 unsigned char FlickerMode; 31 unsigned short HALFRVBHRS; 32 unsigned char RY1COE; 33 unsigned char RY2COE; 34 unsigned char RY3COE; 35 unsigned char RY4COE; 36 }; 37 38 struct XGI_StStruct { 39 unsigned char St_ModeID; 40 unsigned short St_ModeFlag; 41 unsigned char St_StTableIndex; 42 unsigned char St_CRT2CRTC; 43 unsigned char St_CRT2CRTC2; 44 unsigned char St_ResInfo; 45 unsigned char VB_StTVFlickerIndex; 46 unsigned char VB_StTVEdgeIndex; 47 unsigned char VB_StTVYFilterIndex; 48 }; 49 50 struct XGI_StandTableStruct { 51 unsigned char CRT_COLS; 52 unsigned char ROWS; 53 unsigned char CHAR_HEIGHT; 54 unsigned short CRT_LEN; 55 unsigned char SR[4]; 56 unsigned char MISC; 57 unsigned char CRTC[0x19]; 58 unsigned char ATTR[0x14]; 59 unsigned char GRC[9]; 60 }; 61 62 struct XGI_ExtStruct { 63 unsigned char Ext_ModeID; 64 unsigned short Ext_ModeFlag; 65 unsigned short Ext_ModeInfo; 66 unsigned short Ext_Point; 67 unsigned short Ext_VESAID; 68 unsigned char Ext_VESAMEMSize; 69 unsigned char Ext_RESINFO; 70 unsigned char VB_ExtTVFlickerIndex; 71 unsigned char VB_ExtTVEdgeIndex; 72 unsigned char VB_ExtTVYFilterIndex; 73 unsigned char REFindex; 74 }; 75 76 struct XGI_Ext2Struct { 77 unsigned short Ext_InfoFlag; 78 unsigned char Ext_CRT1CRTC; 79 unsigned char Ext_CRTVCLK; 80 unsigned char Ext_CRT2CRTC; 81 unsigned char Ext_CRT2CRTC2; 82 unsigned char ModeID; 83 unsigned short XRes; 84 unsigned short YRes; 85 /* unsigned short ROM_OFFSET; */ 86 }; 87 88 89 struct XGI_MCLKDataStruct { 90 unsigned char SR28, SR29, SR2A; 91 unsigned short CLOCK; 92 }; 93 94 struct XGI_ECLKDataStruct { 95 unsigned char SR2E, SR2F, SR30; 96 unsigned short CLOCK; 97 }; 98 99 struct XGI_VCLKDataStruct { 100 unsigned char SR2B, SR2C; 101 unsigned short CLOCK; 102 }; 103 104 struct XGI_VBVCLKDataStruct { 105 unsigned char Part4_A, Part4_B; 106 unsigned short CLOCK; 107 }; 108 109 struct XGI_StResInfoStruct { 110 unsigned short HTotal; 111 unsigned short VTotal; 112 }; 113 114 struct XGI_ModeResInfoStruct { 115 unsigned short HTotal; 116 unsigned short VTotal; 117 unsigned char XChar; 118 unsigned char YChar; 119 }; 120 121 /*add for new UNIVGABIOS*/ 122 struct XGI_LCDDesStruct { 123 unsigned short LCDHDES; 124 unsigned short LCDHRS; 125 unsigned short LCDVDES; 126 unsigned short LCDVRS; 127 }; 128 129 struct XGI_LCDDataTablStruct { 130 unsigned char PANELID; 131 unsigned short MASK; 132 unsigned short CAP; 133 unsigned short DATAPTR; 134 }; 135 136 struct XGI330_LCDDataDesStruct { 137 unsigned short LCDHDES; 138 unsigned short LCDHRS; 139 unsigned short LCDVDES; 140 unsigned short LCDVRS; 141 }; 142 143 144 struct XGI330_LVDSDataStruct { 145 unsigned short VGAHT; 146 unsigned short VGAVT; 147 unsigned short LCDHT; 148 unsigned short LCDVT; 149 }; 150 151 struct XGI330_LCDDataDesStruct2 { 152 unsigned short LCDHDES; 153 unsigned short LCDHRS; 154 unsigned short LCDVDES; 155 unsigned short LCDVRS; 156 unsigned short LCDHSync; 157 unsigned short LCDVSync; 158 }; 159 160 struct XGI330_LCDDataStruct { 161 unsigned short RVBHCMAX; 162 unsigned short RVBHCFACT; 163 unsigned short VGAHT; 164 unsigned short VGAVT; 165 unsigned short LCDHT; 166 unsigned short LCDVT; 167 }; 168 169 170 struct XGI330_TVDataStruct { 171 unsigned short RVBHCMAX; 172 unsigned short RVBHCFACT; 173 unsigned short VGAHT; 174 unsigned short VGAVT; 175 unsigned short TVHDE; 176 unsigned short TVVDE; 177 unsigned short RVBHRS; 178 unsigned char FlickerMode; 179 unsigned short HALFRVBHRS; 180 }; 181 182 struct XGI330_LCDDataTablStruct { 183 unsigned char PANELID; 184 unsigned short MASK; 185 unsigned short CAP; 186 unsigned short DATAPTR; 187 }; 188 189 struct XGI330_TVDataTablStruct { 190 unsigned short MASK; 191 unsigned short CAP; 192 unsigned short DATAPTR; 193 }; 194 195 196 struct XGI330_CHTVDataStruct { 197 unsigned short VGAHT; 198 unsigned short VGAVT; 199 unsigned short LCDHT; 200 unsigned short LCDVT; 201 }; 202 203 struct XGI_TimingHStruct { 204 unsigned char data[8]; 205 }; 206 207 struct XGI_TimingVStruct { 208 unsigned char data[7]; 209 }; 210 211 struct XGI_XG21CRT1Struct { 212 unsigned char ModeID, CR02, CR03, CR15, CR16; 213 }; 214 215 struct XGI330_LCDCapStruct { 216 unsigned char LCD_ID; 217 unsigned short LCD_Capability; 218 unsigned char LCD_SetFlag; 219 unsigned char LCD_DelayCompensation; 220 unsigned char LCD_HSyncWidth; 221 unsigned char LCD_VSyncWidth; 222 unsigned char LCD_VCLK; 223 unsigned char LCDA_VCLKData1; 224 unsigned char LCDA_VCLKData2; 225 unsigned char LCUCHAR_VCLKData1; 226 unsigned char LCUCHAR_VCLKData2; 227 unsigned char PSC_S1; 228 unsigned char PSC_S2; 229 unsigned char PSC_S3; 230 unsigned char PSC_S4; 231 unsigned char PSC_S5; 232 unsigned char PWD_2B; 233 unsigned char PWD_2C; 234 unsigned char PWD_2D; 235 unsigned char PWD_2E; 236 unsigned char PWD_2F; 237 unsigned char Spectrum_31; 238 unsigned char Spectrum_32; 239 unsigned char Spectrum_33; 240 unsigned char Spectrum_34; 241 }; 242 243 struct XGI21_LVDSCapStruct { 244 unsigned short LVDS_Capability; 245 unsigned short LVDSHT; 246 unsigned short LVDSVT; 247 unsigned short LVDSHDE; 248 unsigned short LVDSVDE; 249 unsigned short LVDSHFP; 250 unsigned short LVDSVFP; 251 unsigned short LVDSHSYNC; 252 unsigned short LVDSVSYNC; 253 unsigned char VCLKData1; 254 unsigned char VCLKData2; 255 unsigned char PSC_S1; 256 unsigned char PSC_S2; 257 unsigned char PSC_S3; 258 unsigned char PSC_S4; 259 unsigned char PSC_S5; 260 }; 261 262 struct XGI_CRT1TableStruct { 263 unsigned char CR[16]; 264 }; 265 266 267 struct XGI330_VCLKDataStruct { 268 unsigned char SR2B, SR2C; 269 unsigned short CLOCK; 270 }; 271 272 struct XGI301C_Tap4TimingStruct { 273 unsigned short DE; 274 unsigned char Reg[64]; /* C0-FF */ 275 }; 276 277 struct vb_device_info { 278 unsigned char ISXPDOS; 279 unsigned long P3c4, P3d4, P3c0, P3ce, P3c2, P3cc; 280 unsigned long P3ca, P3c6, P3c7, P3c8, P3c9, P3da; 281 unsigned long Part0Port, Part1Port, Part2Port; 282 unsigned long Part3Port, Part4Port, Part5Port; 283 unsigned short RVBHCFACT, RVBHCMAX, RVBHRS; 284 unsigned short VGAVT, VGAHT, VGAVDE, VGAHDE; 285 unsigned short VT, HT, VDE, HDE; 286 unsigned short LCDHRS, LCDVRS, LCDHDES, LCDVDES; 287 288 unsigned short ModeType; 289 /* ,IF_DEF_FSTN; add for dstn */ 290 unsigned short IF_DEF_LVDS, IF_DEF_TRUMPION, IF_DEF_DSTN; 291 unsigned short IF_DEF_CRT2Monitor; 292 unsigned short IF_DEF_LCDA, IF_DEF_YPbPr; 293 unsigned short IF_DEF_ExpLink; 294 unsigned short IF_DEF_HiVision; 295 unsigned short LCDResInfo, LCDTypeInfo, VBType;/*301b*/ 296 unsigned short VBInfo, TVInfo, LCDInfo; 297 unsigned short VBExtInfo;/*301lv*/ 298 unsigned short SetFlag; 299 unsigned short NewFlickerMode; 300 unsigned short SelectCRT2Rate; 301 302 void __iomem *FBAddr; 303 unsigned long BaseAddr; 304 unsigned long RelIO; 305 306 unsigned char (*CR6B)[4]; 307 unsigned char (*CR6E)[4]; 308 unsigned char (*CR6F)[32]; 309 unsigned char (*CR89)[2]; 310 311 unsigned char (*SR15)[8]; 312 unsigned char (*CR40)[8]; 313 314 unsigned char *pSoftSetting; 315 unsigned char *pOutputSelect; 316 317 unsigned short *pRGBSenseData; 318 unsigned short *pRGBSenseData2; /*301b*/ 319 unsigned short *pVideoSenseData; 320 unsigned short *pVideoSenseData2; 321 unsigned short *pYCSenseData; 322 unsigned short *pYCSenseData2; 323 324 unsigned char *pSR07; 325 unsigned char *CR49; 326 unsigned char *pSR1F; 327 unsigned char *AGPReg; 328 unsigned char *SR16; 329 unsigned char *pSR21; 330 unsigned char *pSR22; 331 unsigned char *pSR23; 332 unsigned char *pSR24; 333 unsigned char *SR25; 334 unsigned char *pSR31; 335 unsigned char *pSR32; 336 unsigned char *pSR33; 337 unsigned char *pSR36; /* alan 12/07/2006 */ 338 unsigned char *pCRCF; 339 unsigned char *pCRD0; /* alan 12/07/2006 */ 340 unsigned char *pCRDE; /* alan 12/07/2006 */ 341 unsigned char *pCR8F; /* alan 12/07/2006 */ 342 unsigned char *pSR40; /* alan 12/07/2006 */ 343 unsigned char *pSR41; /* alan 12/07/2006 */ 344 unsigned char *pDVOSetting; 345 unsigned char *pCR2E; 346 unsigned char *pCR2F; 347 unsigned char *pCR46; 348 unsigned char *pCR47; 349 unsigned char *pCRT2Data_1_2; 350 unsigned char *pCRT2Data_4_D; 351 unsigned char *pCRT2Data_4_E; 352 unsigned char *pCRT2Data_4_10; 353 struct XGI_MCLKDataStruct *MCLKData; 354 struct XGI_ECLKDataStruct *ECLKData; 355 356 unsigned char *XGI_TVDelayList; 357 unsigned char *XGI_TVDelayList2; 358 unsigned char *NTSCTiming; 359 unsigned char *PALTiming; 360 unsigned char *HiTVExtTiming; 361 unsigned char *HiTVSt1Timing; 362 unsigned char *HiTVSt2Timing; 363 unsigned char *HiTVTextTiming; 364 unsigned char *YPbPr750pTiming; 365 unsigned char *YPbPr525pTiming; 366 unsigned char *YPbPr525iTiming; 367 unsigned char *HiTVGroup3Data; 368 unsigned char *HiTVGroup3Simu; 369 unsigned char *HiTVGroup3Text; 370 unsigned char *Ren525pGroup3; 371 unsigned char *Ren750pGroup3; 372 unsigned char *ScreenOffset; 373 unsigned char *pXGINew_DRAMTypeDefinition; 374 unsigned char *pXGINew_I2CDefinition ; 375 unsigned char *pXGINew_CR97 ; 376 377 struct XGI330_LCDCapStruct *LCDCapList; 378 379 struct XGI_TimingHStruct *TimingH; 380 struct XGI_TimingVStruct *TimingV; 381 382 struct XGI_StStruct *SModeIDTable; 383 struct XGI_StandTableStruct *StandTable; 384 struct XGI_ExtStruct *EModeIDTable; 385 struct XGI_Ext2Struct *RefIndex; 386 /* XGINew_CRT1TableStruct *CRT1Table; */ 387 struct XGI_CRT1TableStruct *XGINEWUB_CRT1Table; 388 struct XGI_VCLKDataStruct *VCLKData; 389 struct XGI_VBVCLKDataStruct *VBVCLKData; 390 struct XGI_StResInfoStruct *StResInfo; 391 struct XGI_ModeResInfoStruct *ModeResInfo; 392 struct XGI_XG21CRT1Struct *UpdateCRT1; 393 394 int ram_type; 395 int ram_channel; 396 int ram_bus; 397 }; /* _struct vb_device_info */ 398 399 #endif /* _VB_STRUCT_ */ 400