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

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

?? mpc8541cds.c

?? 友善mini2440嵌入式
?? C
?? 第 1 頁 / 共 2 頁
字號:
	volatile immap_t *immap = (immap_t *)CFG_IMMR;	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#if defined(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};#endif	/* CONFIG_PCI */voidpci_init_board(void){#ifdef CONFIG_PCI	pci_mpc85xx_init(hose);#endif}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产露脸91国语对白| 99热在这里有精品免费| 99视频超级精品| 欧美成人a视频| 亚洲国产成人91porn| 激情丁香综合五月| 欧美一区二区三区思思人| 亚洲视频一二三区| 九色|91porny| 欧美一区二区三区婷婷月色| 亚洲精品欧美在线| 成人sese在线| 久久久不卡网国产精品二区| 美女视频黄a大片欧美| 欧美亚男人的天堂| 亚洲欧美激情插| av在线不卡免费看| 国产亚洲精品资源在线26u| 美女脱光内衣内裤视频久久网站| 欧美日韩精品免费观看视频 | 久久夜色精品国产欧美乱极品| 亚洲一级片在线观看| 97久久超碰国产精品| 国产精品伦一区| 国产99久久久国产精品潘金| 欧美精品一区二区高清在线观看| 蜜桃视频一区二区三区| 欧美精品一级二级| 日本在线不卡一区| 日韩免费看网站| 狠狠久久亚洲欧美| 久久嫩草精品久久久久| 国产精品亚洲第一区在线暖暖韩国| 日韩一区二区三区在线| 久久成人久久爱| 久久久蜜桃精品| 不卡大黄网站免费看| 亚洲视频在线一区观看| 欧美亚洲一区二区在线观看| 亚洲高清视频中文字幕| 欧美福利电影网| 日韩国产精品久久久久久亚洲| 欧美日本一区二区三区四区| 日本中文一区二区三区| 日韩精品一区二区在线观看| 韩国女主播成人在线| 亚洲国产经典视频| 99热国产精品| 亚洲18影院在线观看| 日韩欧美一二区| 国产一区二区三区不卡在线观看| 久久影视一区二区| 91一区二区在线| 首页国产欧美久久| 国产午夜亚洲精品理论片色戒| 成人免费观看av| 亚洲国产成人高清精品| 久久久久久久电影| 91毛片在线观看| 久久国产欧美日韩精品| 国产精品灌醉下药二区| 欧美精品亚洲一区二区在线播放| 美女一区二区三区在线观看| 国产精品你懂的| 在线播放一区二区三区| 高潮精品一区videoshd| 一区二区三区久久| 久久日韩粉嫩一区二区三区| 在线免费av一区| 国产精品一线二线三线| 亚洲在线免费播放| 久久久久88色偷偷免费| 欧美日韩在线观看一区二区| 国产在线不卡视频| 亚洲一区二区精品久久av| 久久一区二区视频| 欧美猛男gaygay网站| 成人aaaa免费全部观看| 日韩av在线发布| 亚洲综合免费观看高清完整版| 欧美精品一区二区蜜臀亚洲| 欧美日韩精品电影| 99国产欧美另类久久久精品| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品欧美专区| 国产精品欧美久久久久无广告| 欧美一二三区在线| 欧美美女网站色| 色综合视频在线观看| 国产麻豆一精品一av一免费| 三级一区在线视频先锋 | 欧美最新大片在线看| 成人综合日日夜夜| 精品无码三级在线观看视频| 午夜不卡av免费| 一区二区三区色| 中文字幕制服丝袜一区二区三区 | 欧美日韩国产综合久久| 99久久99久久精品免费观看| 国产成人午夜精品5599| 狠狠狠色丁香婷婷综合久久五月| 日韩精品午夜视频| 亚洲国产成人va在线观看天堂| 国产精品福利电影一区二区三区四区| 久久亚洲春色中文字幕久久久| 日韩女优制服丝袜电影| 欧美一区二区三区白人| 91精品国产乱| 日韩欧美黄色影院| 精品久久一区二区三区| 欧美变态凌虐bdsm| www一区二区| 国产欧美一区二区三区在线看蜜臀 | 国产精品羞羞答答xxdd| 久久99精品久久久久久| 免费观看91视频大全| 老司机免费视频一区二区 | 亚洲精品一区二区三区在线观看| 91精品国产日韩91久久久久久| 69p69国产精品| 日韩一区二区三免费高清| 欧美一级欧美一级在线播放| 欧美一区二区三区播放老司机| 宅男噜噜噜66一区二区66| 91精品国产品国语在线不卡| 日韩欧美综合一区| 国产日韩精品久久久| 中文字幕制服丝袜成人av | 国产日产精品1区| 日韩一区欧美小说| 亚洲综合色丁香婷婷六月图片| 日日摸夜夜添夜夜添精品视频 | 香蕉加勒比综合久久| 婷婷六月综合亚洲| 国产高清久久久久| 日本韩国欧美在线| 91精品国产综合久久精品app| 日韩精品在线看片z| 国产精品久久免费看| 一区二区三区在线不卡| 久久精品国产亚洲aⅴ| 成人avav影音| 欧美夫妻性生活| 久久久99精品免费观看不卡| 18成人在线观看| 天天综合色天天综合色h| 国产一区二区精品久久91| av午夜精品一区二区三区| 欧美丰满少妇xxxbbb| 久久久国际精品| 亚洲超碰精品一区二区| 国产成人av一区二区三区在线| 91亚洲大成网污www| 欧美二区在线观看| 国产精品毛片a∨一区二区三区| 亚洲福利国产精品| 北条麻妃一区二区三区| 欧美一区二区啪啪| 一区二区视频在线看| 韩国精品一区二区| 欧美日韩一区二区三区免费看| 久久男人中文字幕资源站| 午夜激情一区二区三区| 成人教育av在线| 精品欧美乱码久久久久久1区2区| 国产精品久久久久久久久免费相片 | 欧美韩日一区二区三区四区| 亚洲成av人在线观看| 国产成人在线视频网址| 3d成人动漫网站| 一区二区在线电影| 成人app网站| 欧美电影免费观看高清完整版 | 日韩一区二区三| 亚洲国产一区二区三区| 9l国产精品久久久久麻豆| 久久久亚洲国产美女国产盗摄| 午夜精品成人在线| 欧美无砖专区一中文字| 亚洲人成7777| 成人免费观看av| 国产嫩草影院久久久久| 国内成人精品2018免费看| 91麻豆精品国产91久久久 | 亚洲精品成人少妇| 粉嫩嫩av羞羞动漫久久久| 久久婷婷成人综合色| 美女视频网站久久| 日韩精品资源二区在线| 蜜桃一区二区三区四区| 欧美电影在哪看比较好| 性久久久久久久久| 欧美日韩情趣电影| 亚洲va欧美va天堂v国产综合| 色婷婷精品大在线视频 | 国产一区福利在线| 欧美v亚洲v综合ⅴ国产v| 麻豆精品一二三| 亚洲精品在线三区| 国产成人免费视频网站|