#ifndef _VB_STRUCT_ #define _VB_STRUCT_ #ifdef _INITNEW_ #define EXTERN #else #define EXTERN extern #endif typedef struct _XGI_PanelDelayTblStruct { unsigned char timer[2]; } XGI_PanelDelayTblStruct; typedef struct _XGI_LCDDataStruct { unsigned short RVBHCMAX; unsigned short RVBHCFACT; unsigned short VGAHT; unsigned short VGAVT; unsigned short LCDHT; unsigned short LCDVT; } XGI_LCDDataStruct; typedef struct _XGI_LVDSCRT1HDataStruct { unsigned char Reg[8]; } XGI_LVDSCRT1HDataStruct; typedef struct _XGI_LVDSCRT1VDataStruct { unsigned char Reg[7]; } XGI_LVDSCRT1VDataStruct; typedef struct _XGI_TVDataStruct { unsigned short RVBHCMAX; unsigned short RVBHCFACT; unsigned short VGAHT; unsigned short VGAVT; unsigned short TVHDE; unsigned short TVVDE; unsigned short RVBHRS; unsigned char FlickerMode; unsigned short HALFRVBHRS; unsigned char RY1COE; unsigned char RY2COE; unsigned char RY3COE; unsigned char RY4COE; } XGI_TVDataStruct; typedef struct _XGI_LVDSDataStruct { unsigned short VGAHT; unsigned short VGAVT; unsigned short LCDHT; unsigned short LCDVT; } XGI_LVDSDataStruct; typedef struct _XGI_LVDSDesStruct { unsigned short LCDHDES; unsigned short LCDVDES; } XGI_LVDSDesStruct; typedef struct _XGI_LVDSCRT1DataStruct { unsigned char CR[15]; } XGI_LVDSCRT1DataStruct; /*add for LCDA*/ typedef struct _XGI_StStruct { unsigned char St_ModeID; unsigned short St_ModeFlag; unsigned char St_StTableIndex; unsigned char St_CRT2CRTC; unsigned char St_CRT2CRTC2; unsigned char St_ResInfo; unsigned char VB_StTVFlickerIndex; unsigned char VB_StTVEdgeIndex; unsigned char VB_StTVYFilterIndex; } XGI_StStruct; typedef struct _XGI_StandTableStruct { unsigned char CRT_COLS; unsigned char ROWS; unsigned char CHAR_HEIGHT; unsigned short CRT_LEN; unsigned char SR[4]; unsigned char MISC; unsigned char CRTC[0x19]; unsigned char ATTR[0x14]; unsigned char GRC[9]; } XGI_StandTableStruct; typedef struct _XGI_ExtStruct { unsigned char Ext_ModeID; unsigned short Ext_ModeFlag; unsigned short Ext_ModeInfo; unsigned short Ext_Point; unsigned short Ext_VESAID; unsigned char Ext_VESAMEMSize; unsigned char Ext_RESINFO; unsigned char VB_ExtTVFlickerIndex; unsigned char VB_ExtTVEdgeIndex; unsigned char VB_ExtTVYFilterIndex; unsigned char REFindex; } XGI_ExtStruct; typedef struct _XGI_Ext2Struct { unsigned short Ext_InfoFlag; unsigned char Ext_CRT1CRTC; unsigned char Ext_CRTVCLK; unsigned char Ext_CRT2CRTC; unsigned char Ext_CRT2CRTC2; unsigned char ModeID; unsigned short XRes; unsigned short YRes; /* unsigned short ROM_OFFSET; */ } XGI_Ext2Struct; typedef struct _XGI_MCLKDataStruct { unsigned char SR28, SR29, SR2A; unsigned short CLOCK; } XGI_MCLKDataStruct; typedef struct _XGI_ECLKDataStruct { unsigned char SR2E, SR2F, SR30; unsigned short CLOCK; } XGI_ECLKDataStruct; typedef struct _XGI_VCLKDataStruct { unsigned char SR2B, SR2C; unsigned short CLOCK; } XGI_VCLKDataStruct; typedef struct _XGI_VBVCLKDataStruct { unsigned char Part4_A, Part4_B; unsigned short CLOCK; } XGI_VBVCLKDataStruct; typedef struct _XGI_StResInfoStruct { unsigned short HTotal; unsigned short VTotal; } XGI_StResInfoStruct; typedef struct _XGI_ModeResInfoStruct { unsigned short HTotal; unsigned short VTotal; unsigned char XChar; unsigned char YChar; } XGI_ModeResInfoStruct; typedef struct _XGI_LCDNBDesStruct { unsigned char NB[12]; } XGI_LCDNBDesStruct; /*add for new UNIVGABIOS*/ typedef struct _XGI_LCDDesStruct { unsigned short LCDHDES; unsigned short LCDHRS; unsigned short LCDVDES; unsigned short LCDVRS; } XGI_LCDDesStruct; typedef struct _XGI_LCDDataTablStruct { unsigned char PANELID; unsigned short MASK; unsigned short CAP; unsigned short DATAPTR; } XGI_LCDDataTablStruct; typedef struct _XGI_TVTablDataStruct { unsigned short MASK; unsigned short CAP; unsigned short DATAPTR; } XGI_TVDataTablStruct; typedef struct _XGI330_LCDDesDataStruct { unsigned short LCDHDES; unsigned short LCDHRS; unsigned short LCDVDES; unsigned short LCDVRS; } XGI330_LCDDataDesStruct; typedef struct _XGI330_LVDSDataStruct { unsigned short VGAHT; unsigned short VGAVT; unsigned short LCDHT; unsigned short LCDVT; } XGI330_LVDSDataStruct; typedef struct _XGI330_LCDDesDataStruct2 { unsigned short LCDHDES; unsigned short LCDHRS; unsigned short LCDVDES; unsigned short LCDVRS; unsigned short LCDHSync; unsigned short LCDVSync; } XGI330_LCDDataDesStruct2; typedef struct _XGI330_LCDDataStruct { unsigned short RVBHCMAX; unsigned short RVBHCFACT; unsigned short VGAHT; unsigned short VGAVT; unsigned short LCDHT; unsigned short LCDVT; } XGI330_LCDDataStruct; typedef struct _XGI330_TVDataStruct { unsigned short RVBHCMAX; unsigned short RVBHCFACT; unsigned short VGAHT; unsigned short VGAVT; unsigned short TVHDE; unsigned short TVVDE; unsigned short RVBHRS; unsigned char FlickerMode; unsigned short HALFRVBHRS; } XGI330_TVDataStruct; typedef struct _XGI330_LCDDataTablStruct { unsigned char PANELID; unsigned short MASK; unsigned short CAP; unsigned short DATAPTR; } XGI330_LCDDataTablStruct; typedef struct _XGI330_TVDataTablStruct { unsigned short MASK; unsigned short CAP; unsigned short DATAPTR; } XGI330_TVDataTablStruct; typedef struct _XGI330_CHTVDataStruct { unsigned short VGAHT; unsigned short VGAVT; unsigned short LCDHT; unsigned short LCDVT; } XGI330_CHTVDataStruct; typedef struct _XGI_TimingHStruct { unsigned char data[8]; } XGI_TimingHStruct; typedef struct _XGI_TimingVStruct { unsigned char data[7]; } XGI_TimingVStruct; typedef struct _XGI_CH7007TV_TimingHStruct { unsigned char data[10]; } XGI_CH7007TV_TimingHStruct; typedef struct _XGI_CH7007TV_TimingVStruct { unsigned char data[10]; } XGI_CH7007TV_TimingVStruct; typedef struct _XGI_XG21CRT1Struct { unsigned char ModeID, CR02, CR03, CR15, CR16; } XGI_XG21CRT1Struct; typedef struct _XGI330_CHTVRegDataStruct { unsigned char Reg[16]; } XGI330_CHTVRegDataStruct; typedef struct _XGI330_LCDCapStruct { unsigned char LCD_ID; unsigned short LCD_Capability; unsigned char LCD_SetFlag; unsigned char LCD_DelayCompensation; unsigned char LCD_HSyncWidth; unsigned char LCD_VSyncWidth; unsigned char LCD_VCLK; unsigned char LCDA_VCLKData1; unsigned char LCDA_VCLKData2; unsigned char LCUCHAR_VCLKData1; unsigned char LCUCHAR_VCLKData2; unsigned char PSC_S1; unsigned char PSC_S2; unsigned char PSC_S3; unsigned char PSC_S4; unsigned char PSC_S5; unsigned char PWD_2B; unsigned char PWD_2C; unsigned char PWD_2D; unsigned char PWD_2E; unsigned char PWD_2F; unsigned char Spectrum_31; unsigned char Spectrum_32; unsigned char Spectrum_33; unsigned char Spectrum_34; } XGI330_LCDCapStruct; typedef struct _XGI21_LVDSCapStruct { unsigned short LVDS_Capability; unsigned short LVDSHT; unsigned short LVDSVT; unsigned short LVDSHDE; unsigned short LVDSVDE; unsigned short LVDSHFP; unsigned short LVDSVFP; unsigned short LVDSHSYNC; unsigned short LVDSVSYNC; unsigned char VCLKData1; unsigned char VCLKData2; unsigned char PSC_S1; unsigned char PSC_S2; unsigned char PSC_S3; unsigned char PSC_S4; unsigned char PSC_S5; } XGI21_LVDSCapStruct; typedef struct _XGI_CRT1TableStruct { unsigned char CR[16]; } XGI_CRT1TableStruct; typedef struct _XGI330_VCLKDataStruct { unsigned char SR2B, SR2C; unsigned short CLOCK; } XGI330_VCLKDataStruct; typedef struct _XGI301C_Tap4TimingStruct { unsigned short DE; unsigned char Reg[64]; /* C0-FF */ } XGI301C_Tap4TimingStruct; typedef struct _XGI_New_StandTableStruct { unsigned char CRT_COLS; unsigned char ROWS; unsigned char CHAR_HEIGHT; unsigned short CRT_LEN; unsigned char SR[4]; unsigned char MISC; unsigned char CRTC[0x19]; unsigned char ATTR[0x14]; unsigned char GRC[9]; } XGI_New_StandTableStruct; typedef unsigned char DRAM8Type[8]; typedef unsigned char DRAM4Type[4]; typedef unsigned char DRAM32Type[32]; typedef unsigned char DRAM2Type[2]; typedef struct _VB_DEVICE_INFO VB_DEVICE_INFO; typedef VB_DEVICE_INFO * PVB_DEVICE_INFO; struct _VB_DEVICE_INFO { unsigned char ISXPDOS; unsigned long P3c4,P3d4,P3c0,P3ce,P3c2,P3cc; unsigned long P3ca,P3c6,P3c7,P3c8,P3c9,P3da; unsigned long Part0Port,Part1Port,Part2Port; unsigned long Part3Port,Part4Port,Part5Port; unsigned short RVBHCFACT,RVBHCMAX,RVBHRS; unsigned short VGAVT,VGAHT,VGAVDE,VGAHDE; unsigned short VT,HT,VDE,HDE; unsigned short LCDHRS,LCDVRS,LCDHDES,LCDVDES; unsigned short ModeType; unsigned short IF_DEF_LVDS,IF_DEF_TRUMPION,IF_DEF_DSTN;/* ,IF_DEF_FSTN; add for dstn */ unsigned short IF_DEF_CRT2Monitor,IF_DEF_VideoCapture; unsigned short IF_DEF_LCDA,IF_DEF_CH7017,IF_DEF_YPbPr,IF_DEF_ScaleLCD,IF_DEF_OEMUtil,IF_DEF_PWD; unsigned short IF_DEF_ExpLink; unsigned short IF_DEF_CH7005,IF_DEF_HiVision; unsigned short IF_DEF_CH7007; /* Billy 2007/05/03 */ unsigned short LCDResInfo,LCDTypeInfo, VBType;/*301b*/ unsigned short VBInfo,TVInfo,LCDInfo, Set_VGAType; unsigned short VBExtInfo;/*301lv*/ unsigned short SetFlag; unsigned short NewFlickerMode; unsigned short SelectCRT2Rate; unsigned char *ROMAddr; unsigned char *FBAddr; unsigned long BaseAddr; unsigned long RelIO; DRAM4Type *CR6B; DRAM4Type *CR6E; DRAM32Type *CR6F; DRAM2Type *CR89; DRAM8Type *SR15; /* pointer : point to array */ DRAM8Type *CR40; unsigned char *pSoftSetting; unsigned char *pOutputSelect; unsigned short *pRGBSenseData; unsigned short *pRGBSenseData2; /*301b*/ unsigned short *pVideoSenseData; unsigned short *pVideoSenseData2; unsigned short *pYCSenseData; unsigned short *pYCSenseData2; unsigned char *pSR07; unsigned char *CR49; unsigned char *pSR1F; unsigned char *AGPReg; unsigned char *SR16; unsigned char *pSR21; unsigned char *pSR22; unsigned char *pSR23; unsigned char *pSR24; unsigned char *SR25; unsigned char *pSR31; unsigned char *pSR32; unsigned char *pSR33; unsigned char *pSR36; /* alan 12/07/2006 */ unsigned char *pCRCF; unsigned char *pCRD0; /* alan 12/07/2006 */ unsigned char *pCRDE; /* alan 12/07/2006 */ unsigned char *pCR8F; /* alan 12/07/2006 */ unsigned char *pSR40; /* alan 12/07/2006 */ unsigned char *pSR41; /* alan 12/07/2006 */ unsigned char *pDVOSetting; unsigned char *pCR2E; unsigned char *pCR2F; unsigned char *pCR46; unsigned char *pCR47; unsigned char *pCRT2Data_1_2; unsigned char *pCRT2Data_4_D; unsigned char *pCRT2Data_4_E; unsigned char *pCRT2Data_4_10; XGI_MCLKDataStruct *MCLKData; XGI_ECLKDataStruct *ECLKData; unsigned char *XGI_TVDelayList; unsigned char *XGI_TVDelayList2; unsigned char *CHTVVCLKUNTSC; unsigned char *CHTVVCLKONTSC; unsigned char *CHTVVCLKUPAL; unsigned char *CHTVVCLKOPAL; unsigned char *NTSCTiming; unsigned char *PALTiming; unsigned char *HiTVExtTiming; unsigned char *HiTVSt1Timing; unsigned char *HiTVSt2Timing; unsigned char *HiTVTextTiming; unsigned char *YPbPr750pTiming; unsigned char *YPbPr525pTiming; unsigned char *YPbPr525iTiming; unsigned char *HiTVGroup3Data; unsigned char *HiTVGroup3Simu; unsigned char *HiTVGroup3Text; unsigned char *Ren525pGroup3; unsigned char *Ren750pGroup3; unsigned char *ScreenOffset; unsigned char *pXGINew_DRAMTypeDefinition; unsigned char *pXGINew_I2CDefinition ; unsigned char *pXGINew_CR97 ; XGI330_LCDCapStruct *LCDCapList; XGI21_LVDSCapStruct *XG21_LVDSCapList; XGI_TimingHStruct *TimingH; XGI_TimingVStruct *TimingV; XGI_StStruct *SModeIDTable; XGI_StandTableStruct *StandTable; XGI_ExtStruct *EModeIDTable; XGI_Ext2Struct *RefIndex; /* XGINew_CRT1TableStruct *CRT1Table; */ XGI_CRT1TableStruct *XGINEWUB_CRT1Table; XGI_VCLKDataStruct *VCLKData; XGI_VBVCLKDataStruct *VBVCLKData; XGI_StResInfoStruct *StResInfo; XGI_ModeResInfoStruct *ModeResInfo; XGI_XG21CRT1Struct *UpdateCRT1; }; /* _VB_DEVICE_INFO */ typedef struct { unsigned short Horizontal_ACTIVE; unsigned short Horizontal_FP; unsigned short Horizontal_SYNC; unsigned short Horizontal_BP; unsigned short Vertical_ACTIVE; unsigned short Vertical_FP; unsigned short Vertical_SYNC; unsigned short Vertical_BP; double DCLK; unsigned char FrameRate; unsigned char Interlace; unsigned short Margin; } TimingInfo; #define _VB_STRUCT_ #endif /* _VB_STRUCT_ */