⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.c

📁 一个2.4.21版本的嵌入式linux内核
💻 C
📖 第 1 页 / 共 5 页
字号:
     temp1 &= 0x00000020;     if(temp1)  SR14 |= 0x80;   }#endif#endif  /* Linux kernel */#ifdef SIS300   if((HwDeviceExtension->jChipType == SIS_540)||      (HwDeviceExtension->jChipType == SIS_630)||      (HwDeviceExtension->jChipType == SIS_730)) {     SR12 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x12);     SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);     SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);     SR16 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x16);     SR17 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x17);     SR18 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x18);     SR19 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x19);     SR1A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1A);   } else if(HwDeviceExtension->jChipType == SIS_300){     SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);     SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);   }#endif#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_550) ||      (HwDeviceExtension->jChipType == SIS_740) ||      (HwDeviceExtension->jChipType == SIS_650)) {     SR19 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x19);     SR19 = (SR19)||0x01;  /* TW: ??? || ??? */     if(SR19==0x00) {     	SR13 = 0x22;     	SR14 = 0x00;    	SR15 = 0x01;     	SR16 = 0x00;     	SR17 = 0x00;     	SR1A = 0x00;     	SR1B = 0x00;     	CR37 = 0x00;     	CR38 = 0x00;     	CR79 = 0x00;     	CR7A = 0x00;     	CR7B = 0x00;     	CR7C = 0x00;     } else {     	SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);     	SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);     	SR15 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x15);     	SR16 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x16);     	SR17 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x17);     	SR1A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1A);     	SR1B = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1B);     	CR37 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x37);  /* TW: Was 0x02 - why? */     	CR38 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x38);     	CR79 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x79);     	CR7A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7A);     	CR7B = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7B);     	CR7C = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7C);     }   }#endif   /* Reset extended registers */   for(i=0x06; i< 0x20; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);   for(i=0x21; i<=0x27; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);   for(i=0x31; i<=0x3D; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);#ifdef SIS300   if((HwDeviceExtension->jChipType == SIS_540) ||      (HwDeviceExtension->jChipType == SIS_630) ||      (HwDeviceExtension->jChipType == SIS_730) ||      (HwDeviceExtension->jChipType == SIS_300)) {     	for(i=0x38; i<=0x3F; i++) SiS_SetReg1(SiS_Pr->SiS_P3d4,i,0);   }#endif#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H) ||      (HwDeviceExtension->jChipType == SIS_315) ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_550) ||      (HwDeviceExtension->jChipType == SIS_650) ||      (HwDeviceExtension->jChipType == SIS_740) ||      (HwDeviceExtension->jChipType == SIS_330)) {   	for(i=0x12; i<=0x1B; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);   	for(i=0x79; i<=0x7C; i++) SiS_SetReg1(SiS_Pr->SiS_P3d4,i,0);   }#endif   /* Restore Extended Registers */#ifdef SIS300   if((HwDeviceExtension->jChipType == SIS_540) ||      (HwDeviceExtension->jChipType == SIS_630) ||      (HwDeviceExtension->jChipType == SIS_730)) {     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x12,SR12);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x18,SR18);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A);   }#endif#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_550) ||      (HwDeviceExtension->jChipType == SIS_740) ||      (HwDeviceExtension->jChipType == SIS_650)) {     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x15,SR15);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1B,SR1B);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x37,CR37);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x38,CR38);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x79,CR79);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7A,CR7A);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7B,CR7B);     SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7C,CR7C);   }#endif#ifdef SIS300   if((HwDeviceExtension->jChipType==SIS_540) ||      (HwDeviceExtension->jChipType==SIS_630) ||      (HwDeviceExtension->jChipType==SIS_730)) {     	temp = (UCHAR)SR1A & 0x03;   } else if(HwDeviceExtension->jChipType == SIS_300) {        /* TW: Nothing */   }#endif#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H)   ||      (HwDeviceExtension->jChipType == SIS_315)    ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_330) ) {      	if((*SiS_Pr->pSiS_SoftSetting & SoftDRAMType) == 0) {          	temp = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x3A) & 0x03;        }   }   if((HwDeviceExtension->jChipType == SIS_550) ||      (HwDeviceExtension->jChipType == SIS_740) ||      (HwDeviceExtension->jChipType == SIS_650)) {        if((*SiS_Pr->pSiS_SoftSetting & SoftDRAMType) == 0) {          	temp = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13) & 0x07;        }   }#endif   SiS_Pr->SiS_RAMType = temp;   SiS_SetMemoryClock(SiS_Pr, ROMAddr, HwDeviceExtension);   /* Set default register contents */   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x07,*SiS_Pr->pSiS_SR07); 		/* DAC speed */   if((HwDeviceExtension->jChipType != SIS_540) &&      (HwDeviceExtension->jChipType != SIS_630) &&      (HwDeviceExtension->jChipType != SIS_730)){     	for(i=0x15;i<0x1C;i++) {       	    SiS_SetReg1(SiS_Pr->SiS_P3c4,i,SiS_Pr->SiS_SR15[i-0x15][SiS_Pr->SiS_RAMType]);     	}   }#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H) ||      (HwDeviceExtension->jChipType == SIS_315)  ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_330)) {     	for(i=0x40;i<=0x44;i++) {       	    SiS_SetReg1(SiS_Pr->SiS_P3d4,i,SiS_Pr->SiS_CR40[i-0x40][SiS_Pr->SiS_RAMType]);     	}     	SiS_SetReg1(SiS_Pr->SiS_P3d4,0x48,0x23);     	SiS_SetReg1(SiS_Pr->SiS_P3d4,0x49,SiS_Pr->SiS_CR49[0]);    /*  SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[0]);  */   }#endif   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1F,*SiS_Pr->pSiS_SR1F); 	/* DAC pedestal */   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x20,0xA0);   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x23,*SiS_Pr->pSiS_SR23);   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x24,*SiS_Pr->pSiS_SR24);   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[0]);#ifdef SIS300   if(HwDeviceExtension->jChipType == SIS_300) {     	SiS_SetReg1(SiS_Pr->SiS_P3c4,0x21,0x84);     	SiS_SetReg1(SiS_Pr->SiS_P3c4,0x22,0x00);   }#endif   SR11 = 0x0F;   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x11,SR11);		/* Power Management & DDC port */   SiS_UnLockCRT2(SiS_Pr, HwDeviceExtension, BaseAddr);   SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x00,0x00);   SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x02,*SiS_Pr->pSiS_CRT2Data_1_2);#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H) ||      (HwDeviceExtension->jChipType == SIS_315) ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_550) ||      (HwDeviceExtension->jChipType == SIS_650) ||      (HwDeviceExtension->jChipType == SIS_740) ||      (HwDeviceExtension->jChipType == SIS_330))     	SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x2E,0x08);    /* use VB */#endif   temp = *SiS_Pr->pSiS_SR32;   if(SiS_BridgeIsOn(SiS_Pr, BaseAddr)) {     	temp &= 0xEF;   }   SiS_SetReg1(SiS_Pr->SiS_P3c4,0x32,temp);#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H)   ||      (HwDeviceExtension->jChipType == SIS_315)    ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_330)) {     HwDeviceExtension->pQueryVGAConfigSpace(HwDeviceExtension,0x50,0,&Temp);     Temp >>= 20;     Temp &= 0xF;     if (Temp != 1) {     	SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[1]);     	SiS_SetReg1(SiS_Pr->SiS_P3d4,0x49,SiS_Pr->SiS_CR49[1]);     }     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x27,0x1F);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x31,*SiS_Pr->pSiS_SR31);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x32,*SiS_Pr->pSiS_SR32);     SiS_SetReg1(SiS_Pr->SiS_P3c4,0x33,*SiS_Pr->pSiS_SR33);   }#endif   if (SiS_BridgeIsOn(SiS_Pr, BaseAddr) == 0) {     	if(SiS_Pr->SiS_IF_DEF_LVDS == 0) {       		SiS_SetReg1(SiS_Pr->SiS_Part2Port,0x00,0x1C);       		SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0D,*SiS_Pr->pSiS_CRT2Data_4_D);       		SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0E,*SiS_Pr->pSiS_CRT2Data_4_E);       		SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x10,*SiS_Pr->pSiS_CRT2Data_4_10);       		SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0F,0x3F);     	}     	SiS_LockCRT2(SiS_Pr, HwDeviceExtension, BaseAddr);   }   SiS_SetReg1(SiS_Pr->SiS_P3d4,0x83,0x00);#ifdef SIS315H   if((HwDeviceExtension->jChipType == SIS_315H)   ||      (HwDeviceExtension->jChipType == SIS_315)    ||      (HwDeviceExtension->jChipType == SIS_315PRO) ||      (HwDeviceExtension->jChipType == SIS_330)) {       	if(HwDeviceExtension->bSkipDramSizing==TRUE) {         	SiS_SetDRAMModeRegister(SiS_Pr, ROMAddr,HwDeviceExtension);         	pSR = HwDeviceExtension->pSR;         	if(pSR != NULL) {           		while(pSR->jIdx != 0xFF) {             			SiS_SetReg1(SiS_Pr->SiS_P3c4,pSR->jIdx,pSR->jVal);             			pSR++;           		}         	}       } else SiS_SetDRAMSize_310(SiS_Pr, HwDeviceExtension);   }#endif#ifdef SIS315H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -