linux/drivers/staging/xgifb/vb_struct.h

535 lines
13 KiB
C
Raw Normal View History

#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_ */