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

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

?? kup4x.c

?? gumstiz u-boot loader in linux
?? C
字號:
/* * (C) Copyright 2000-2004 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * Klaus Heydeck, Kieback & Peter GmbH & Co KG, heydeck@kieback-peter.de * * 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 <mpc8xx.h>#include <post.h>#include "../common/kup.h"#ifdef CONFIG_KUP4K_LOGO/* #include "s1d13706.h" */#endif#define KUP4X_USBtypedef struct {	volatile unsigned char *VmemAddr;	volatile unsigned char *RegAddr;} FB_INFO_S1D13xxx;/* ------------------------------------------------------------------------- */int usb_init_kup4x (void);#ifdef CONFIG_KUP4K_LOGOvoid lcd_logo (bd_t * bd);#endif/* ------------------------------------------------------------------------- */#define	_NOT_USED_	0xFFFFFFFFconst uint sdram_table[] = {	/*	 * Single Read. (Offset 0 in UPMA RAM)	 */	0x1F07FC04, 0xEEAEFC04, 0x11ADFC04, 0xEFBBBC00,	0x1FF77C47,		/* last */	/*	 * SDRAM Initialization (offset 5 in UPMA RAM)	 *	 * This is no UPM entry point. The following definition uses	 * the remaining space to establish an initialization	 * sequence, which is executed by a RUN command.	 *	 */	0x1FF77C35, 0xEFEABC34, 0x1FB57C35,	/* last */	/*	 * Burst Read. (Offset 8 in UPMA RAM)	 */	0x1F07FC04, 0xEEAEFC04, 0x10ADFC04, 0xF0AFFC00,	0xF0AFFC00, 0xF1AFFC00, 0xEFBBBC00, 0x1FF77C47,	/* last */	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Single Write. (Offset 18 in UPMA RAM)	 */	0x1F27FC04, 0xEEAEBC00, 0x01B93C04, 0x1FF77C47,	/* last */	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Burst Write. (Offset 20 in UPMA RAM)	 */	0x1F07FC04, 0xEEAEBC00, 0x10AD7C00, 0xF0AFFC00,	0xF0AFFC00, 0xE1BBBC04, 0x1FF77C47,	/* last */	_NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Refresh  (Offset 30 in UPMA RAM)	 */	0x1FF5FC84, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04,	0xFFFFFC84, 0xFFFFFC07,	/* last */	_NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Exception. (Offset 3c in UPMA RAM)	 */	0x7FFFFC07,		/* last */	_NOT_USED_, _NOT_USED_, _NOT_USED_,};/* ------------------------------------------------------------------------- *//* * Check Board Identity: */int checkboard (void){	volatile immap_t *immap = (immap_t *) CFG_IMMR;	volatile memctl8xx_t *memctl = &immap->im_memctl;	volatile uchar *latch;	uchar rev, mod;	/*	 * Init ChipSelect #4 (CAN + HW-Latch)	 */	memctl->memc_or4 = 0xFFFF8926;	memctl->memc_br4 = 0x90000401;	__asm__ ("eieio");	latch = (volatile uchar *) 0x90000200;	rev = (*latch & 0xF8) >> 3;	mod = (*latch & 0x03);	printf ("Board: KUP4X Rev %d.%d\n",rev,mod);	return (0);}/* ------------------------------------------------------------------------- */long int initdram (int board_type){	volatile immap_t *immap = (immap_t *) CFG_IMMR;	volatile memctl8xx_t *memctl = &immap->im_memctl;	long int size_b0 = 0;	long int size_b1 = 0;	long int size_b2 = 0;	long int size_b3 = 0;	upmconfig (UPMA, (uint *) sdram_table,		   sizeof (sdram_table) / sizeof (uint));	/*	 * Preliminary prescaler for refresh (depends on number of	 * banks): This value is selected for four cycles every 62.4 us	 * with two SDRAM banks or four cycles every 31.2 us with one	 * bank. It will be adjusted after memory sizing.	 */	memctl->memc_mptpr = CFG_MPTPR;	memctl->memc_mar = 0x00000088;	/*	 * Map controller banks 1 and 2 to the SDRAM banks 2 and 3 at	 * preliminary addresses - these have to be modified after the	 * SDRAM size has been determined.	 *//*	memctl->memc_or1 = CFG_OR1_PRELIM;	*//*	memctl->memc_br1 = CFG_BR1_PRELIM;	*//*	memctl->memc_or2 = CFG_OR2_PRELIM;	*//*	memctl->memc_br2 = CFG_BR2_PRELIM;	*/	memctl->memc_mamr = CFG_MAMR & (~(MAMR_PTAE));	/* no refresh yet */	udelay (200);	/* perform SDRAM initializsation sequence */	memctl->memc_mcr = 0x80002105;	/* SDRAM bank 0 */	udelay (1);	memctl->memc_mcr = 0x80002830;	/* SDRAM bank 0 - execute twice */	udelay (1);	memctl->memc_mcr = 0x80002106;	/* SDRAM bank 0 - RUN MRS Pattern from loc 6 */	udelay (1);	memctl->memc_mcr = 0x80004105;	/* SDRAM bank 1 */	udelay (1);	memctl->memc_mcr = 0x80004830;	/* SDRAM bank 1 - execute twice */	udelay (1);	memctl->memc_mcr = 0x80004106;	/* SDRAM bank 1 - RUN MRS Pattern from loc 6 */	udelay (1);	memctl->memc_mcr = 0x80006105;	/* SDRAM bank 2 */	udelay (1);	memctl->memc_mcr = 0x80006830;	/* SDRAM bank 2 - execute twice */	udelay (1);	memctl->memc_mcr = 0x80006106;	/* SDRAM bank 2 - RUN MRS Pattern from loc 6 */	udelay (1);	memctl->memc_mcr = 0x8000C105;	/* SDRAM bank 2 */	udelay (1);	memctl->memc_mcr = 0x8000C830;	/* SDRAM bank 2 - execute twice */	udelay (1);	memctl->memc_mcr = 0x8000C106;	/* SDRAM bank 2 - RUN MRS Pattern from loc 6 */	udelay (1);	memctl->memc_mamr |= MAMR_PTAE;	/* enable refresh */	udelay (1000);#if 0				/* 4 x 8MB */	size_b0 = 0x00800000;	size_b1 = 0x00800000;	size_b2 = 0x00800000;	size_b3 = 0x00800000;	memctl->memc_mptpr = CFG_MPTPR;	udelay (1000);	memctl->memc_or1 = 0xFF800A00;	memctl->memc_br1 = 0x00000081;	memctl->memc_or2 = 0xFF000A00;	memctl->memc_br2 = 0x00800081;	memctl->memc_or3 = 0xFE000A00;	memctl->memc_br3 = 0x01000081;	memctl->memc_or6 = 0xFE000A00;	memctl->memc_br6 = 0x01800081;#else  /* 4 x 16 MB */	size_b0 = 0x01000000;	size_b1 = 0x01000000;	size_b2 = 0x01000000;	size_b3 = 0x01000000;	memctl->memc_mptpr = CFG_MPTPR;	udelay (1000);	memctl->memc_or1 = 0xFF000A00;	memctl->memc_br1 = 0x00000081;	memctl->memc_or2 = 0xFE000A00;	memctl->memc_br2 = 0x01000081;	memctl->memc_or3 = 0xFD000A00;	memctl->memc_br3 = 0x02000081;	memctl->memc_or6 = 0xFC000A00;	memctl->memc_br6 = 0x03000081;#endif	udelay (10000);	return (size_b0 + size_b1 + size_b2 + size_b3);}/* ------------------------------------------------------------------------- *//* * Check memory range for valid RAM. A simple memory test determines * the actually available RAM size between addresses `base' and * `base + maxsize'. Some (not all) hardware errors are detected: * - short between address lines * - short between data lines */#if 0static long int dram_size (long int mamr_value, long int *base,			   long int maxsize){	volatile immap_t *immap = (immap_t *) CFG_IMMR;	volatile memctl8xx_t *memctl = &immap->im_memctl;	volatile long int *addr;	ulong cnt, val;	ulong save[32];		/* to make test non-destructive */	unsigned char i = 0;	memctl->memc_mamr = mamr_value;	for (cnt = maxsize / sizeof (long); cnt > 0; cnt >>= 1) {		addr = base + cnt;	/* pointer arith! */		save[i++] = *addr;		*addr = ~cnt;	}	/* write 0 to base address */	addr = base;	save[i] = *addr;	*addr = 0;	/* check at base address */	if ((val = *addr) != 0) {		*addr = save[i];		return (0);	}	for (cnt = 1; cnt <= maxsize / sizeof (long); cnt <<= 1) {		addr = base + cnt;	/* pointer arith! */		val = *addr;		*addr = save[--i];		if (val != (~cnt)) {			return (cnt * sizeof (long));		}	}	return (maxsize);}#endifint misc_init_r (void){	volatile immap_t *immap = (immap_t *) CFG_IMMR;#ifdef CONFIG_IDE_LED	/* Configure PA8 as output port */	immap->im_ioport.iop_padir |= 0x80;	immap->im_ioport.iop_paodr |= 0x80;	immap->im_ioport.iop_papar &= ~0x80;	immap->im_ioport.iop_padat |= 0x80;	/* turn it off */#endif#ifdef KUP4X_USB	usb_init_kup4x ();#endif	setenv ("hw", "4x");	poweron_key ();	return (0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91同城在线观看| 欧美曰成人黄网| 亚洲gay无套男同| 一级特黄大欧美久久久| 日韩一区欧美一区| 亚洲人成7777| 亚洲一区二区三区四区五区中文| 亚洲啪啪综合av一区二区三区| 综合欧美一区二区三区| 亚洲人成人一区二区在线观看| 自拍偷拍国产精品| 一区二区三区四区不卡在线 | 日本中文一区二区三区| 亚洲图片欧美色图| 日韩经典中文字幕一区| 精品一区二区影视| 国产精品主播直播| 91污在线观看| 欧美肥胖老妇做爰| 久久午夜电影网| 椎名由奈av一区二区三区| 性久久久久久久久久久久| 极品尤物av久久免费看| 粗大黑人巨茎大战欧美成人| 91丨porny丨户外露出| 91精品啪在线观看国产60岁| 久久久久亚洲蜜桃| 一区二区三区中文字幕精品精品 | 亚洲精品午夜久久久| 亚洲va中文字幕| 国产呦萝稀缺另类资源| 色综合咪咪久久| 久久亚洲综合色| 亚洲免费av观看| 国内成人免费视频| 在线观看日韩av先锋影音电影院| 欧美大胆人体bbbb| 亚洲青青青在线视频| 国产乱码精品一品二品| 欧美群妇大交群中文字幕| 国产日产欧美一区二区三区 | 狠狠色综合色综合网络| 色天使色偷偷av一区二区| 日韩欧美国产1| 一区二区三区美女视频| 不卡的av中国片| 精品美女一区二区| 亚洲午夜久久久久久久久电影院 | 91丨porny丨蝌蚪视频| 久久色视频免费观看| 亚洲国产色一区| 99久久精品国产精品久久| 欧美videos中文字幕| 亚洲一区二区三区四区五区黄| 91麻豆精品91久久久久同性| 亚洲人精品一区| 成人精品视频一区二区三区尤物| 日韩免费福利电影在线观看| 亚洲第一综合色| 91美女片黄在线观看91美女| 国产欧美日韩精品一区| 另类欧美日韩国产在线| 在线不卡一区二区| 亚洲一级片在线观看| 91在线看国产| 日韩毛片视频在线看| 成人精品视频网站| 日本一区二区免费在线| 激情综合色播五月| 精品日韩成人av| 国产一区免费电影| 精品对白一区国产伦| 久久精品国产亚洲高清剧情介绍| 欧美日韩精品是欧美日韩精品| 亚洲人亚洲人成电影网站色| 99视频热这里只有精品免费| 综合激情成人伊人| 91久久人澡人人添人人爽欧美| 亚洲人123区| 欧洲精品中文字幕| 日本中文字幕一区| 精品少妇一区二区| 国产激情一区二区三区四区 | 成人app软件下载大全免费| 国产亚洲一区二区三区四区| 国产成人自拍高清视频在线免费播放| 2021国产精品久久精品| 国产成人免费在线| 亚洲欧美日韩成人高清在线一区| 91色综合久久久久婷婷| 亚洲国产精品久久不卡毛片| 91.com视频| 国产精品亚洲一区二区三区妖精| 国产精品欧美一级免费| 99re热视频精品| 日韩av成人高清| 国产欧美日韩另类视频免费观看| 91亚洲永久精品| 五月激情综合婷婷| 久久久久国产精品麻豆ai换脸| 99久久久久免费精品国产| 亚洲一区在线视频| 亚洲精品一区二区三区精华液| 成人夜色视频网站在线观看| 亚洲一级二级在线| 国产欧美日韩不卡| 欧美日韩视频在线第一区 | 国产视频一区二区三区在线观看 | 欧美日韩欧美一区二区| 国产在线精品一区在线观看麻豆| 最新热久久免费视频| 制服.丝袜.亚洲.中文.综合| 波多野结衣精品在线| 美女一区二区三区| 亚洲人成网站精品片在线观看| 欧美一级夜夜爽| 色婷婷av一区二区三区之一色屋| 久久99精品一区二区三区三区| 亚洲精品网站在线观看| 久久久久高清精品| 91麻豆精品国产91久久久使用方法| 国产精品亚洲成人| 日韩av在线播放中文字幕| 免费一级欧美片在线观看| 亚洲人成人一区二区在线观看| 精品国产乱码久久久久久久久| 欧美亚洲一区三区| 成人av电影在线播放| 国产一区久久久| 日本午夜一区二区| 亚洲综合免费观看高清完整版在线 | 欧美国产丝袜视频| 欧美成人a视频| 91精选在线观看| 欧亚洲嫩模精品一区三区| 成人理论电影网| 国产美女一区二区三区| 七七婷婷婷婷精品国产| 五月综合激情网| 亚洲精品菠萝久久久久久久| 国产精品传媒入口麻豆| 久久久99精品免费观看| 日韩午夜精品电影| 91精品国产综合久久精品图片| 日本韩国精品在线| 欧美午夜片在线看| 在线观看日韩精品| 欧美日韩亚洲不卡| 欧美日韩一区小说| 欧美日韩久久久一区| 欧美日韩中文一区| 精品视频一区二区不卡| 欧美精品乱码久久久久久按摩| 在线精品视频免费播放| 色天使久久综合网天天| 欧美私人免费视频| 在线不卡a资源高清| 日韩欧美久久久| 国产日韩欧美精品一区| 欧美高清在线一区| 国产精品久久久久久久蜜臀| ...xxx性欧美| 亚洲主播在线观看| 亚洲r级在线视频| 日韩av一级电影| 国产一区在线观看麻豆| 成人免费视频视频在线观看免费| 成人性生交大片| 91香蕉视频污| 欧美一级欧美三级在线观看| 精品福利一二区| 亚洲欧洲综合另类| 秋霞午夜av一区二区三区| 国产做a爰片久久毛片| 成人精品视频网站| 欧美日本在线看| 久久理论电影网| 亚洲精品中文字幕乱码三区| 亚洲成人动漫在线免费观看| 九九久久精品视频| av电影在线不卡| 91精品国产麻豆国产自产在线| 国产亚洲一本大道中文在线| 亚洲免费高清视频在线| 美日韩一级片在线观看| 成人深夜福利app| 欧美久久久久久久久中文字幕| 欧美mv和日韩mv国产网站| 亚洲女女做受ⅹxx高潮| 久久国产麻豆精品| 在线观看日韩电影| 久久精品视频一区二区三区| 夜夜操天天操亚洲| 黄色资源网久久资源365| 欧美亚洲一区三区| 国产精品丝袜黑色高跟| 免费人成在线不卡| 在线看一区二区| 国产精品福利一区二区三区| 青青青伊人色综合久久|