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

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

?? ebony.c

?? 友善mini2440嵌入式
?? C
字號:
/* *  Copyright (C) 2002 Scott McNutt <smcnutt@artesyncp.com> * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#include <common.h>#include <asm/processor.h>#include <spd_sdram.h>#define BOOT_SMALL_FLASH	32	/* 00100000 */#define FLASH_ONBD_N		2	/* 00000010 */#define FLASH_SRAM_SEL		1	/* 00000001 */DECLARE_GLOBAL_DATA_PTR;long int fixed_sdram(void);int board_early_init_f(void){	uint reg;	unsigned char *fpga_base = (unsigned char *)CFG_FPGA_BASE;	unsigned char status;	/*--------------------------------------------------------------------	 * Setup the external bus controller/chip selects	 *-------------------------------------------------------------------*/	mtdcr(ebccfga, xbcfg);	reg = mfdcr(ebccfgd);	mtdcr(ebccfgd, reg | 0x04000000);	/* Set ATC */	mtebc(pb1ap, 0x02815480);	/* NVRAM/RTC */	mtebc(pb1cr, 0x48018000);	/* BA=0x480 1MB R/W 8-bit */	mtebc(pb7ap, 0x01015280);	/* FPGA registers */	mtebc(pb7cr, 0x48318000);	/* BA=0x483 1MB R/W 8-bit */	/* read FPGA_REG0  and set the bus controller */	status = *fpga_base;	if ((status & BOOT_SMALL_FLASH) && !(status & FLASH_ONBD_N)) {		mtebc(pb0ap, 0x9b015480);	/* FLASH/SRAM */		mtebc(pb0cr, 0xfff18000);	/* BAS=0xfff 1MB R/W 8-bit */		mtebc(pb2ap, 0x9b015480);	/* 4MB FLASH */		mtebc(pb2cr, 0xff858000);	/* BAS=0xff8 4MB R/W 8-bit */	} else {		mtebc(pb0ap, 0x9b015480);	/* 4MB FLASH */		mtebc(pb0cr, 0xffc58000);	/* BAS=0xffc 4MB R/W 8-bit */		/* set CS2 if FLASH_ONBD_N == 0 */		if (!(status & FLASH_ONBD_N)) {			mtebc(pb2ap, 0x9b015480);	/* FLASH/SRAM */			mtebc(pb2cr, 0xff818000);	/* BAS=0xff8 4MB R/W 8-bit */		}	}	/*--------------------------------------------------------------------	 * Setup the interrupt controller polarities, triggers, etc.	 *-------------------------------------------------------------------*/	mtdcr(uic0sr, 0xffffffff);	/* clear all */	mtdcr(uic0er, 0x00000000);	/* disable all */	mtdcr(uic0cr, 0x00000009);	/* SMI & UIC1 crit are critical */	mtdcr(uic0pr, 0xfffffe13);	/* per ref-board manual */	mtdcr(uic0tr, 0x01c00008);	/* per ref-board manual */	mtdcr(uic0vr, 0x00000001);	/* int31 highest, base=0x000 */	mtdcr(uic0sr, 0xffffffff);	/* clear all */	mtdcr(uic1sr, 0xffffffff);	/* clear all */	mtdcr(uic1er, 0x00000000);	/* disable all */	mtdcr(uic1cr, 0x00000000);	/* all non-critical */	mtdcr(uic1pr, 0xffffe0ff);	/* per ref-board manual */	mtdcr(uic1tr, 0x00ffc000);	/* per ref-board manual */	mtdcr(uic1vr, 0x00000001);	/* int31 highest, base=0x000 */	mtdcr(uic1sr, 0xffffffff);	/* clear all */	return 0;}int checkboard(void){	char *s = getenv("serial#");	printf("Board: Ebony - AMCC PPC440GP Evaluation Board");	if (s != NULL) {		puts(", serial# ");		puts(s);	}	putc('\n');	return (0);}long int initdram(int board_type){	long dram_size = 0;#if defined(CONFIG_SPD_EEPROM)	dram_size = spd_sdram();#else	dram_size = fixed_sdram();#endif	return dram_size;}#if defined(CFG_DRAM_TEST)int testdram(void){	uint *pstart = (uint *) 0x00000000;	uint *pend = (uint *) 0x08000000;	uint *p;	for (p = pstart; p < pend; p++)		*p = 0xaaaaaaaa;	for (p = pstart; p < pend; p++) {		if (*p != 0xaaaaaaaa) {			printf("SDRAM test fails at: %08x\n", (uint) p);			return 1;		}	}	for (p = pstart; p < pend; p++)		*p = 0x55555555;	for (p = pstart; p < pend; p++) {		if (*p != 0x55555555) {			printf("SDRAM test fails at: %08x\n", (uint) p);			return 1;		}	}	return 0;}#endif#if !defined(CONFIG_SPD_EEPROM)/************************************************************************* *  fixed sdram init -- doesn't use serial presence detect. * *  Assumes:    128 MB, non-ECC, non-registered *              PLB @ 133 MHz * ************************************************************************/long int fixed_sdram(void){	uint reg;	/*--------------------------------------------------------------------	 * Setup some default	 *------------------------------------------------------------------*/	mtsdram(mem_uabba, 0x00000000);	/* ubba=0 (default)             */	mtsdram(mem_slio, 0x00000000);	/* rdre=0 wrre=0 rarw=0         */	mtsdram(mem_devopt, 0x00000000);	/* dll=0 ds=0 (normal)          */	mtsdram(mem_wddctr, 0x00000000);	/* wrcp=0 dcd=0                 */	mtsdram(mem_clktr, 0x40000000);	/* clkp=1 (90 deg wr) dcdt=0    */	/*--------------------------------------------------------------------	 * Setup for board-specific specific mem	 *------------------------------------------------------------------*/	/*	 * Following for CAS Latency = 2.5 @ 133 MHz PLB	 */	mtsdram(mem_b0cr, 0x000a4001);	/* SDBA=0x000 128MB, Mode 3, enabled */	mtsdram(mem_tr0, 0x410a4012);	/* WR=2  WD=1 CL=2.5 PA=3 CP=4 LD=2 */	/* RA=10 RD=3                       */	mtsdram(mem_tr1, 0x8080082f);	/* SS=T2 SL=STAGE 3 CD=1 CT=0x02f   */	mtsdram(mem_rtr, 0x08200000);	/* Rate 15.625 ns @ 133 MHz PLB     */	mtsdram(mem_cfg1, 0x00000000);	/* Self-refresh exit, disable PM    */	udelay(400);		/* Delay 200 usecs (min)            */	/*--------------------------------------------------------------------	 * Enable the controller, then wait for DCEN to complete	 *------------------------------------------------------------------*/	mtsdram(mem_cfg0, 0x86000000);	/* DCEN=1, PMUD=1, 64-bit           */	for (;;) {		mfsdram(mem_mcsts, reg);		if (reg & 0x80000000)			break;	}	return (128 * 1024 * 1024);	/* 128 MB                           */}#endif				/* !defined(CONFIG_SPD_EEPROM) *//************************************************************************* *  pci_pre_init * *  This routine is called just prior to registering the hose and gives *  the board the opportunity to check things. Returning a value of zero *  indicates that things are bad & PCI initialization should be aborted. * *	Different boards may wish to customize the pci controller structure *	(add regions, override default access routines, etc) or perform *	certain pre-initialization actions. * ************************************************************************/#if defined(CONFIG_PCI) && defined(CFG_PCI_PRE_INIT)int pci_pre_init(struct pci_controller *hose){	unsigned long strap;	/*--------------------------------------------------------------------------+     *	The ebony board is always configured as the host & requires the     *	PCI arbiter to be enabled.	 *--------------------------------------------------------------------------*/	strap = mfdcr(cpc0_strp1);	if ((strap & 0x00100000) == 0) {		printf("PCI: CPC0_STRP1[PAE] not set.\n");		return 0;	}	return 1;}#endif				/* defined(CONFIG_PCI) && defined(CFG_PCI_PRE_INIT) *//************************************************************************* *  pci_target_init * *	The bootstrap configuration provides default settings for the pci *	inbound map (PIM). But the bootstrap config choices are limited and *	may not be sufficient for a given board. * ************************************************************************/#if defined(CONFIG_PCI) && defined(CFG_PCI_TARGET_INIT)void pci_target_init(struct pci_controller *hose){	/*--------------------------------------------------------------------------+	 * Disable everything	 *--------------------------------------------------------------------------*/	out32r(PCIX0_PIM0SA, 0);	/* disable */	out32r(PCIX0_PIM1SA, 0);	/* disable */	out32r(PCIX0_PIM2SA, 0);	/* disable */	out32r(PCIX0_EROMBA, 0);	/* disable expansion rom */	/*--------------------------------------------------------------------------+	 * Map all of SDRAM to PCI address 0x0000_0000. Note that the 440 strapping     * options to not support sizes such as 128/256 MB.	 *--------------------------------------------------------------------------*/	out32r(PCIX0_PIM0LAL, CFG_SDRAM_BASE);	out32r(PCIX0_PIM0LAH, 0);	out32r(PCIX0_PIM0SA, ~(gd->ram_size - 1) | 1);	out32r(PCIX0_BAR0, 0);	/*--------------------------------------------------------------------------+	 * Program the board's subsystem id/vendor id	 *--------------------------------------------------------------------------*/	out16r(PCIX0_SBSYSVID, CFG_PCI_SUBSYS_VENDORID);	out16r(PCIX0_SBSYSID, CFG_PCI_SUBSYS_DEVICEID);	out16r(PCIX0_CMD, in16r(PCIX0_CMD) | PCI_COMMAND_MEMORY);}#endif				/* defined(CONFIG_PCI) && defined(CFG_PCI_TARGET_INIT) *//************************************************************************* *  is_pci_host * *	This routine is called to determine if a pci scan should be *	performed. With various hardware environments (especially cPCI and *	PPMC) it's insufficient to depend on the state of the arbiter enable *	bit in the strap register, or generic host/adapter assumptions. * *	Rather than hard-code a bad assumption in the general 440 code, the *	440 pci code requires the board to decide at runtime. * *	Return 0 for adapter mode, non-zero for host (monarch) mode. * * ************************************************************************/#if defined(CONFIG_PCI)int is_pci_host(struct pci_controller *hose){	/* The ebony board is always configured as host. */	return (1);}#endif				/* defined(CONFIG_PCI) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线不卡电影| 日韩欧美的一区| 51精品秘密在线观看| 国产日韩欧美麻豆| 男男视频亚洲欧美| 91丨porny丨首页| 久久―日本道色综合久久 | 久久你懂得1024| 亚洲成人精品影院| 99亚偷拍自图区亚洲| 日韩欧美一区二区在线视频| 亚洲一区二区三区四区五区黄| 高清日韩电视剧大全免费| 在线观看91精品国产麻豆| 国产欧美日韩卡一| 久久超碰97人人做人人爱| 欧美日韩免费观看一区二区三区| 国产精品护士白丝一区av| 国产自产视频一区二区三区| 欧美色电影在线| 亚洲综合在线免费观看| 一本到三区不卡视频| 成人欧美一区二区三区小说| 国产a久久麻豆| 国产日产精品1区| 国产麻豆欧美日韩一区| 欧美大胆一级视频| 六月丁香综合在线视频| 欧美成人在线直播| 久88久久88久久久| 91麻豆精品91久久久久同性| 午夜精品一区二区三区免费视频 | 亚洲成人av一区二区| 欧美在线观看视频一区二区| 亚洲免费av在线| 一本色道久久综合亚洲91| 亚洲猫色日本管| 欧洲av一区二区嗯嗯嗯啊| 婷婷久久综合九色综合伊人色| 欧美男同性恋视频网站| 免费日本视频一区| 久久久国产综合精品女国产盗摄| 国产一区二区免费在线| 国产精品美女久久久久久久| 色综合激情久久| 午夜视频一区二区三区| 欧美成人猛片aaaaaaa| 国产一区在线观看视频| 中文字幕亚洲综合久久菠萝蜜| 91视频免费观看| 日韩精品一级二级| 久久免费美女视频| 欧美在线综合视频| 国内精品视频一区二区三区八戒| 久久久精品中文字幕麻豆发布| 波多野结衣的一区二区三区| 亚洲精选视频免费看| 欧美精品粉嫩高潮一区二区| 国产一区二区三区在线观看免费| 中文字幕精品综合| 欧美日韩亚洲综合一区| 狠狠色丁香久久婷婷综合丁香| 中文字幕一区二| 日韩女优制服丝袜电影| 白白色 亚洲乱淫| 青青青伊人色综合久久| 国产精品视频免费| 91精品国产乱| 91在线国产观看| 日本不卡的三区四区五区| 日本一区二区免费在线| 欧美日韩一区在线观看| 成人一道本在线| 视频一区二区三区在线| 国产精品成人免费精品自在线观看| 欧美精品v国产精品v日韩精品| 国产精品一区二区x88av| 亚洲图片欧美综合| 国产欧美日韩在线| 日韩免费一区二区| 欧美中文一区二区三区| a级精品国产片在线观看| 美女脱光内衣内裤视频久久网站| 成人免费小视频| 亚洲精品一区二区三区香蕉| 欧美三级电影网| 成人av资源站| 精品一区二区三区免费观看| 亚洲人成网站色在线观看| 精品国免费一区二区三区| 欧美三级午夜理伦三级中视频| 成人黄色777网| 国内成+人亚洲+欧美+综合在线| 丝袜美腿亚洲综合| 亚洲丶国产丶欧美一区二区三区| 国产网站一区二区| 欧美男生操女生| 欧美日韩一区在线观看| 在线观看国产精品网站| 色综合天天综合在线视频| 国产高清精品在线| 国产精品一区二区在线观看网站| 日韩福利电影在线观看| 亚洲第一激情av| 亚洲一区二区三区在线播放| 亚洲欧美日韩在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人av在线一区二区| 国产精品1区2区3区| 精品午夜久久福利影院| 蜜臀av性久久久久蜜臀aⅴ| 日韩国产精品久久| 日产欧产美韩系列久久99| 五月天激情小说综合| 亚洲va欧美va人人爽| 图片区小说区区亚洲影院| 亚洲大尺度视频在线观看| 亚洲精品自拍动漫在线| 亚洲视频一区在线| 一区二区国产视频| 亚洲一区二区三区激情| 图片区小说区区亚洲影院| 奇米影视7777精品一区二区| 精品一区二区三区欧美| 国产一区二区调教| 成人免费高清在线| 91免费国产在线观看| 91久久精品一区二区二区| 欧美视频在线一区| 日韩片之四级片| 久久精品视频一区| 日韩一区欧美一区| 亚洲成人激情社区| 狠狠色丁香久久婷婷综合丁香| 国产成人精品三级| 91日韩精品一区| 在线成人av网站| 久久精品视频一区二区| 1024成人网| 美女视频第一区二区三区免费观看网站 | 国产一区二区不卡| 99久久伊人网影院| 欧美色窝79yyyycom| 欧美va天堂va视频va在线| 国产精品视频免费看| 亚洲一区二区三区四区五区黄 | 国产精品女主播av| 亚洲一区中文日韩| 国产一区二区三区黄视频| 91国偷自产一区二区三区观看| 91精品国产综合久久香蕉的特点| 国产日韩v精品一区二区| 亚洲成av人片一区二区三区| 国产精品影视天天线| 在线一区二区三区四区五区 | 亚洲成a人v欧美综合天堂下载| 激情伊人五月天久久综合| 色欧美乱欧美15图片| 日韩视频中午一区| 亚洲欧美激情视频在线观看一区二区三区 | 午夜精品影院在线观看| 粉嫩av一区二区三区粉嫩| 欧美猛男gaygay网站| 国产精品无遮挡| 久草在线在线精品观看| 欧美三片在线视频观看 | 日韩和欧美一区二区三区| 成人sese在线| 精品奇米国产一区二区三区| 亚洲精品免费一二三区| 国产精品18久久久久久久久| 欧美日韩另类一区| 亚洲男人的天堂网| 不卡av在线网| 久久丝袜美腿综合| 卡一卡二国产精品| 91精品婷婷国产综合久久竹菊| 中文字幕一区二区三区不卡在线 | 亚洲图片你懂的| 国产福利精品导航| 精品国一区二区三区| 美女视频免费一区| 日韩欧美电影在线| 美女一区二区在线观看| 欧美日韩一卡二卡| 亚洲一区二区三区爽爽爽爽爽 | www.av精品| 国产区在线观看成人精品| 久久黄色级2电影| 91麻豆精品国产91久久久资源速度 | 亚洲美女视频一区| 91老师片黄在线观看| 国产女人水真多18毛片18精品视频 | 精品一区二区三区在线播放视频 | 91精品国产综合久久久久久| 亚洲国产wwwccc36天堂| 在线观看日韩国产| 亚洲一区二区三区中文字幕 | 成人欧美一区二区三区| 成人免费高清视频|