Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | #include <linux/config.h> #include "initdef.h" USHORT SetFlag,RVBHCFACT,RVBHCMAX,VGAVT,VGAHT,VT,HT,VGAVDE,VGAHDE; USHORT VDE,HDE,RVBHRS,NewFlickerMode,RY1COE,RY2COE,RY3COE,RY4COE; extern USHORT LCDResInfo,LCDTypeInfo,LCDInfo; USHORT VCLKLen; USHORT LCDHDES,LCDVDES; USHORT StResInfo[5][2]={{640,400},{640,350},{720,400},{720,350},{640,480}}; USHORT ModeResInfo[15][4]={{320,200,8,8},{320,240,8,8},{320,400,8,8}, {400,300,8,8},{512,384,8,8},{640,400,8,16}, {640,480,8,16},{800,600,8,16},{1024,768,8,16}, {1280,1024,8,16},{1600,1200,8,16},{1920,1440,8,16}, {720,480,8,16},{720,576,8,16},{1280,960,8,16}}; USHORT NTSCTiming[61]={0x017,0x01D,0x003,0x009,0x005,0x006,0x00C,0x00C, 0x094,0x049,0x001,0x00A,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x085,0x01B, 0x00C,0x050,0x000,0x099,0x000,0x0EC,0x04A,0x017, 0x088,0x000,0x04B,0x000,0x000,0x0E2,0x000,0x002, 0x003,0x00A,0x065,0x09D,0x008, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x050,0x000,0x040, 0x00044,0x002DB,0x0003B};//Ajust xxx USHORT PALTiming[61]={ 0x019,0x052,0x035,0x06E,0x004,0x038,0x03D,0x070, 0x094,0x049,0x001,0x012,0x006,0x03E,0x035,0x06D, 0x006,0x014,0x03E,0x035,0x06D,0x000,0x045,0x02B, 0x070,0x050,0x000,0x097,0x000,0x0D7,0x05D,0x017, 0x088,0x000,0x045,0x000,0x000,0x0E8,0x000,0x002, 0x00D,0x000,0x068,0x0B0,0x00B, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x063,0x000,0x040, 0x0003E,0x002E1,0x00028};//Ajust xxx USHORT HiTVTiming[61]={0x017,0x01D,0x003,0x009,0x005,0x006,0x00C,0x00C, 0x094,0x049,0x001,0x00A,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x085,0x01B, 0x00C,0x050,0x000,0x099,0x000,0x0EC,0x04A,0x017, 0x088,0x000,0x04B,0x000,0x000,0x0E2,0x000,0x002, 0x003,0x00A,0x065,0x09D,0x008, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x050,0x000,0x040, 0x00027,0x0FFFC,0x0003B};//Ajust xxx USHORT HiTVTimingSimu[61]={0x020,0x054,0x02C,0x060,0x008,0x031,0x03A,0x061, 0x028,0x002,0x001,0x03D,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x0C5,0x03F, 0x064,0x090,0x000,0x0AA,0x000,0x006,0x060,0x003, 0x011,0x005,0x011,0x00F,0x010,0x011,0x000,0x000, 0x005,0x005,0x034,0x034,0x008, 0x092,0x00F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x004,0x05F,0x000,0x060, 0x0000E,0x0FFFC,0x00042};//Ajust xxx USHORT HiTVGroup3Data[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x05B, 0x0FF,0x021,0x0AD,0x0AD,0x055,0x077,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x06E,0x060,0x02D,0x056,0x047,0x070,0x044, 0x056,0x036,0x04F,0x06E,0x03F,0x080,0x000,0x080, 0x045,0x07D,0x003,0x0A5,0x076,0x020,0x01A,0x0A4, 0x014,0x005,0x003,0x07E,0x064,0x031,0x014,0x075, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001}; USHORT HiTVGroup3Simu[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x094, 0x0DA,0x020,0x0B7,0x0B7,0x055,0x047,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x06E,0x060,0x015,0x026,0x0D3,0x0E4,0x011, 0x056,0x036,0x04F,0x06E,0x03F,0x080,0x000,0x080, 0x066,0x035,0x001,0x047,0x00E,0x010,0x0BE,0x0B4, 0x001,0x005,0x003,0x07E,0x065,0x031,0x014,0x075, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001}; USHORT NTSCGroup3Data[63]= {0x000,0x014,0x015,0x025,0x055,0x015,0x00B,0x089, 0x0D7,0x040,0x0B0,0x0B0,0x0FF,0x0C4,0x045,0x0A6, 0x025,0x02F,0x067,0x0F6,0x0BF,0x0FF,0x08E,0x020, 0x08C,0x0DA,0x060,0x092,0x0C8,0x055,0x08B,0x000, 0x051,0x004,0x018,0x00A,0x0F8,0x087,0x000,0x080, 0x03B,0x03B,0x000,0x0F0,0x0F0,0x000,0x0F0,0x0F0, 0x000,0x051,0x00F,0x00F,0x008,0x00F,0x008,0x06F, 0x018,0x005,0x005,0x005,0x04C,0x0AA,0x001}; USHORT PALGroup3Data[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x085, 0x0C3,0x020,0x0A4,0x0A4,0x055,0x047,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x0DC,0x060,0x092,0x0C8,0x04F,0x085,0x000, 0x056,0x036,0x04F,0x06E,0x0FE,0x083,0x054,0x081, 0x030,0x030,0x000,0x0F3,0x0F3,0x000,0x0A2,0x0A2, 0x000,0x048,0x0FE,0x07E,0x008,0x040,0x008,0x091, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001}; VOID overwriteregs(ULONG ROMAddr, USHORT BaseAddr); VOID SetDefCRT2ExtRegs(USHORT BaseAddr); BOOLEAN SetCRT2Group(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); USHORT GetRatePtrCRT2(ULONG ROMAddr, USHORT ModeNo); BOOLEAN AjustCRT2Rate(ULONG ROMAddr); VOID SaveCRT2Info(USHORT ModeNo); VOID DisableLockRegs(VOID); VOID DisableCRT2(VOID); VOID DisableBridge(USHORT BaseAddr); VOID GetCRT2Data(ULONG ROMAddr,USHORT ModeNo); VOID GetResInfo(ULONG ROMAddr,USHORT ModeNo); VOID GetRAMDAC2DATA(ULONG ROMAddr,USHORT ModeNo); VOID GetCRT2Ptr(ULONG ROMAddr,USHORT ModeNo); VOID UnLockCRT2(USHORT BaseAddr); VOID SetCRT2ModeRegs(USHORT BaseAddr,USHORT ModeNo); VOID SetGroup1(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); VOID SetCRT2Offset(USHORT Part1Port,ULONG ROMAddr); USHORT GetOffset(ULONG ROMAddr); USHORT GetColorDepth(ULONG ROMAddr); VOID SetCRT2FIFO(USHORT Part1Port,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); USHORT GetVCLK(ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); USHORT GetVCLKPtr(ULONG ROMAddr,USHORT ModeNo); USHORT GetColorTh(ULONG ROMAddr); USHORT GetMCLK(ULONG ROMAddr); USHORT GetMCLKPtr(ULONG ROMAddr); USHORT GetDRAMType(ULONG ROMAddr); #ifndef CONFIG_FB_SIS_LINUXBIOS static USHORT CalcDelay(VOID); #endif USHORT GetVCLK2Ptr(ULONG ROMAddr,USHORT ModeNo); VOID SetCRT2Sync(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo); VOID GetCRT1Ptr(ULONG ROMAddr); VOID SetRegANDOR(USHORT Port,USHORT Index,USHORT DataAND,USHORT DataOR); USHORT GetVGAHT2(VOID); VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr); VOID SetGroup3(USHORT BaseAddr); VOID SetGroup4(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo); VOID SetCRT2VCLK(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo); VOID SetGroup5(USHORT BaseAddr,ULONG ROMAddr); VOID EnableCRT2(VOID); VOID LoadDAC2(ULONG ROMAddr,USHORT Part5Port); VOID WriteDAC2(USHORT Pdata,USHORT dl, USHORT ah, USHORT al, USHORT dh); VOID LockCRT2(USHORT BaseAddr); VOID SetLockRegs(VOID); VOID EnableBridge(USHORT BaseAddr); USHORT GetLockInfo(USHORT pattern); VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr); BOOLEAN BridgeIsEnable(USHORT BaseAddr); BOOLEAN BridgeInSlave(VOID); BOOLEAN GetLCDResInfo(ULONG ROMAddr,USHORT P3d4); VOID PresetScratchregister(USHORT P3d4,PHW_DEVICE_EXTENSION HwDeviceExtension); BOOLEAN GetLCDDDCInfo(PHW_DEVICE_EXTENSION HwDeviceExtension); VOID SetTVSystem(PHW_DEVICE_EXTENSION HwDeviceExtension,ULONG ROMAddr); BOOLEAN GetSenseStatus(PHW_DEVICE_EXTENSION HwDeviceExtension,USHORT BaseAddr,ULONG ROMAddr); BOOLEAN Sense(USHORT Part4Port,USHORT inputbx,USHORT inputcx); BOOLEAN SenseLCD(PHW_DEVICE_EXTENSION HwDeviceExtension,USHORT Part4Port,ULONG ROMAddr); BOOLEAN TestMonitorType(USHORT d1,USHORT d2,USHORT d3); VOID WaitDisplay(VOID); BOOLEAN DetectMonitor(PHW_DEVICE_EXTENSION HwDeviceExtension); VOID LongWait(VOID); //VOID ClearALLBuffer(PHW_DEVICE_EXTENSION HwDeviceExtension); USHORT GetQueueConfig(VOID); VOID VBLongWait(VOID); USHORT GetVCLKLen(ULONG ROMAddr); BOOLEAN WaitVBRetrace(USHORT BaseAddr); VOID GetLVDSDesData(ULONG ROMAddr,USHORT ModeNo); VOID ModCRT1CRTC(ULONG ROMAddr,USHORT ModeNo); VOID SetCRT2ECLK(ULONG ROMAddr, USHORT ModeNo); VOID GetCRT2Data301(ULONG ROMAddr,USHORT ModeNo); VOID GetCRT2DataLVDS(ULONG ROMAddr,USHORT ModeNo); USHORT GetLVDSDesPtr(ULONG ROMAddr,USHORT ModeNo); VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); VOID SetGroup1_LVDS(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension); VOID SetTPData(VOID); BOOLEAN GetPanelID(VOID); BOOLEAN GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo); extern USHORT DRAMType[17][5]; extern USHORT MDA_DAC[]; extern USHORT CGA_DAC[]; extern USHORT EGA_DAC[]; extern USHORT VGA_DAC[]; extern USHORT P3c4,P3d4,P3c0,P3ce,P3c2,P3ca,P3c6,P3c7,P3c8,P3c9,P3da; extern USHORT flag_clearbuffer; //0:no clear frame buffer 1:clear frame buffer extern int RAMType; extern int ModeIDOffset,StandTable,CRT1Table,ScreenOffset,VCLKData,MCLKData, ECLKData; extern int REFIndex,ModeType; extern USHORT VBInfo,LCDResInfo,LCDTypeInfo,LCDInfo; extern USHORT IF_DEF_LVDS,IF_DEF_TRUMPION; extern VOID SetMemoryClock(ULONG); extern VOID SetDRAMSize(PHW_DEVICE_EXTENSION); extern BOOLEAN SearchModeID(ULONG, USHORT); extern BOOLEAN CheckMemorySize(ULONG); extern VOID GetModePtr(ULONG, USHORT); extern BOOLEAN GetRatePtr(ULONG, USHORT); extern VOID SetSeqRegs(ULONG); extern VOID SetMiscRegs(ULONG); extern VOID SetCRTCRegs(ULONG); extern VOID SetATTRegs(ULONG); extern VOID SetGRCRegs(ULONG); extern VOID ClearExt1Regs(VOID); extern VOID SetSync(ULONG); extern VOID SetCRT1CRTC(ULONG); extern VOID SetCRT1Offset(ULONG); extern VOID SetCRT1FIFO(ULONG); extern VOID SetCRT1VCLK(ULONG); extern VOID LoadDAC(ULONG); extern VOID DisplayOn(VOID); extern VOID SetCRT1ModeRegs(ULONG, USHORT); extern VOID SetVCLKState(ULONG, USHORT); extern VOID WriteDAC(USHORT, USHORT, USHORT, USHORT); extern VOID ClearBuffer(PHW_DEVICE_EXTENSION); //extern VOID ClearDAC(ULONG); extern void ClearDAC(u16 port); extern BOOLEAN SiSSetMode(PHW_DEVICE_EXTENSION HwDeviceExtension, USHORT ModeNo); extern void SetReg1(u16 port, u16 index, u16 data); extern void SetReg3(u16 port, u16 data); extern void SetReg4(u16 port, unsigned long data); extern u8 GetReg1(u16 port, u16 index); extern u8 GetReg2(u16 port); extern u32 GetReg3(u16 port); |