亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdram_init.c

?? 改寫的U-boot for s3c4510 (注意此源碼是在windows下壓縮了)。 1、支持串口下載
?? C
?? 第 1 頁 / 共 4 頁
字號:
		case 22:	/* Suported AutoPreCharge */			DP (printf ("\nModul Attributes (SPD Byte 22): \n"));			dimmInfo->suportedEarlyRasPreCharge = data[i] & BIT0;			dimmInfo->suportedAutoPreCharge =				(data[i] & BIT1) >> 1;			dimmInfo->suportedPreChargeAll =				(data[i] & BIT2) >> 2;			dimmInfo->suportedWrite1ReadBurst =				(data[i] & BIT3) >> 3;			dimmInfo->suported5PercentLowVCC =				(data[i] & BIT4) >> 4;			dimmInfo->suported5PercentUpperVCC =				(data[i] & BIT5) >> 5;#ifdef DEBUG			if (dimmInfo->suportedEarlyRasPreCharge == 1)				DP (printf				    (" - Early Ras Precharge:			Yes \n"));			else				DP (printf				    (" -  Early Ras Precharge:			No \n"));			if (dimmInfo->suportedAutoPreCharge == 1)				DP (printf				    (" - AutoPreCharge:				Yes \n"));			else				DP (printf				    (" -  AutoPreCharge:				No \n"));			if (dimmInfo->suportedPreChargeAll == 1)				DP (printf				    (" - Precharge All:				Yes \n"));			else				DP (printf				    (" -  Precharge All:				No \n"));			if (dimmInfo->suportedWrite1ReadBurst == 1)				DP (printf				    (" - Write 1/ReadBurst:				Yes \n"));			else				DP (printf				    (" -  Write 1/ReadBurst:				No \n"));			if (dimmInfo->suported5PercentLowVCC == 1)				DP (printf				    (" - lower VCC tolerance:			5 Percent \n"));			else				DP (printf				    ("  - lower VCC tolerance:			10 Percent \n"));			if (dimmInfo->suported5PercentUpperVCC == 1)				DP (printf				    (" - upper VCC tolerance:			5 Percent \n"));			else				DP (printf				    (" -  upper VCC tolerance:			10 Percent \n"));#endif			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 23:	/* Minimum Cycle Time At Maximum Cas Latancy Minus 1 (2nd highest CL) */			shift = (dimmInfo->memoryType == DDR) ? 4 : 2;			mult = (dimmInfo->memoryType == DDR) ? 10 : 25;			maskLeftOfPoint =				(dimmInfo->memoryType == DDR) ? 0xf0 : 0xfc;			maskRightOfPoint =				(dimmInfo->memoryType == DDR) ? 0xf : 0x03;			leftOfPoint = (data[i] & maskLeftOfPoint) >> shift;			rightOfPoint = (data[i] & maskRightOfPoint) * mult;			dimmInfo->minimumCycleTimeAtMaxCasLatancyMinus1_LoP =				leftOfPoint;			dimmInfo->minimumCycleTimeAtMaxCasLatancyMinus1_RoP =				rightOfPoint;			DP (printf			    ("Minimum Cycle Time At 2nd highest CasLatancy (0 = Not supported): %d.%d [ns]\n",			     leftOfPoint, rightOfPoint));			/*dimmInfo->minimumCycleTimeAtMaxCasLatancy */			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 24:	/* Clock To Data Out 2nd highest Cas Latency Value */			div = (dimmInfo->memoryType == DDR) ? 100 : 10;			time_tmp =				(((data[i] & 0xf0) >> 4) * 10) +				((data[i] & 0x0f));			leftOfPoint = time_tmp / div;			rightOfPoint = time_tmp % div;			dimmInfo->clockToDataOutMinus1_LoP = leftOfPoint;			dimmInfo->clockToDataOutMinus1_RoP = rightOfPoint;			DP (printf			    ("Clock To Data Out (2nd CL value): 		%d.%2d [ns]\n",			     leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 25:	/* Minimum Cycle Time At Maximum Cas Latancy Minus 2 (3rd highest CL) */			shift = (dimmInfo->memoryType == DDR) ? 4 : 2;			mult = (dimmInfo->memoryType == DDR) ? 10 : 25;			maskLeftOfPoint =				(dimmInfo->memoryType == DDR) ? 0xf0 : 0xfc;			maskRightOfPoint =				(dimmInfo->memoryType == DDR) ? 0xf : 0x03;			leftOfPoint = (data[i] & maskLeftOfPoint) >> shift;			rightOfPoint = (data[i] & maskRightOfPoint) * mult;			dimmInfo->minimumCycleTimeAtMaxCasLatancyMinus2_LoP =				leftOfPoint;			dimmInfo->minimumCycleTimeAtMaxCasLatancyMinus2_RoP =				rightOfPoint;			DP (printf			    ("Minimum Cycle Time At 3rd highest CasLatancy (0 = Not supported): %d.%d [ns]\n",			     leftOfPoint, rightOfPoint));			/*dimmInfo->minimumCycleTimeAtMaxCasLatancy */			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 26:	/* Clock To Data Out 3rd highest Cas Latency Value */			div = (dimmInfo->memoryType == DDR) ? 100 : 10;			time_tmp =				(((data[i] & 0xf0) >> 4) * 10) +				((data[i] & 0x0f));			leftOfPoint = time_tmp / div;			rightOfPoint = time_tmp % div;			dimmInfo->clockToDataOutMinus2_LoP = leftOfPoint;			dimmInfo->clockToDataOutMinus2_RoP = rightOfPoint;			DP (printf			    ("Clock To Data Out (3rd CL value): 		%d.%2d [ns]\n",			     leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 27:	/* Minimum Row Precharge Time */			shift = (dimmInfo->memoryType == DDR) ? 2 : 0;			maskLeftOfPoint =				(dimmInfo->memoryType == DDR) ? 0xfc : 0xff;			maskRightOfPoint =				(dimmInfo->memoryType == DDR) ? 0x03 : 0x00;			leftOfPoint = ((data[i] & maskLeftOfPoint) >> shift);			rightOfPoint = (data[i] & maskRightOfPoint) * 25;			dimmInfo->minRowPrechargeTime = ((leftOfPoint * 100) + rightOfPoint);	/* measured in n times 10ps Intervals */			trp_clocks =				(dimmInfo->minRowPrechargeTime +				 (tmemclk - 1)) / tmemclk;			DP (printf			    ("*** 1 clock cycle = %ld  10ps intervalls = %ld.%ld ns****\n",			     tmemclk, tmemclk / 100, tmemclk % 100));			DP (printf			    ("Minimum Row Precharge Time [ns]: 		%d.%2d = in Clk cycles %d\n",			     leftOfPoint, rightOfPoint, trp_clocks));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 28:	/* Minimum Row Active to Row Active Time */			shift = (dimmInfo->memoryType == DDR) ? 2 : 0;			maskLeftOfPoint =				(dimmInfo->memoryType == DDR) ? 0xfc : 0xff;			maskRightOfPoint =				(dimmInfo->memoryType == DDR) ? 0x03 : 0x00;			leftOfPoint = ((data[i] & maskLeftOfPoint) >> shift);			rightOfPoint = (data[i] & maskRightOfPoint) * 25;			dimmInfo->minRowActiveRowActiveDelay = ((leftOfPoint * 100) + rightOfPoint);	/* measured in 100ns Intervals */			trrd_clocks =				(dimmInfo->minRowActiveRowActiveDelay +				 (tmemclk - 1)) / tmemclk;			DP (printf			    ("Minimum Row Active -To- Row Active Delay [ns]: 	%d.%2d = in Clk cycles %d\n",			     leftOfPoint, rightOfPoint, trp_clocks));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 29:	/* Minimum Ras-To-Cas Delay */			shift = (dimmInfo->memoryType == DDR) ? 2 : 0;			maskLeftOfPoint =				(dimmInfo->memoryType == DDR) ? 0xfc : 0xff;			maskRightOfPoint =				(dimmInfo->memoryType == DDR) ? 0x03 : 0x00;			leftOfPoint = ((data[i] & maskLeftOfPoint) >> shift);			rightOfPoint = (data[i] & maskRightOfPoint) * 25;			dimmInfo->minRowActiveRowActiveDelay = ((leftOfPoint * 100) + rightOfPoint);	/* measured in 100ns Intervals */			trcd_clocks =				(dimmInfo->minRowActiveRowActiveDelay +				 (tmemclk - 1)) / tmemclk;			DP (printf			    ("Minimum Ras-To-Cas Delay [ns]: 			%d.%2d = in Clk cycles %d\n",			     leftOfPoint, rightOfPoint, trp_clocks));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 30:	/* Minimum Ras Pulse Width */			dimmInfo->minRasPulseWidth = data[i];			tras_clocks =				(NSto10PS (data[i]) +				 (tmemclk - 1)) / tmemclk;			DP (printf			    ("Minimum Ras Pulse Width [ns]: 			%d = in Clk cycles %d\n",			     dimmInfo->minRasPulseWidth, tras_clocks));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 31:	/* Module Bank Density */			dimmInfo->moduleBankDensity = data[i];			DP (printf			    ("Module Bank Density: 				%d\n",			     dimmInfo->moduleBankDensity));#ifdef DEBUG			DP (printf			    ("*** Offered Densities (more than 1 = Multisize-Module): "));			{				if (dimmInfo->moduleBankDensity & 1)					DP (printf ("4MB, "));				if (dimmInfo->moduleBankDensity & 2)					DP (printf ("8MB, "));				if (dimmInfo->moduleBankDensity & 4)					DP (printf ("16MB, "));				if (dimmInfo->moduleBankDensity & 8)					DP (printf ("32MB, "));				if (dimmInfo->moduleBankDensity & 16)					DP (printf ("64MB, "));				if (dimmInfo->moduleBankDensity & 32)					DP (printf ("128MB, "));				if ((dimmInfo->moduleBankDensity & 64)				    || (dimmInfo->moduleBankDensity & 128)) {					DP (printf ("ERROR, "));					hang ();				}			}			DP (printf ("\n"));#endif			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 32:	/* Address And Command Setup Time (measured in ns/1000) */			sign = 1;			switch (dimmInfo->memoryType) {			case DDR:				time_tmp =					(((data[i] & 0xf0) >> 4) * 10) +					((data[i] & 0x0f));				leftOfPoint = time_tmp / 100;				rightOfPoint = time_tmp % 100;				break;			case SDRAM:				leftOfPoint = (data[i] & 0xf0) >> 4;				if (leftOfPoint > 7) {					leftOfPoint = data[i] & 0x70 >> 4;					sign = -1;				}				rightOfPoint = (data[i] & 0x0f);				break;			}			dimmInfo->addrAndCommandSetupTime =				(leftOfPoint * 100 + rightOfPoint) * sign;			DP (printf			    ("Address And Command Setup Time [ns]: 		%d.%d\n",			     sign * leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 33:	/* Address And Command Hold Time */			sign = 1;			switch (dimmInfo->memoryType) {			case DDR:				time_tmp =					(((data[i] & 0xf0) >> 4) * 10) +					((data[i] & 0x0f));				leftOfPoint = time_tmp / 100;				rightOfPoint = time_tmp % 100;				break;			case SDRAM:				leftOfPoint = (data[i] & 0xf0) >> 4;				if (leftOfPoint > 7) {					leftOfPoint = data[i] & 0x70 >> 4;					sign = -1;				}				rightOfPoint = (data[i] & 0x0f);				break;			}			dimmInfo->addrAndCommandHoldTime =				(leftOfPoint * 100 + rightOfPoint) * sign;			DP (printf			    ("Address And Command Hold Time [ns]: 		%d.%d\n",			     sign * leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 34:	/* Data Input Setup Time */			sign = 1;			switch (dimmInfo->memoryType) {			case DDR:				time_tmp =					(((data[i] & 0xf0) >> 4) * 10) +					((data[i] & 0x0f));				leftOfPoint = time_tmp / 100;				rightOfPoint = time_tmp % 100;				break;			case SDRAM:				leftOfPoint = (data[i] & 0xf0) >> 4;				if (leftOfPoint > 7) {					leftOfPoint = data[i] & 0x70 >> 4;					sign = -1;				}				rightOfPoint = (data[i] & 0x0f);				break;			}			dimmInfo->dataInputSetupTime =				(leftOfPoint * 100 + rightOfPoint) * sign;			DP (printf			    ("Data Input Setup Time [ns]: 			%d.%d\n",			     sign * leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		case 35:	/* Data Input Hold Time */			sign = 1;			switch (dimmInfo->memoryType) {			case DDR:				time_tmp =					(((data[i] & 0xf0) >> 4) * 10) +					((data[i] & 0x0f));				leftOfPoint = time_tmp / 100;				rightOfPoint = time_tmp % 100;				break;			case SDRAM:				leftOfPoint = (data[i] & 0xf0) >> 4;				if (leftOfPoint > 7) {					leftOfPoint = data[i] & 0x70 >> 4;					sign = -1;				}				rightOfPoint = (data[i] & 0x0f);				break;			}			dimmInfo->dataInputHoldTime =				(leftOfPoint * 100 + rightOfPoint) * sign;			DP (printf			    ("Data Input Hold Time [ns]: 			%d.%d\n\n",			     sign * leftOfPoint, rightOfPoint));			break;/*------------------------------------------------------------------------------------------------------------------------------*/		}	}	/* calculating the sdram density */	for (i = 0;	     i < dimmInfo->numOfRowAddresses + dimmInfo->numOfColAddresses;	     i++) {		density = density * 2;	}	dimmInfo->deviceDensity = density * dimmInfo->numOfBanksOnEachDevice *		dimmInfo->sdramWidth;	dimmInfo->numberOfDevices =		(dimmInfo->dataWidth / dimmInfo->sdramWidth) *		dimmInfo->numOfModuleBanks;	devicesForErrCheck =		(dimmInfo->dataWidth - 64) / dimmInfo->sdramWidth;	if ((dimmInfo->errorCheckType == 0x1)	    || (dimmInfo->errorCheckType == 0x2)	    || (dimmInfo->errorCheckType == 0x3)) {		dimmInfo->size =			(dimmInfo->deviceDensity / 8) *			(dimmInfo->numberOfDevices - devicesForErrCheck);	} else {		dimmInfo->size =			(dimmInfo->deviceDensity / 8) *			dimmInfo->numberOfDevices;	}	/* compute the module DRB size */	tmp = (1 <<	       (dimmInfo->numOfRowAddresses + dimmInfo->numOfColAddresses));	tmp *= dimmInfo->numOfModuleBanks;	tmp *= dimmInfo->sdramWidth;	tmp = tmp >> 24;	/* div by 0x4000000 (64M)       */	dimmInfo->drb_size = (uchar) tmp;	DP (printf ("Module DRB size (n*64Mbit): %d\n", dimmInfo->drb_size));	/* try a CAS latency of 3 first... */	/* bit 1 is CL2, bit 2 is CL3 */	supp_cal = (dimmInfo->suportedCasLatencies & 0x1c) >> 1;	cal_val = 0;	if (supp_cal & 8) {		if (NS10to10PS (data[9]) <= tmemclk)			cal_val = 6;	}	if (supp_cal & 4) {		if (NS10to10PS (data[9]) <= tmemclk)			cal_val = 5;	}	/* then 2... */	if (supp_cal & 2) {		if (NS10to10PS (data[23]) <= tmemclk)			cal_val = 4;	}	DP (printf ("cal_val = %d\n", cal_val * 5));	/* bummer, did't work... */	if (cal_val == 0) {		DP (printf ("Couldn't find a good CAS latency\n"));		hang ();		return 0;	}	return true;}/* sets up the GT properly with information passed in */int setup_sdram (AUX_MEM_DIMM_INFO * info){	ulong tmp, check;	ulong tmp_sdram_mode = 0;	/* 0x141c */	ulong tmp_dunit_control_low = 0;	/* 0x1404 */	int i;	/* sanity checking */	if (!info->numOfModuleBanks) {		printf ("setup_sdram called with 0 banks\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
捆绑调教美女网站视频一区| 色av成人天堂桃色av| www.久久久久久久久| 欧美亚州韩日在线看免费版国语版| 91精品国产高清一区二区三区 | 欧美高清视频在线高清观看mv色露露十八 | 热久久久久久久| 丰满亚洲少妇av| 51久久夜色精品国产麻豆| 亚洲欧美日韩国产综合| 国产真实乱子伦精品视频| 欧美日韩免费视频| 亚洲人xxxx| 成人aaaa免费全部观看| 国产精品国产自产拍在线| 国产一二三精品| 日韩一区二区免费在线观看| 一二三四区精品视频| 成人精品免费看| 国产欧美一区二区精品性色| 国产资源精品在线观看| 精品国产人成亚洲区| 日韩精品乱码免费| 欧美日韩精品一区视频| 亚洲国产人成综合网站| 在线观看视频91| 亚洲精品欧美在线| 99国产精品国产精品毛片| 欧美国产精品v| 成人午夜激情在线| 国产精品视频在线看| 东方欧美亚洲色图在线| 国产欧美精品一区aⅴ影院| 国产精品一区二区在线观看网站| 精品日韩99亚洲| 狠狠狠色丁香婷婷综合激情| 日韩欧美电影一区| 激情深爱一区二区| 久久亚洲综合色一区二区三区| 久久电影网站中文字幕| 久久午夜电影网| 粉嫩嫩av羞羞动漫久久久| 中文字幕一区二区三区不卡在线| 99久久精品免费精品国产| 亚洲欧美国产77777| 欧美日韩美女一区二区| 麻豆91小视频| 国产欧美日产一区| 91麻豆文化传媒在线观看| 亚洲在线视频网站| 56国语精品自产拍在线观看| 国产精品一区二区在线观看不卡| 中文字幕一区在线观看| 欧美伊人久久大香线蕉综合69| 日韩高清不卡一区二区| 亚洲精品在线电影| www.亚洲人| 亚欧色一区w666天堂| 精品国产免费视频| www.成人网.com| 爽好久久久欧美精品| 国产喂奶挤奶一区二区三区| 色欧美乱欧美15图片| 蜜臀久久99精品久久久画质超高清| 久久久精品欧美丰满| 91亚洲国产成人精品一区二区三| 午夜精品成人在线视频| 国产网站一区二区| 欧美电影一区二区| 成人综合婷婷国产精品久久蜜臀 | 色哟哟在线观看一区二区三区| 午夜国产精品一区| 久久精品网站免费观看| 欧洲亚洲精品在线| 精品一区二区三区在线观看| 亚洲色图20p| 精品国产一区二区三区av性色| 91一区二区三区在线播放| 青青草视频一区| 亚洲黄色免费电影| 一区二区成人在线视频 | 色欧美88888久久久久久影院| 日本中文字幕一区二区有限公司| 国产欧美一区二区精品秋霞影院 | 丝袜美腿一区二区三区| 亚洲国产精品成人久久综合一区| 欧美巨大另类极品videosbest | 精品99999| 欧美精品欧美精品系列| 91在线观看一区二区| 国产在线视频一区二区三区| 三级成人在线视频| 亚洲一区免费观看| 中文字幕第一页久久| 精品卡一卡二卡三卡四在线| 欧美亚洲国产怡红院影院| 波多野结衣亚洲| 国产精品69毛片高清亚洲| 美国十次了思思久久精品导航| 亚洲一区二区三区视频在线播放| 中文字幕在线不卡| 国产精品乱码妇女bbbb| 久久久亚洲综合| 久久精品一区二区三区四区| 欧美电影免费观看高清完整版在线 | 懂色av一区二区三区免费观看| 天天操天天色综合| 亚洲精品中文在线| 亚洲女与黑人做爰| 亚洲女爱视频在线| 亚洲黄色免费网站| 亚洲一区二区在线免费观看视频 | 欧美调教femdomvk| 91免费版在线看| 91麻豆国产精品久久| 91蜜桃在线观看| 在线观看成人免费视频| 欧美亚洲一区三区| 91精品久久久久久久久99蜜臂| 欧美私人免费视频| 欧美一区二区黄| 精品伦理精品一区| 欧美激情一二三区| 亚洲视频小说图片| 亚洲影院免费观看| 免费日韩伦理电影| 国产乱子轮精品视频| 国产精品18久久久久久久网站| 波多野结衣视频一区| 欧美专区在线观看一区| 欧美肥胖老妇做爰| 久久九九久久九九| 亚洲欧美日韩国产中文在线| 亚洲一二三区视频在线观看| 奇米精品一区二区三区在线观看一| 久久精品国产亚洲一区二区三区| 国产一区二区三区在线看麻豆| 狠狠色综合播放一区二区| 国产精品综合在线视频| 91老司机福利 在线| 精品对白一区国产伦| 久久免费午夜影院| 亚洲日本青草视频在线怡红院 | 成人av一区二区三区| 欧美在线视频你懂得| 日韩欧美国产三级| 日韩一区日韩二区| 美女视频黄 久久| 丁香激情综合五月| 欧美日韩国产首页| 亚洲精品一区二区在线观看| 国产精品家庭影院| 日本vs亚洲vs韩国一区三区二区| 国产激情偷乱视频一区二区三区| av电影在线不卡| 欧美成人性战久久| 一区二区久久久| 成人自拍视频在线观看| 91精品国产综合久久小美女| 中文字幕巨乱亚洲| 日本视频一区二区三区| 99久久免费视频.com| 精品国产一区a| 亚洲成人免费观看| 99国产精品视频免费观看| 欧美一级黄色片| 亚洲国产aⅴ天堂久久| 成人听书哪个软件好| 日韩欧美国产系列| 日韩精品乱码免费| 色噜噜久久综合| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 最新日韩在线视频| 国产一区在线不卡| 欧美一级高清片| 性做久久久久久| 91久久精品午夜一区二区| 国产日韩精品久久久| 免费成人美女在线观看.| 欧美性色黄大片| 亚洲欧美国产毛片在线| 国产91在线观看| 精品国产乱码久久久久久免费| 亚洲国产va精品久久久不卡综合| www.日韩av| 国产精品色噜噜| 福利一区福利二区| 久久婷婷一区二区三区| 美女视频网站黄色亚洲| 91精品国产乱码| 奇米综合一区二区三区精品视频| 欧美在线播放高清精品| 亚洲日本中文字幕区| 91丨porny丨在线| 亚洲色图一区二区三区| 91视视频在线观看入口直接观看www| 日本一区二区三区在线观看| 国产宾馆实践打屁股91| 亚洲国产精品黑人久久久| 国产成+人+日韩+欧美+亚洲|