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

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

?? mip405.c

?? ppcboot2.0 華恒光盤里帶的BOOTLOADER
?? C
?? 第 1 頁 / 共 2 頁
字號:
		mtdcr (memcfga, mem_rtr);		tmp = mfdcr (memcfgd) & ~0x3FF80000;		tmp |= 0x07F00000;	} else {		/* get SDRAM refresh interval register */		mtdcr (memcfga, mem_rtr);		tmp = mfdcr (memcfgd) & ~0x3FF80000;		tmp |= 0x05F00000;	}	/* write SDRAM refresh interval register */	mtdcr (memcfga, mem_rtr);	mtdcr (memcfgd, tmp);	/* enable ECC if used */#if 1	if (sdram_table[i].ecc) {		/* disable checking for all banks */#ifdef SDRAM_DEBUG		serial_puts ("disable ECC.. ");#endif		mtdcr (memcfga, mem_ecccf);		tmp = mfdcr (memcfgd);		tmp &= 0xff0fffff;		/* disable all banks */		mtdcr (memcfga, mem_ecccf);		/* set up SDRAM Controller with ECC enabled */#ifdef SDRAM_DEBUG		serial_puts ("setup SDRAM Controller.. ");#endif		mtdcr (memcfgd, tmp);		mtdcr (memcfga, mem_mcopt1);		tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x90800000;		mtdcr (memcfga, mem_mcopt1);		mtdcr (memcfgd, tmp);		udelay (600);#ifdef SDRAM_DEBUG		serial_puts ("fill the memory..\n");#endif		serial_puts (".");		/* now, fill all the memory */		tmp = ((4 * MEGA_BYTE) << sdram_table[i].sz);		p = (unsigned long) 0;		while ((unsigned long) p < tmp) {			*p++ = 0L;			if (!((unsigned long) p % 0x00800000))	/* every 8MByte */				serial_puts (".");		}		/* enable bank 0 */		serial_puts (".");#ifdef SDRAM_DEBUG		serial_puts ("enable ECC\n");#endif		udelay (400);		mtdcr (memcfga, mem_ecccf);		tmp = mfdcr (memcfgd);		tmp |= 0x00800000;		/* enable bank 0 */		mtdcr (memcfgd, tmp);		udelay (400);	} else#endif	{		/* enable SDRAM controller with no ECC, 32-bit SDRAM width, 16 byte burst */		mtdcr (memcfga, mem_mcopt1);		tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x80C00000;		mtdcr (memcfga, mem_mcopt1);		mtdcr (memcfgd, tmp);		udelay (400);	}	serial_puts ("\n");	return (0);}int board_pre_init (void){	init_sdram ();   /*-------------------------------------------------------------------------+   | Interrupt controller setup for the PIP405 board.   | Note: IRQ 0-15  405GP internally generated; active high; level sensitive   |       IRQ 16    405GP internally generated; active low; level sensitive   |       IRQ 17-24 RESERVED   |       IRQ 25 (EXT IRQ 0) SouthBridge; active low; level sensitive   |       IRQ 26 (EXT IRQ 1) NMI: active low; level sensitive   |       IRQ 27 (EXT IRQ 2) SMI: active Low; level sensitive   |       IRQ 28 (EXT IRQ 3) PCI SLOT 3; active low; level sensitive   |       IRQ 29 (EXT IRQ 4) PCI SLOT 2; active low; level sensitive   |       IRQ 30 (EXT IRQ 5) PCI SLOT 1; active low; level sensitive   |       IRQ 31 (EXT IRQ 6) PCI SLOT 0; active low; level sensitive   | Note for MIP405 board:   |       An interrupt taken for the SouthBridge (IRQ 25) indicates that   |       the Interrupt Controller in the South Bridge has caused the   |       interrupt. The IC must be read to determine which device   |       caused the interrupt.   |   +-------------------------------------------------------------------------*/	mtdcr (uicsr, 0xFFFFFFFF);	/* clear all ints */	mtdcr (uicer, 0x00000000);	/* disable all ints */	mtdcr (uiccr, 0x00000000);	/* set all to be non-critical (for now) */	mtdcr (uicpr, 0xFFFFFF80);	/* set int polarities */	mtdcr (uictr, 0x10000000);	/* set int trigger levels */	mtdcr (uicvcr, 0x00000001);	/* set vect base=0,INT0 highest priority */	mtdcr (uicsr, 0xFFFFFFFF);	/* clear all ints */	return 0;}/* * Get some PLD Registers */unsigned short get_pld_parvers (void){	unsigned short result;	unsigned char rc;	rc = in8 (PLD_PART_REG);	result = (unsigned short) rc << 8;	rc = in8 (PLD_VERS_REG);	result |= rc;	return result;}void user_led0 (unsigned char on){	if (on)		out8 (PLD_COM_MODE_REG, (in8 (PLD_COM_MODE_REG) | 0x4));	else		out8 (PLD_COM_MODE_REG, (in8 (PLD_COM_MODE_REG) & 0xfb));}void ide_set_reset (int idereset){	/* if reset = 1 IDE reset will be asserted */	if (idereset)		out8 (PLD_COM_MODE_REG, (in8 (PLD_COM_MODE_REG) | 0x1));	else {		udelay (10000);		out8 (PLD_COM_MODE_REG, (in8 (PLD_COM_MODE_REG) & 0xfe));	}}/* ------------------------------------------------------------------------- *//* * Check Board Identity: */int checkboard (void){	unsigned char s[50];	unsigned char bc, var, rc;	int i;	backup_t *b = (backup_t *) s;	puts ("Board: ");	bc = get_board_revcfg ();	var = ~bc;	var &= 0xf;	rc = 0;	for (i = 0; i < 4; i++) {		rc <<= 1;		rc += (var & 0x1);		var >>= 1;	}	rc++;	i = getenv_r ("serial#", s, 32);	if ((i == 0) || strncmp (s, "MIP405", 6)) {		get_backup_values (b);		if (strncmp (b->signature, "MPL\0", 4) != 0) {			puts ("### No HW ID - assuming MIP405");			printf ("-%d Rev %c", rc, 'A' + ((bc >> 4) & 0xf));		} else {			b->serial_name[6] = 0;			printf ("%s-%d Rev %c SN: %s", b->serial_name, rc,					'A' + ((bc >> 4) & 0xf), &b->serial_name[7]);		}	} else {		s[6] = 0;		printf ("%s-%d Rev %c SN: %s", s, rc, 'A' + ((bc >> 4) & 0xf),				&s[7]);	}	bc = in8 (PLD_EXT_CONF_REG);	printf (" Boot Config: 0x%x\n", bc);	return (0);}/* ------------------------------------------------------------------------- *//* ------------------------------------------------------------------------- *//*  initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of  the necessary info for SDRAM controller configuration*//* ------------------------------------------------------------------------- *//* ------------------------------------------------------------------------- */static int test_dram (unsigned long ramsize);long int initdram (int board_type){	unsigned long bank_reg[4], tmp, bank_size;	int i, ds;	unsigned long TotalSize;	ds = 0;	/* since the DRAM controller is allready set up, calculate the size with the	   bank registers    */	mtdcr (memcfga, mem_mb0cf);	bank_reg[0] = mfdcr (memcfgd);	mtdcr (memcfga, mem_mb1cf);	bank_reg[1] = mfdcr (memcfgd);	mtdcr (memcfga, mem_mb2cf);	bank_reg[2] = mfdcr (memcfgd);	mtdcr (memcfga, mem_mb3cf);	bank_reg[3] = mfdcr (memcfgd);	TotalSize = 0;	for (i = 0; i < 4; i++) {		if ((bank_reg[i] & 0x1) == 0x1) {			tmp = (bank_reg[i] >> 17) & 0x7;			bank_size = 4 << tmp;			TotalSize += bank_size;		} else			ds = 1;	}	mtdcr (memcfga, mem_ecccf);	tmp = mfdcr (memcfgd);	if (!tmp)		printf ("No ");	printf ("ECC ");	test_dram (TotalSize * MEGA_BYTE);	return (TotalSize * MEGA_BYTE);}/* ------------------------------------------------------------------------- */extern int mem_test (unsigned long start, unsigned long ramsize,					 int quiet);static int test_dram (unsigned long ramsize){#ifdef SDRAM_DEBUG	mem_test (0L, ramsize, 1);#endif	/* not yet implemented */	return (1);}int misc_init_r (void){	return (0);}void print_mip405_rev (void){	unsigned char part, vers, cfg, rev;	cfg = get_board_revcfg ();	vers = cfg;	vers &= 0xf;	rev = (((vers & 0x1) ? 0x8 : 0) |		   ((vers & 0x2) ? 0x4 : 0) |		   ((vers & 0x4) ? 0x2 : 0) | ((vers & 0x8) ? 0x1 : 0));	part = in8 (PLD_PART_REG);	vers = in8 (PLD_VERS_REG);	printf ("Rev:   MIP405-%d Rev %c PLD%d Vers %d\n",			(16 - rev), ((cfg >> 4) & 0xf) + 'A', part, vers);}int last_stage_init (void){	if (miiphy_write (0x1, 0x14, 0x2402) != 0) {		printf ("Error writing to the PHY\n");	}	print_mip405_rev ();	show_stdio_dev ();	check_env ();	return 0;}/*************************************************************************** * some helping routines */int overwrite_console (void){	return ((in8 (PLD_EXT_CONF_REG) & 0x1)==0);	/* return TRUE if console should be overwritten */}/************************************************************************* Print MIP405 Info************************************************************************/void print_mip405_info (void){	unsigned char part, vers, cfg, irq_reg, com_mode, ext;	part = in8 (PLD_PART_REG);	vers = in8 (PLD_VERS_REG);	cfg = in8 (PLD_BOARD_CFG_REG);	irq_reg = in8 (PLD_IRQ_REG);	com_mode = in8 (PLD_COM_MODE_REG);	ext = in8 (PLD_EXT_CONF_REG);	printf ("PLD Part %d version %d\n", part, vers);	printf ("Board Revision %c\n", ((cfg >> 4) & 0xf) + 'A');	printf ("Population Options %d %d %d %d\n", (cfg) & 0x1,			(cfg >> 1) & 0x1, (cfg >> 2) & 0x1, (cfg >> 3) & 0x1);	printf ("User LED %s\n", (com_mode & 0x4) ? "on" : "off");	printf ("UART Clocks %d\n", (com_mode >> 4) & 0x3);	printf ("Test ist %x\n", com_mode);	printf ("User Config Switch %d %d %d %d %d %d %d %d\n",			(ext) & 0x1, (ext >> 1) & 0x1, (ext >> 2) & 0x1,			(ext >> 3) & 0x1, (ext >> 4) & 0x1, (ext >> 5) & 0x1,			(ext >> 6) & 0x1, (ext >> 7) & 0x1);	printf ("SER1 uses handshakes %s\n",			(ext & 0x80) ? "DTR/DSR" : "RTS/CTS");	printf ("IDE Reset %s\n", (ext & 0x01) ? "asserted" : "not asserted");	printf ("IRQs:\n");	printf ("  PIIX INTR: %s\n", (irq_reg & 0x80) ? "inactive" : "active");	printf ("  UART0 IRQ: %s\n", (irq_reg & 0x40) ? "inactive" : "active");	printf ("  UART1 IRQ: %s\n", (irq_reg & 0x20) ? "inactive" : "active");	printf ("  PIIX SMI:  %s\n", (irq_reg & 0x10) ? "inactive" : "active");	printf ("  PIIX INIT: %s\n", (irq_reg & 0x8) ? "inactive" : "active");	printf ("  PIIX NMI:  %s\n", (irq_reg & 0x4) ? "inactive" : "active");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线视频一区 二区| 日韩一区二区影院| 九色porny丨国产精品| 日韩高清在线一区| 日本在线不卡一区| 久久国产日韩欧美精品| 极品瑜伽女神91| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲一区二区欧美激情| 亚洲mv在线观看| 蜜桃视频在线一区| 国产一区二区三区久久久| 丁香一区二区三区| 色婷婷久久久久swag精品| 欧美区一区二区三区| 日韩欧美自拍偷拍| 中文久久乱码一区二区| 一区二区三区美女视频| 午夜私人影院久久久久| 韩国v欧美v亚洲v日本v| 成人爽a毛片一区二区免费| 色婷婷激情久久| 91精品久久久久久久91蜜桃| 欧美tickling挠脚心丨vk| 国产欧美日韩三区| 亚洲国产精品久久人人爱蜜臀| 七七婷婷婷婷精品国产| av在线一区二区三区| 欧美性大战久久| 久久久国产综合精品女国产盗摄| 国产精品人人做人人爽人人添 | 欧美一区二区三区在线观看 | 国产69精品久久久久777| 暴力调教一区二区三区| 欧美日韩成人在线| 国产女同互慰高潮91漫画| 尤物av一区二区| 韩国精品主播一区二区在线观看 | 欧美理论电影在线| 国产欧美中文在线| 午夜av一区二区| 成人午夜视频在线观看| 欧美色综合影院| 国产精品美女久久久久久久久| 亚洲高清一区二区三区| 国产成人av电影在线播放| 欧美猛男gaygay网站| 国产精品毛片高清在线完整版| 日本va欧美va欧美va精品| 成人午夜激情片| 精品国产乱码久久久久久蜜臀| 亚洲欧美日韩国产手机在线| 精品一区二区三区日韩| 欧美日韩成人在线| 一区二区三区在线免费播放| 国产精品一二三四| 日韩欧美另类在线| 视频在线在亚洲| 欧美伊人久久大香线蕉综合69| 欧美韩国日本一区| 另类成人小视频在线| 欧美欧美午夜aⅴ在线观看| 亚洲欧美韩国综合色| 99久久99久久精品免费观看| 久久综合久久鬼色中文字| 日韩成人午夜精品| 欧美精品 日韩| 亚洲成人午夜电影| 欧美偷拍一区二区| 亚洲第一成年网| 欧美午夜一区二区三区| 亚洲视频资源在线| 91小视频在线| 亚洲男人的天堂av| 色偷偷88欧美精品久久久| 亚洲乱码国产乱码精品精小说| 成人动漫一区二区在线| 欧美国产禁国产网站cc| 成人免费高清在线| 亚洲三级电影网站| 欧美丝袜丝nylons| 免播放器亚洲一区| 精品国产乱子伦一区| 国产精品99久久久久久有的能看| 亚洲精品一区在线观看| 国产福利电影一区二区三区| 国产日韩欧美激情| 91麻豆国产自产在线观看| 伊人开心综合网| 欧美欧美欧美欧美首页| 精品一二三四在线| 亚洲国产激情av| 97精品久久久久中文字幕| 亚洲一区二区影院| 91精品国产一区二区人妖| 极品尤物av久久免费看| 国产精品午夜免费| 在线看国产一区| 美女视频网站久久| 国产精品国产三级国产普通话蜜臀| 色婷婷av一区二区三区gif| 亚洲无人区一区| 精品国产伦一区二区三区观看体验 | 色婷婷激情一区二区三区| 日韩成人一级片| 欧美激情综合五月色丁香| 欧美日韩一区 二区 三区 久久精品| 琪琪一区二区三区| 国产精品黄色在线观看| 日韩一区和二区| 99久久久久久| 美国av一区二区| 日韩美女视频一区二区| 这里只有精品99re| 91在线精品一区二区三区| 奇米色一区二区| 亚洲欧美日韩精品久久久久| 精品剧情在线观看| 欧洲国内综合视频| 国产成人免费网站| 麻豆中文一区二区| 亚洲免费观看高清在线观看| 欧美变态tickle挠乳网站| 一本色道久久综合亚洲aⅴ蜜桃| 久久99蜜桃精品| 天天综合色天天综合色h| 亚洲素人一区二区| 国产欧美日韩精品a在线观看| 欧美视频第二页| 91视频免费观看| 成人综合在线观看| 国产一区二区三区综合| 日本不卡中文字幕| 午夜欧美视频在线观看| 一区二区三区国产精品| 国产精品美女一区二区三区| 欧美成人激情免费网| 欧美美女喷水视频| 欧美色图第一页| 色av成人天堂桃色av| jiyouzz国产精品久久| 国产乱对白刺激视频不卡| 精品中文字幕一区二区小辣椒| 午夜精品福利一区二区三区蜜桃| 亚洲乱码中文字幕综合| 亚洲美女在线国产| 亚洲乱码中文字幕| 亚洲在线视频免费观看| 亚洲一区av在线| 亚洲成人动漫av| 五月天久久比比资源色| 婷婷久久综合九色国产成人| 亚洲福利国产精品| 日韩制服丝袜av| 免费欧美高清视频| 久久狠狠亚洲综合| 国产制服丝袜一区| 国产成人av一区二区三区在线| 国产盗摄女厕一区二区三区| 国产91色综合久久免费分享| 成人av在线网| 91小视频免费观看| 欧美日韩国产影片| 欧美一区二区三区免费大片| 欧美va日韩va| 国产精品久线观看视频| 亚洲444eee在线观看| 天堂精品中文字幕在线| 久久精品99久久久| 国产福利一区二区三区视频在线 | 欧美巨大另类极品videosbest | 欧美一区二区观看视频| 久久亚洲精华国产精华液| 国产精品久久久久久久久久免费看| 亚洲婷婷在线视频| 青青草原综合久久大伊人精品优势 | 欧美午夜精品一区| 精品捆绑美女sm三区| 国产精品美女久久久久aⅴ国产馆| 亚洲老妇xxxxxx| 日本欧美一区二区| 成人爽a毛片一区二区免费| 91国偷自产一区二区三区成为亚洲经典| 欧美性受xxxx黑人xyx| 久久综合色之久久综合| 亚洲精品网站在线观看| 久久激情综合网| 色综合一区二区| 日韩欧美亚洲一区二区| 中文字幕五月欧美| 久久爱www久久做| 色综合久久中文字幕| 日韩三级免费观看| 亚洲欧美日韩中文播放| 久久精品国产亚洲高清剧情介绍| caoporn国产精品| 欧美精品一区二区三区蜜臀| 亚洲综合色区另类av| 国产激情精品久久久第一区二区 | 国产寡妇亲子伦一区二区|