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

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

?? mpc8555cds.c

?? 友善mini2440嵌入式
?? C
?? 第 1 頁 / 共 2 頁
字號:
	puts("Initializing\n");#if defined(CONFIG_DDR_DLL)	{		/*		 * Work around to stabilize DDR DLL MSYNC_IN.		 * Errata DDR9 seems to have been fixed.		 * This is now the workaround for Errata DDR11:		 *    Override DLL = 1, Course Adj = 1, Tap Select = 0		 */		volatile ccsr_gur_t *gur= &immap->im_gur;		gur->ddrdllcr = 0x81000000;		asm("sync;isync;msync");		udelay(200);	}#endif	dram_size = spd_sdram();#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)	/*	 * Initialize and enable DDR ECC.	 */	ddr_enable_ecc(dram_size);#endif	/*	 * SDRAM Initialization	 */	sdram_init();	puts("    DDR: ");	return dram_size;}/* * Initialize Local Bus */voidlocal_bus_init(void){	volatile immap_t *immap = (immap_t *)CFG_IMMR;	volatile ccsr_gur_t *gur = &immap->im_gur;	volatile ccsr_lbc_t *lbc = &immap->im_lbc;	uint clkdiv;	uint lbc_hz;	sys_info_t sysinfo;	uint temp_lbcdll;	/*	 * Errata LBC11.	 * Fix Local Bus clock glitch when DLL is enabled.	 *	 * If localbus freq is < 66Mhz, DLL bypass mode must be used.	 * If localbus freq is > 133Mhz, DLL can be safely enabled.	 * Between 66 and 133, the DLL is enabled with an override workaround.	 */	get_sys_info(&sysinfo);	clkdiv = lbc->lcrr & 0x0f;	lbc_hz = sysinfo.freqSystemBus / 1000000 / clkdiv;	if (lbc_hz < 66) {		lbc->lcrr |= 0x80000000;	/* DLL Bypass */	} else if (lbc_hz >= 133) {		lbc->lcrr &= (~0x80000000);		/* DLL Enabled */	} else {		lbc->lcrr &= (~0x8000000);	/* DLL Enabled */		udelay(200);		/*		 * Sample LBC DLL ctrl reg, upshift it to set the		 * override bits.		 */		temp_lbcdll = gur->lbcdllcr;		gur->lbcdllcr = (((temp_lbcdll & 0xff) << 16) | 0x80000000);		asm("sync;isync;msync");	}}/* * Initialize SDRAM memory on the Local Bus. */voidsdram_init(void){#if defined(CFG_OR2_PRELIM) && defined(CFG_BR2_PRELIM)	uint idx;	volatile immap_t *immap = (immap_t *)CFG_IMMR;	volatile ccsr_lbc_t *lbc = &immap->im_lbc;	uint *sdram_addr = (uint *)CFG_LBC_SDRAM_BASE;	uint cpu_board_rev;	uint lsdmr_common;	puts("    SDRAM: ");	print_size (CFG_LBC_SDRAM_SIZE * 1024 * 1024, "\n");	/*	 * Setup SDRAM Base and Option Registers	 */	lbc->or2 = CFG_OR2_PRELIM;	asm("msync");	lbc->br2 = CFG_BR2_PRELIM;	asm("msync");	lbc->lbcr = CFG_LBC_LBCR;	asm("msync");	lbc->lsrt = CFG_LBC_LSRT;	lbc->mrtpr = CFG_LBC_MRTPR;	asm("msync");	/*	 * Determine which address lines to use baed on CPU board rev.	 */	cpu_board_rev = get_cpu_board_revision();	lsdmr_common = CFG_LBC_LSDMR_COMMON;	if (cpu_board_rev == MPC85XX_CPU_BOARD_REV_1_0) {		lsdmr_common |= CFG_LBC_LSDMR_BSMA1617;	} else if (cpu_board_rev == MPC85XX_CPU_BOARD_REV_1_1) {		lsdmr_common |= CFG_LBC_LSDMR_BSMA1516;	} else {		/*		 * Assume something unable to identify itself is		 * really old, and likely has lines 16/17 mapped.		 */		lsdmr_common |= CFG_LBC_LSDMR_BSMA1617;	}	/*	 * Issue PRECHARGE ALL command.	 */	lbc->lsdmr = lsdmr_common | CFG_LBC_LSDMR_OP_PCHALL;	asm("sync;msync");	*sdram_addr = 0xff;	ppcDcbf((unsigned long) sdram_addr);	udelay(100);	/*	 * Issue 8 AUTO REFRESH commands.	 */	for (idx = 0; idx < 8; idx++) {		lbc->lsdmr = lsdmr_common | CFG_LBC_LSDMR_OP_ARFRSH;		asm("sync;msync");		*sdram_addr = 0xff;		ppcDcbf((unsigned long) sdram_addr);		udelay(100);	}	/*	 * Issue 8 MODE-set command.	 */	lbc->lsdmr = lsdmr_common | CFG_LBC_LSDMR_OP_MRW;	asm("sync;msync");	*sdram_addr = 0xff;	ppcDcbf((unsigned long) sdram_addr);	udelay(100);	/*	 * Issue NORMAL OP command.	 */	lbc->lsdmr = lsdmr_common | CFG_LBC_LSDMR_OP_NORMAL;	asm("sync;msync");	*sdram_addr = 0xff;	ppcDcbf((unsigned long) sdram_addr);	udelay(200);    /* Overkill. Must wait > 200 bus cycles */#endif	/* enable SDRAM init */}#if defined(CFG_DRAM_TEST)inttestdram(void){	uint *pstart = (uint *) CFG_MEMTEST_START;	uint *pend = (uint *) CFG_MEMTEST_END;	uint *p;	printf("Testing DRAM from 0x%08x to 0x%08x\n",	       CFG_MEMTEST_START,	       CFG_MEMTEST_END);	printf("DRAM test phase 1:\n");	for (p = pstart; p < pend; p++)		*p = 0xaaaaaaaa;	for (p = pstart; p < pend; p++) {		if (*p != 0xaaaaaaaa) {			printf ("DRAM test fails at: %08x\n", (uint) p);			return 1;		}	}	printf("DRAM test phase 2:\n");	for (p = pstart; p < pend; p++)		*p = 0x55555555;	for (p = pstart; p < pend; p++) {		if (*p != 0x55555555) {			printf ("DRAM test fails at: %08x\n", (uint) p);			return 1;		}	}	printf("DRAM test passed.\n");	return 0;}#endif#ifdef CONFIG_PCI/* For some reason the Tundra PCI bridge shows up on itself as a * different device.  Work around that by refusing to configure it */void dummy_func(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab) { }static struct pci_config_table pci_mpc85xxcds_config_table[] = {	{0x10e3, 0x0513, PCI_ANY_ID, 1, 3, PCI_ANY_ID, dummy_func, {0,0,0}},	{0x1106, 0x0686, PCI_ANY_ID, 1, 2, 0, mpc85xx_config_via, {0,0,0}},	{0x1106, 0x0571, PCI_ANY_ID, 1, 2, 1, mpc85xx_config_via_usbide, {0,0,0}},	{0x1105, 0x3038, PCI_ANY_ID, 1, 2, 2, mpc85xx_config_via_usb, {0,0,0}},	{0x1106, 0x3038, PCI_ANY_ID, 1, 2, 3, mpc85xx_config_via_usb2, {0,0,0}},	{0x1106, 0x3058, PCI_ANY_ID, 1, 2, 5, mpc85xx_config_via_power, {0,0,0}},	{0x1106, 0x3068, PCI_ANY_ID, 1, 2, 6, mpc85xx_config_via_ac97, {0,0,0}}};static struct pci_controller hose[] = {	{	config_table: pci_mpc85xxcds_config_table,	},#ifdef CONFIG_MPC85XX_PCI2	{ }#endif};#endifvoidpci_init_board(void){#ifdef CONFIG_PCI	pci_mpc85xx_init(hose);#endif}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久免费精品国产 | 欧美性色黄大片手机版| 成人开心网精品视频| 国产精品一区免费视频| 激情综合五月天| 久久成人久久爱| 韩国女主播成人在线观看| 麻豆精品一二三| 精品一区中文字幕| 精品一二三四区| 国产一区二区看久久| 国产麻豆精品一区二区| 国产mv日韩mv欧美| 粉嫩一区二区三区在线看| 99国产精品久| 亚洲欧美国产三级| 亚洲欧美偷拍卡通变态| 日韩理论片中文av| 亚洲在线中文字幕| 日韩黄色免费网站| 久久国产成人午夜av影院| 国产精品一区专区| 国产v综合v亚洲欧| 色视频欧美一区二区三区| 欧美在线看片a免费观看| 制服视频三区第一页精品| 日韩欧美一级二级三级| 久久久亚洲精华液精华液精华液| 日本一区二区三区在线观看| 亚洲欧美国产高清| 日本在线播放一区二区三区| 狠狠色丁香久久婷婷综| 懂色av一区二区三区免费观看| av不卡在线播放| 欧美日韩国产经典色站一区二区三区| 8x8x8国产精品| 久久精品一区蜜桃臀影院| 成人欧美一区二区三区视频网页| 一级精品视频在线观看宜春院| 午夜视频在线观看一区二区| 精品中文字幕一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩你懂的在线播放| 欧美国产一区二区| 亚洲一区二区三区精品在线| 老鸭窝一区二区久久精品| 暴力调教一区二区三区| 欧美日韩视频一区二区| 久久综合久久99| 亚洲乱码国产乱码精品精的特点| 日本不卡一二三| av综合在线播放| 日韩一区二区三区在线观看| 日本一区二区三区dvd视频在线| 亚洲午夜影视影院在线观看| 韩国精品在线观看| 欧洲一区在线观看| 国产午夜精品一区二区| 偷拍亚洲欧洲综合| www.日本不卡| 欧美一卡二卡三卡| 亚洲女与黑人做爰| 久久国产精品一区二区| 欧美吻胸吃奶大尺度电影| 久久久久久久一区| 日本成人中文字幕在线视频| eeuss鲁片一区二区三区在线看| 日韩三级电影网址| 亚洲一区二区四区蜜桃| 粉嫩久久99精品久久久久久夜| 欧美一区二区三区不卡| 亚洲精品写真福利| 成人免费三级在线| 精品国产伦理网| 偷拍一区二区三区四区| 色欧美片视频在线观看在线视频| 久久九九久久九九| 精品一区二区三区在线播放视频| 欧美色图在线观看| 亚洲女同一区二区| 成人久久视频在线观看| 久久日韩粉嫩一区二区三区| 丝袜亚洲另类丝袜在线| 在线免费观看日本一区| 国产精品国产三级国产普通话99| 久久av老司机精品网站导航| 91精品久久久久久蜜臀| 亚洲亚洲人成综合网络| 日本电影欧美片| 亚洲欧洲日韩在线| 成人性生交大片免费看在线播放| www成人在线观看| 蜜桃视频在线观看一区二区| 91精品午夜视频| 免费观看在线综合| 3751色影院一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 欧美最猛性xxxxx直播| 亚洲欧美日韩综合aⅴ视频| 不卡一区二区三区四区| 国产欧美一区二区精品性色超碰| 国产精品一区二区你懂的| 2020国产精品久久精品美国| 精品一区二区三区在线观看| 精品少妇一区二区三区在线播放 | 亚洲精品乱码久久久久久久久| 99国产欧美久久久精品| 中文字幕一区二区三区不卡在线 | 成人高清在线视频| 亚洲欧美综合网| 99视频有精品| 亚洲一区二区三区视频在线| 91成人免费在线| 首页欧美精品中文字幕| 欧美高清精品3d| 久久精品国产999大香线蕉| 日韩欧美国产一二三区| 激情偷乱视频一区二区三区| 久久久亚洲精品石原莉奈| 福利一区二区在线观看| 亚洲四区在线观看| 欧美日韩日日骚| 免费久久99精品国产| 久久久久久久久久久久电影| 成人av免费网站| 亚洲午夜精品17c| 日韩免费高清av| 国产福利一区二区三区视频 | 日本一区二区三区久久久久久久久不 | 色一情一乱一乱一91av| 亚洲成人自拍一区| 精品电影一区二区三区| 成人性生交大片免费看中文| 亚洲人快播电影网| 91.xcao| 国产激情精品久久久第一区二区 | 久久久久久久久岛国免费| 国产成人鲁色资源国产91色综| 亚洲欧洲日本在线| 欧美精品精品一区| 国产精品一区2区| 亚洲欧美日韩精品久久久久| 欧美卡1卡2卡| 国产成人av一区二区三区在线| 1024精品合集| 日韩一区二区三区视频在线| 国产成人精品免费视频网站| 亚洲一区二区三区小说| 欧美va亚洲va国产综合| 一本久久精品一区二区| 久久草av在线| 亚洲一区视频在线| 欧美精品一区男女天堂| 91黄色免费观看| 精品一区二区三区在线观看国产| 亚洲男人的天堂av| 精品国产精品网麻豆系列| 97久久人人超碰| 美女一区二区久久| 一区二区三区在线视频观看| 日韩欧美中文字幕精品| 91热门视频在线观看| 日本美女一区二区| 亚洲男人都懂的| 国产亚洲午夜高清国产拍精品| 欧美性xxxxx极品少妇| 成人小视频在线| 久久精品国产免费看久久精品| 亚洲免费在线电影| 国产日本亚洲高清| 日韩色视频在线观看| 欧美四级电影在线观看| jlzzjlzz国产精品久久| 国产一区中文字幕| 亚瑟在线精品视频| 亚洲乱码中文字幕| 国产日韩欧美综合在线| 精品蜜桃在线看| 欧美日韩aaa| 在线中文字幕一区二区| 成人黄色国产精品网站大全在线免费观看| 日韩电影在线免费观看| 一区二区三区加勒比av| 一区在线观看免费| 久久久精品中文字幕麻豆发布| 69堂成人精品免费视频| 在线观看欧美黄色| 99精品桃花视频在线观看| 国产精品一卡二卡在线观看| 青青青爽久久午夜综合久久午夜| 亚洲一本大道在线| 一卡二卡三卡日韩欧美| 亚洲欧洲韩国日本视频| 日本一区二区高清| 久久久高清一区二区三区| 精品免费视频.| 日韩一区二区精品在线观看| 在线电影院国产精品| 欧美亚洲日本一区| 欧美性生活大片视频|