📄 init.c
字号:
/* Function: Support NT X.0 MM function *//* Version : V 0.80 [ynlai] 04/12/98 */#include "init.h"#ifdef CONFIG_FB_SIS_300#include "300vtbl.h"#endif#ifdef CONFIG_FB_SIS_315#include "310vtbl.h"#endifBOOLEAN SiSInit (PSIS_HW_DEVICE_INFO HwDeviceExtension);BOOLEAN SiSSetMode (PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT ModeNo);#if defined(ALLOC_PRAGMA)#pragma alloc_text(PAGE,SiSSetMode)#pragma alloc_text(PAGE,SiSInit)#endifvoid SiS_SetReg1 (USHORT, USHORT, USHORT);void SiS_SetReg2 (USHORT, USHORT, USHORT);void SiS_SetReg3 (USHORT, USHORT);void SiS_SetReg4 (USHORT, ULONG);UCHAR SiS_GetReg1 (USHORT, USHORT);UCHAR SiS_GetReg2 (USHORT);ULONG SiS_GetReg3 (USHORT);void SiS_ClearDAC (ULONG);#ifdef CONFIG_FB_SIS_300voidInitTo300Pointer (void){ SiS_SModeIDTable = (SiS_StStruct *) SiS300_SModeIDTable; SiS_VBModeIDTable = (SiS_VBModeStruct *) SiS300_VBModeIDTable; /*add for 300 oem util */ SiS_StandTable = (SiS_StandTableStruct *) SiS300_StandTable; SiS_EModeIDTable = (SiS_ExtStruct *) SiS300_EModeIDTable; SiS_RefIndex = (SiS_Ext2Struct *) SiS300_RefIndex; SiS_CRT1Table = (SiS_CRT1TableStruct *) SiS300_CRT1Table; SiS_MCLKData = (SiS_MCLKDataStruct *) SiS300_MCLKData; SiS_ECLKData = (SiS_ECLKDataStruct *) SiS300_ECLKData; SiS_VCLKData = (SiS_VCLKDataStruct *) SiS300_VCLKData; SiS_VBVCLKData = (SiS_VBVCLKDataStruct *) SiS300_VCLKData; SiS_ScreenOffset = SiS300_ScreenOffset; SiS_StResInfo = (SiS_StResInfoStruct *) SiS300_StResInfo; SiS_ModeResInfo = (SiS_ModeResInfoStruct *) SiS300_ModeResInfo; pSiS_OutputSelect = &SiS300_OutputSelect; pSiS_SoftSetting = &SiS300_SoftSetting; pSiS_SR07 = &SiS300_SR07; SiS_SR15 = SiS300_SR15; SiS_CR40 = SiS300_CR40; SiS_CR49 = SiS300_CR49; pSiS_SR1F = &SiS300_SR1F; pSiS_SR21 = &SiS300_SR21; pSiS_SR22 = &SiS300_SR22; pSiS_SR23 = &SiS300_SR23; pSiS_SR24 = &SiS300_SR24; SiS_SR25 = SiS300_SR25; pSiS_SR31 = &SiS300_SR31; pSiS_SR32 = &SiS300_SR32; pSiS_SR33 = &SiS300_SR33; pSiS_CRT2Data_1_2 = &SiS300_CRT2Data_1_2; pSiS_CRT2Data_4_D = &SiS300_CRT2Data_4_D; pSiS_CRT2Data_4_E = &SiS300_CRT2Data_4_E; pSiS_CRT2Data_4_10 = &SiS300_CRT2Data_4_10; pSiS_RGBSenseData = &SiS300_RGBSenseData; pSiS_VideoSenseData = &SiS300_VideoSenseData; pSiS_YCSenseData = &SiS300_YCSenseData; pSiS_RGBSenseData2 = &SiS300_RGBSenseData2; pSiS_VideoSenseData2 = &SiS300_VideoSenseData2; pSiS_YCSenseData2 = &SiS300_YCSenseData2; SiS_NTSCPhase = SiS300_NTSCPhase; SiS_PALPhase = SiS300_PALPhase; SiS_NTSCPhase2 = SiS300_NTSCPhase2; SiS_PALPhase2 = SiS300_PALPhase2; SiS_PALMPhase = SiS300_PALMPhase; /*add for PALMN */ SiS_PALNPhase = SiS300_PALNPhase; SiS_StLCD1024x768Data = (SiS_LCDDataStruct *) SiS300_StLCD1024x768Data; SiS_ExtLCD1024x768Data = (SiS_LCDDataStruct *) SiS300_ExtLCD1024x768Data; SiS_St2LCD1024x768Data = (SiS_LCDDataStruct *) SiS300_St2LCD1024x768Data; SiS_StLCD1280x1024Data = (SiS_LCDDataStruct *) SiS300_StLCD1280x1024Data; SiS_ExtLCD1280x1024Data = (SiS_LCDDataStruct *) SiS300_ExtLCD1280x1024Data; SiS_St2LCD1280x1024Data = (SiS_LCDDataStruct *) SiS300_St2LCD1280x1024Data; SiS_NoScaleData = (SiS_LCDDataStruct *) SiS300_NoScaleData; SiS_LCD1280x960Data = (SiS_LCDDataStruct *) SiS300_LCD1280x960Data; SiS_StPALData = (SiS_TVDataStruct *) SiS300_StPALData; SiS_ExtPALData = (SiS_TVDataStruct *) SiS300_ExtPALData; SiS_StNTSCData = (SiS_TVDataStruct *) SiS300_StNTSCData; SiS_ExtNTSCData = (SiS_TVDataStruct *) SiS300_ExtNTSCData; SiS_St1HiTVData = (SiS_TVDataStruct *) SiS300_St1HiTVData; SiS_St2HiTVData = (SiS_TVDataStruct *) SiS300_St2HiTVData; SiS_ExtHiTVData = (SiS_TVDataStruct *) SiS300_ExtHiTVData; SiS_NTSCTiming = SiS300_NTSCTiming; SiS_PALTiming = SiS300_PALTiming; SiS_HiTVSt1Timing = SiS300_HiTVSt1Timing; SiS_HiTVSt2Timing = SiS300_HiTVSt2Timing; SiS_HiTVTextTiming = SiS300_HiTVTextTiming; SiS_HiTVGroup3Data = SiS300_HiTVGroup3Data; SiS_HiTVGroup3Simu = SiS300_HiTVGroup3Simu; SiS_HiTVGroup3Text = SiS300_HiTVGroup3Text; SiS_PanelDelayTbl = (SiS_PanelDelayTblStruct *) SiS300_PanelDelayTbl; SiS_LVDS800x600Data_1 = (SiS_LVDSDataStruct *) SiS300_LVDS800x600Data_1; SiS_LVDS800x600Data_2 = (SiS_LVDSDataStruct *) SiS300_LVDS800x600Data_2; SiS_LVDS1024x768Data_1 = (SiS_LVDSDataStruct *) SiS300_LVDS1024x768Data_1; SiS_LVDS1024x768Data_2 = (SiS_LVDSDataStruct *) SiS300_LVDS1024x768Data_2; SiS_LVDS1280x1024Data_1 = (SiS_LVDSDataStruct *) SiS300_LVDS1280x1024Data_1; SiS_LVDS1280x1024Data_2 = (SiS_LVDSDataStruct *) SiS300_LVDS1280x1024Data_2; SiS_LVDS640x480Data_1 = (SiS_LVDSDataStruct *) SiS300_LVDS640x480Data_1; SiS_CHTVUNTSCData = (SiS_LVDSDataStruct *) SiS300_CHTVUNTSCData; SiS_CHTVONTSCData = (SiS_LVDSDataStruct *) SiS300_CHTVONTSCData; SiS_CHTVUPALData = (SiS_LVDSDataStruct *) SiS300_CHTVUPALData; SiS_CHTVOPALData = (SiS_LVDSDataStruct *) SiS300_CHTVOPALData; SiS_PanelType00_1 = (SiS_LVDSDesStruct *) SiS300_PanelType00_1; SiS_PanelType01_1 = (SiS_LVDSDesStruct *) SiS300_PanelType01_1; SiS_PanelType02_1 = (SiS_LVDSDesStruct *) SiS300_PanelType02_1; SiS_PanelType03_1 = (SiS_LVDSDesStruct *) SiS300_PanelType03_1; SiS_PanelType04_1 = (SiS_LVDSDesStruct *) SiS300_PanelType04_1; SiS_PanelType05_1 = (SiS_LVDSDesStruct *) SiS300_PanelType05_1; SiS_PanelType06_1 = (SiS_LVDSDesStruct *) SiS300_PanelType06_1; SiS_PanelType07_1 = (SiS_LVDSDesStruct *) SiS300_PanelType07_1; SiS_PanelType08_1 = (SiS_LVDSDesStruct *) SiS300_PanelType08_1; SiS_PanelType09_1 = (SiS_LVDSDesStruct *) SiS300_PanelType09_1; SiS_PanelType0a_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0a_1; SiS_PanelType0b_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0b_1; SiS_PanelType0c_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0c_1; SiS_PanelType0d_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0d_1; SiS_PanelType0e_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0e_1; SiS_PanelType0f_1 = (SiS_LVDSDesStruct *) SiS300_PanelType0f_1; SiS_PanelType00_2 = (SiS_LVDSDesStruct *) SiS300_PanelType00_2; SiS_PanelType01_2 = (SiS_LVDSDesStruct *) SiS300_PanelType01_2; SiS_PanelType02_2 = (SiS_LVDSDesStruct *) SiS300_PanelType02_2; SiS_PanelType03_2 = (SiS_LVDSDesStruct *) SiS300_PanelType03_2; SiS_PanelType04_2 = (SiS_LVDSDesStruct *) SiS300_PanelType04_2; SiS_PanelType05_2 = (SiS_LVDSDesStruct *) SiS300_PanelType05_2; SiS_PanelType06_2 = (SiS_LVDSDesStruct *) SiS300_PanelType06_2; SiS_PanelType07_2 = (SiS_LVDSDesStruct *) SiS300_PanelType07_2; SiS_PanelType08_2 = (SiS_LVDSDesStruct *) SiS300_PanelType08_2; SiS_PanelType09_2 = (SiS_LVDSDesStruct *) SiS300_PanelType09_2; SiS_PanelType0a_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0a_2; SiS_PanelType0b_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0b_2; SiS_PanelType0c_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0c_2; SiS_PanelType0d_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0d_2; SiS_PanelType0e_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0e_2; SiS_PanelType0f_2 = (SiS_LVDSDesStruct *) SiS300_PanelType0f_2; SiS_CHTVUNTSCDesData = (SiS_LVDSDesStruct *) SiS300_CHTVUNTSCDesData; SiS_CHTVONTSCDesData = (SiS_LVDSDesStruct *) SiS300_CHTVONTSCDesData; SiS_CHTVUPALDesData = (SiS_LVDSDesStruct *) SiS300_CHTVUPALDesData; SiS_CHTVOPALDesData = (SiS_LVDSDesStruct *) SiS300_CHTVOPALDesData; SiS_LVDSCRT1800x600_1 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT1800x600_1; SiS_LVDSCRT11024x768_1 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11024x768_1; SiS_LVDSCRT11280x1024_1 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11280x1024_1; SiS_LVDSCRT1800x600_1_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT1800x600_1_H; SiS_LVDSCRT11024x768_1_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11024x768_1_H; SiS_LVDSCRT11280x1024_1_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11280x1024_1_H; SiS_LVDSCRT1800x600_2 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT1800x600_2; SiS_LVDSCRT11024x768_2 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11024x768_2; SiS_LVDSCRT11280x1024_2 = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11280x1024_2; SiS_LVDSCRT1800x600_2_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT1800x600_2_H; SiS_LVDSCRT11024x768_2_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11024x768_2_H; SiS_LVDSCRT11280x1024_2_H = (SiS_LVDSCRT1DataStruct *) SiS300_LVDSCRT11280x1024_2_H; SiS_CHTVCRT1UNTSC = (SiS_LVDSCRT1DataStruct *) SiS300_CHTVCRT1UNTSC; SiS_CHTVCRT1ONTSC = (SiS_LVDSCRT1DataStruct *) SiS300_CHTVCRT1ONTSC; SiS_CHTVCRT1UPAL = (SiS_LVDSCRT1DataStruct *) SiS300_CHTVCRT1UPAL; SiS_CHTVCRT1OPAL = (SiS_LVDSCRT1DataStruct *) SiS300_CHTVCRT1OPAL; SiS_CHTVReg_UNTSC = (SiS_CHTVRegDataStruct *) SiS300_CHTVReg_UNTSC; SiS_CHTVReg_ONTSC = (SiS_CHTVRegDataStruct *) SiS300_CHTVReg_ONTSC; SiS_CHTVReg_UPAL = (SiS_CHTVRegDataStruct *) SiS300_CHTVReg_UPAL; SiS_CHTVReg_OPAL = (SiS_CHTVRegDataStruct *) SiS300_CHTVReg_OPAL; SiS_CHTVVCLKUNTSC = SiS300_CHTVVCLKUNTSC; SiS_CHTVVCLKONTSC = SiS300_CHTVVCLKONTSC; SiS_CHTVVCLKUPAL = SiS300_CHTVVCLKUPAL; SiS_CHTVVCLKOPAL = SiS300_CHTVVCLKOPAL; /* 300 customization related */}#endif#ifdef CONFIG_FB_SIS_315voidInitTo310Pointer (void){ SiS_SModeIDTable = (SiS_StStruct *) SiS310_SModeIDTable; SiS_StandTable = (SiS_StandTableStruct *) SiS310_StandTable; SiS_EModeIDTable = (SiS_ExtStruct *) SiS310_EModeIDTable; SiS_RefIndex = (SiS_Ext2Struct *) SiS310_RefIndex; SiS_CRT1Table = (SiS_CRT1TableStruct *) SiS310_CRT1Table; SiS_MCLKData = (SiS_MCLKDataStruct *) SiS310_MCLKData; SiS_ECLKData = (SiS_ECLKDataStruct *) SiS310_ECLKData; SiS_VCLKData = (SiS_VCLKDataStruct *) SiS310_VCLKData; SiS_VBVCLKData = (SiS_VBVCLKDataStruct *) SiS310_VBVCLKData; SiS_ScreenOffset = SiS310_ScreenOffset; SiS_StResInfo = (SiS_StResInfoStruct *) SiS310_StResInfo; SiS_ModeResInfo = (SiS_ModeResInfoStruct *) SiS310_ModeResInfo; pSiS_OutputSelect = &SiS310_OutputSelect; pSiS_SoftSetting = &SiS310_SoftSetting; pSiS_SR07 = &SiS310_SR07; SiS_SR15 = SiS310_SR15; SiS_CR40 = SiS310_CR40; SiS_CR49 = SiS310_CR49; pSiS_SR1F = &SiS310_SR1F; pSiS_SR21 = &SiS310_SR21; pSiS_SR22 = &SiS310_SR22; pSiS_SR23 = &SiS310_SR23; pSiS_SR24 = &SiS310_SR24; SiS_SR25 = SiS310_SR25; pSiS_SR31 = &SiS310_SR31; pSiS_SR32 = &SiS310_SR32; pSiS_SR33 = &SiS310_SR33; pSiS_CRT2Data_1_2 = &SiS310_CRT2Data_1_2; pSiS_CRT2Data_4_D = &SiS310_CRT2Data_4_D; pSiS_CRT2Data_4_E = &SiS310_CRT2Data_4_E; pSiS_CRT2Data_4_10 = &SiS310_CRT2Data_4_10; pSiS_RGBSenseData = &SiS310_RGBSenseData; pSiS_VideoSenseData = &SiS310_VideoSenseData; pSiS_YCSenseData = &SiS310_YCSenseData; pSiS_RGBSenseData2 = &SiS310_RGBSenseData2; pSiS_VideoSenseData2 = &SiS310_VideoSenseData2; pSiS_YCSenseData2 = &SiS310_YCSenseData2; SiS_NTSCPhase = SiS310_NTSCPhase; SiS_PALPhase = SiS310_PALPhase; SiS_NTSCPhase2 = SiS310_NTSCPhase2; SiS_PALPhase2 = SiS310_PALPhase2; SiS_PALMPhase = SiS310_PALMPhase; /*add for PALMN */ SiS_PALNPhase = SiS310_PALNPhase; SiS_StLCD1024x768Data = (SiS_LCDDataStruct *) SiS310_StLCD1024x768Data; SiS_ExtLCD1024x768Data = (SiS_LCDDataStruct *) SiS310_ExtLCD1024x768Data; SiS_St2LCD1024x768Data = (SiS_LCDDataStruct *) SiS310_St2LCD1024x768Data; SiS_StLCD1280x1024Data = (SiS_LCDDataStruct *) SiS310_StLCD1280x1024Data; SiS_ExtLCD1280x1024Data = (SiS_LCDDataStruct *) SiS310_ExtLCD1280x1024Data; SiS_St2LCD1280x1024Data = (SiS_LCDDataStruct *) SiS310_St2LCD1280x1024Data; SiS_NoScaleData = (SiS_LCDDataStruct *) SiS310_NoScaleData; SiS_LCD1280x960Data = (SiS_LCDDataStruct *) SiS310_LCD1280x960Data; SiS_StPALData = (SiS_TVDataStruct *) SiS310_StPALData; SiS_ExtPALData = (SiS_TVDataStruct *) SiS310_ExtPALData; SiS_StNTSCData = (SiS_TVDataStruct *) SiS310_StNTSCData; SiS_ExtNTSCData = (SiS_TVDataStruct *) SiS310_ExtNTSCData; SiS_St1HiTVData = (SiS_TVDataStruct *) SiS310_St1HiTVData; SiS_St2HiTVData = (SiS_TVDataStruct *) SiS310_St2HiTVData; SiS_ExtHiTVData = (SiS_TVDataStruct *) SiS310_ExtHiTVData; SiS_NTSCTiming = SiS310_NTSCTiming; SiS_PALTiming = SiS310_PALTiming; SiS_HiTVSt1Timing = SiS310_HiTVSt1Timing; SiS_HiTVSt2Timing = SiS310_HiTVSt2Timing; SiS_HiTVTextTiming = SiS310_HiTVTextTiming; SiS_HiTVGroup3Data = SiS310_HiTVGroup3Data; SiS_HiTVGroup3Simu = SiS310_HiTVGroup3Simu; SiS_HiTVGroup3Text = SiS310_HiTVGroup3Text; SiS_PanelDelayTbl = (SiS_PanelDelayTblStruct *) SiS310_PanelDelayTbl; SiS_LVDS800x600Data_1 = (SiS_LVDSDataStruct *) SiS310_LVDS800x600Data_1; SiS_LVDS800x600Data_2 = (SiS_LVDSDataStruct *) SiS310_LVDS800x600Data_2; SiS_LVDS1024x768Data_1 = (SiS_LVDSDataStruct *) SiS310_LVDS1024x768Data_1; SiS_LVDS1024x768Data_2 = (SiS_LVDSDataStruct *) SiS310_LVDS1024x768Data_2; SiS_LVDS1280x1024Data_1 = (SiS_LVDSDataStruct *) SiS310_LVDS1280x1024Data_1; SiS_LVDS1280x1024Data_2 = (SiS_LVDSDataStruct *) SiS310_LVDS1280x1024Data_2; SiS_LVDS640x480Data_1 = (SiS_LVDSDataStruct *) SiS310_LVDS640x480Data_1; SiS_CHTVUNTSCData = (SiS_LVDSDataStruct *) SiS310_CHTVUNTSCData; SiS_CHTVONTSCData = (SiS_LVDSDataStruct *) SiS310_CHTVONTSCData; SiS_CHTVUPALData = (SiS_LVDSDataStruct *) SiS310_CHTVUPALData; SiS_CHTVOPALData = (SiS_LVDSDataStruct *) SiS310_CHTVOPALData; SiS_PanelType00_1 = (SiS_LVDSDesStruct *) SiS310_PanelType00_1; SiS_PanelType01_1 = (SiS_LVDSDesStruct *) SiS310_PanelType01_1; SiS_PanelType02_1 = (SiS_LVDSDesStruct *) SiS310_PanelType02_1; SiS_PanelType03_1 = (SiS_LVDSDesStruct *) SiS310_PanelType03_1; SiS_PanelType04_1 = (SiS_LVDSDesStruct *) SiS310_PanelType04_1; SiS_PanelType05_1 = (SiS_LVDSDesStruct *) SiS310_PanelType05_1; SiS_PanelType06_1 = (SiS_LVDSDesStruct *) SiS310_PanelType06_1; SiS_PanelType07_1 = (SiS_LVDSDesStruct *) SiS310_PanelType07_1; SiS_PanelType08_1 = (SiS_LVDSDesStruct *) SiS310_PanelType08_1; SiS_PanelType09_1 = (SiS_LVDSDesStruct *) SiS310_PanelType09_1; SiS_PanelType0a_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0a_1; SiS_PanelType0b_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0b_1; SiS_PanelType0c_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0c_1; SiS_PanelType0d_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0d_1; SiS_PanelType0e_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0e_1; SiS_PanelType0f_1 = (SiS_LVDSDesStruct *) SiS310_PanelType0f_1; SiS_PanelType00_2 = (SiS_LVDSDesStruct *) SiS310_PanelType00_2; SiS_PanelType01_2 = (SiS_LVDSDesStruct *) SiS310_PanelType01_2; SiS_PanelType02_2 = (SiS_LVDSDesStruct *) SiS310_PanelType02_2; SiS_PanelType03_2 = (SiS_LVDSDesStruct *) SiS310_PanelType03_2; SiS_PanelType04_2 = (SiS_LVDSDesStruct *) SiS310_PanelType04_2; SiS_PanelType05_2 = (SiS_LVDSDesStruct *) SiS310_PanelType05_2; SiS_PanelType06_2 = (SiS_LVDSDesStruct *) SiS310_PanelType06_2; SiS_PanelType07_2 = (SiS_LVDSDesStruct *) SiS310_PanelType07_2; SiS_PanelType08_2 = (SiS_LVDSDesStruct *) SiS310_PanelType08_2; SiS_PanelType09_2 = (SiS_LVDSDesStruct *) SiS310_PanelType09_2; SiS_PanelType0a_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0a_2; SiS_PanelType0b_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0b_2; SiS_PanelType0c_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0c_2; SiS_PanelType0d_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0d_2; SiS_PanelType0e_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0e_2; SiS_PanelType0f_2 = (SiS_LVDSDesStruct *) SiS310_PanelType0f_2; /*301b */ LVDS1024x768Des_1 = (SiS_LVDSDesStruct *) SiS310_PanelType1076_1; LVDS1280x1024Des_1 = (SiS_LVDSDesStruct *) SiS310_PanelType1210_1; LVDS1280x960Des_1 = (SiS_LVDSDesStruct *) SiS310_PanelType1296_1; LVDS1024x768Des_2 = (SiS_LVDSDesStruct *) SiS310_PanelType1076_2; LVDS1280x1024Des_2 = (SiS_LVDSDesStruct *) SiS310_PanelType1210_2; LVDS1280x960Des_2 = (SiS_LVDSDesStruct *) SiS310_PanelType1296_2; /*end 301b */ SiS_CHTVUNTSCDesData = (SiS_LVDSDesStruct *) SiS310_CHTVUNTSCDesData; SiS_CHTVONTSCDesData = (SiS_LVDSDesStruct *) SiS310_CHTVONTSCDesData; SiS_CHTVUPALDesData = (SiS_LVDSDesStruct *) SiS310_CHTVUPALDesData; SiS_CHTVOPALDesData = (SiS_LVDSDesStruct *) SiS310_CHTVOPALDesData; SiS_LVDSCRT1800x600_1 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT1800x600_1; SiS_LVDSCRT11024x768_1 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11024x768_1; SiS_LVDSCRT11280x1024_1 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11280x1024_1; SiS_LVDSCRT1800x600_1_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT1800x600_1_H; SiS_LVDSCRT11024x768_1_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11024x768_1_H; SiS_LVDSCRT11280x1024_1_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11280x1024_1_H; SiS_LVDSCRT1800x600_2 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT1800x600_2; SiS_LVDSCRT11024x768_2 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11024x768_2; SiS_LVDSCRT11280x1024_2 = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11280x1024_2; SiS_LVDSCRT1800x600_2_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT1800x600_2_H; SiS_LVDSCRT11024x768_2_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11024x768_2_H; SiS_LVDSCRT11280x1024_2_H = (SiS_LVDSCRT1DataStruct *) SiS310_LVDSCRT11280x1024_2_H; SiS_CHTVCRT1UNTSC = (SiS_LVDSCRT1DataStruct *) SiS310_CHTVCRT1UNTSC; SiS_CHTVCRT1ONTSC = (SiS_LVDSCRT1DataStruct *) SiS310_CHTVCRT1ONTSC; SiS_CHTVCRT1UPAL = (SiS_LVDSCRT1DataStruct *) SiS310_CHTVCRT1UPAL; SiS_CHTVCRT1OPAL = (SiS_LVDSCRT1DataStruct *) SiS310_CHTVCRT1OPAL; SiS_CHTVReg_UNTSC = (SiS_CHTVRegDataStruct *) SiS310_CHTVReg_UNTSC; SiS_CHTVReg_ONTSC = (SiS_CHTVRegDataStruct *) SiS310_CHTVReg_ONTSC; SiS_CHTVReg_UPAL = (SiS_CHTVRegDataStruct *) SiS310_CHTVReg_UPAL; SiS_CHTVReg_OPAL = (SiS_CHTVRegDataStruct *) SiS310_CHTVReg_OPAL; /*add for LCDA */ SiS_LCDACRT1800x600_1 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT1800x600_1; SiS_LCDACRT11024x768_1 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11024x768_1; SiS_LCDACRT11280x1024_1 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11280x1024_1; SiS_LCDACRT1800x600_1_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT1800x600_1_H; SiS_LCDACRT11024x768_1_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11024x768_1_H; SiS_LCDACRT11280x1024_1_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11280x1024_1_H; SiS_LCDACRT1800x600_2 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT1800x600_2; SiS_LCDACRT11024x768_2 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11024x768_2; SiS_LCDACRT11280x1024_2 = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11280x1024_2; SiS_LCDACRT1800x600_2_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT1800x600_2_H; SiS_LCDACRT11024x768_2_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11024x768_2_H; SiS_LCDACRT11280x1024_2_H = (SiS_LCDACRT1DataStruct *) SiS310_LCDACRT11280x1024_2_H; /*end for 301b */ SiS_CHTVVCLKUNTSC = SiS310_CHTVVCLKUNTSC; SiS_CHTVVCLKONTSC = SiS310_CHTVVCLKONTSC; SiS_CHTVVCLKUPAL = SiS310_CHTVVCLKUPAL; SiS_CHTVVCLKOPAL = SiS310_CHTVVCLKOPAL; /* 310 customization related */}#endifBOOLEANSiSInit (PSIS_HW_DEVICE_INFO HwDeviceExtension){ ULONG ROMAddr = (ULONG) HwDeviceExtension->pjVirtualRomBase; ULONG FBAddr = (ULONG) HwDeviceExtension->pjVideoMemoryAddress; USHORT BaseAddr = (USHORT) HwDeviceExtension->ulIOAddress; UCHAR i, temp = 0; UCHAR SR11, temp1; ULONG base; UCHAR SR12 = 0, SR13 = 0, SR14 = 0, SR16 = 0, SR17 = 0, SR18 = 0, SR19 = 0, SR1A = 0;#ifdef CONFIG_FB_SIS_315 /* ULONG j, k; */ UCHAR CR39 = 0, CR3A = 0, CR3B = 0, CR3C = 0, CR3D = 0, CR3E = 0, CR3F = 0; UCHAR CR79 = 0, CR7A = 0, CR7B = 0, CR7C = 0; PSIS_DSReg pSR; ULONG Temp;#endif UCHAR VBIOSVersion[5];/* if(ROMAddr==0) return (FALSE);*/ if (FBAddr == 0) return (FALSE); if (BaseAddr == 0) return (FALSE); SiS_SetReg3 ((USHORT) (BaseAddr + 0x12), 0x67); /* 3c2 <- 67 ,ynlai */#ifdef CONFIG_FB_SIS_315
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -