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

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

?? kup4x.c

?? 友善mini2440嵌入式
?? 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一区二区三区免费野_久草精品视频
国产精品久久福利| 成人综合在线网站| 五月天欧美精品| 亚洲精品综合在线| 亚洲人123区| 亚洲摸摸操操av| 亚洲精品日韩综合观看成人91| 国产精品视频一二| 1000部国产精品成人观看| 国产精品入口麻豆九色| 国产精品欧美一区二区三区| 中文字幕不卡在线观看| 中文字幕视频一区二区三区久| 国产精品久久久久永久免费观看 | 精品久久国产字幕高潮| 欧美xingq一区二区| 久久亚洲精品小早川怜子| 国产日韩综合av| 亚洲欧美日韩在线| 亚洲小说欧美激情另类| 日韩精品一二三| 韩日av一区二区| 成人综合在线观看| 在线观看视频91| 欧美第一区第二区| 亚洲国产高清不卡| 亚洲男同1069视频| 天堂一区二区在线| 国产一区二区三区在线观看免费| 成人午夜在线播放| 在线视频国产一区| 欧美一区二区福利视频| 久久久久久久久蜜桃| 中文字幕亚洲在| 午夜天堂影视香蕉久久| 精品无人码麻豆乱码1区2区| 成人精品视频一区| 欧美日韩精品一二三区| 久久久久久久综合色一本| 亚洲色图清纯唯美| 免费成人av资源网| 成人网页在线观看| 欧美日韩午夜精品| 久久九九99视频| 亚洲一级在线观看| 国产精品1区2区3区| 色婷婷国产精品| 欧美电影免费观看高清完整版在线| 国产精品天美传媒沈樵| 丝袜美腿亚洲一区二区图片| 国产东北露脸精品视频| 欧美久久久影院| 国产精品乱码一区二三区小蝌蚪| 亚洲一区免费视频| 精品不卡在线视频| 亚洲蜜臀av乱码久久精品 | 色又黄又爽网站www久久| 777久久久精品| 中文字幕精品综合| 另类小说图片综合网| 色婷婷久久99综合精品jk白丝| 精品国产乱码久久久久久久| 伊人一区二区三区| 国产福利一区在线| 欧美一级一区二区| 夜夜嗨av一区二区三区中文字幕 | jlzzjlzz亚洲女人18| 337p亚洲精品色噜噜狠狠| √…a在线天堂一区| 国产一区二区影院| 宅男噜噜噜66一区二区66| 最新成人av在线| 国产麻豆一精品一av一免费| 欧美精品自拍偷拍| 亚洲日本电影在线| 成人午夜私人影院| 久久久一区二区三区捆绑**| 欧美96一区二区免费视频| 日本韩国欧美一区| 国产精品你懂的| 国产成人免费av在线| 日韩一级大片在线| 调教+趴+乳夹+国产+精品| 91美女片黄在线| 亚洲欧美综合网| 国产91精品一区二区麻豆网站| 日韩一区二区不卡| 午夜精品一区二区三区电影天堂 | 欧美性猛片aaaaaaa做受| 亚洲欧洲99久久| 99视频精品在线| 日本一二三不卡| 成人午夜看片网址| 中文字幕精品综合| 国产成人精品综合在线观看| 26uuu色噜噜精品一区二区| 麻豆精品精品国产自在97香蕉| 欧美日韩午夜精品| 午夜精品成人在线视频| 欧美无乱码久久久免费午夜一区| 亚洲女同女同女同女同女同69| k8久久久一区二区三区 | 日韩av电影免费观看高清完整版在线观看 | 爽好多水快深点欧美视频| 色先锋久久av资源部| 亚洲欧美国产高清| 欧美性色黄大片| 亚洲国产另类av| 91精品国产日韩91久久久久久| 午夜精品福利一区二区三区av| 91精品国产综合久久香蕉的特点| 手机精品视频在线观看| 51午夜精品国产| 久久se精品一区二区| 久久一区二区三区国产精品| 国产在线精品一区在线观看麻豆| 2021久久国产精品不只是精品| 国产另类ts人妖一区二区| 国产日韩欧美精品综合| 99精品视频在线观看免费| 一区二区三区精品在线| 欧美精品日韩综合在线| 蜜臂av日日欢夜夜爽一区| 精品日韩99亚洲| 国产69精品久久久久777| 亚洲天堂久久久久久久| 欧美艳星brazzers| 蜜桃视频在线观看一区| 久久精品无码一区二区三区| 成人高清免费在线播放| 亚洲黄网站在线观看| 欧美精品 国产精品| 韩国成人在线视频| 国产精品国产馆在线真实露脸| 欧美优质美女网站| 韩国女主播一区二区三区| 中文字幕一区视频| 欧美日韩在线播| 国产伦精品一区二区三区免费迷| 国产精品国产馆在线真实露脸| 欧美亚洲图片小说| 激情五月播播久久久精品| 国产精品欧美一区喷水| 在线播放中文一区| 国产成人综合精品三级| 亚洲在线观看免费| 欧美r级在线观看| 色综合久久综合中文综合网| 蜜芽一区二区三区| 亚洲欧洲国产日韩| 日韩欧美一卡二卡| 91美女片黄在线| 黑人巨大精品欧美黑白配亚洲| 伊人一区二区三区| 国产亚洲成av人在线观看导航 | 中文无字幕一区二区三区| 欧洲一区二区三区免费视频| 美国十次了思思久久精品导航| 亚洲视频中文字幕| 欧美电影免费观看高清完整版在线观看| 成人福利电影精品一区二区在线观看| 午夜激情一区二区| 国产精品夫妻自拍| 欧美大片在线观看一区二区| 91国产丝袜在线播放| 国产自产高清不卡| 午夜成人免费视频| 一区在线播放视频| 久久日韩粉嫩一区二区三区| 欧美系列一区二区| av在线播放一区二区三区| 精品在线观看视频| 午夜在线成人av| 亚洲日本va在线观看| 国产午夜精品久久久久久久| 欧美一区二区三区视频在线观看| 99久久er热在这里只有精品15| 久久成人18免费观看| 亚洲精品成a人| 成人免费在线观看入口| 久久久高清一区二区三区| 欧美成人艳星乳罩| 欧美另类videos死尸| 色婷婷精品久久二区二区蜜臀av| 成人免费av在线| 韩国成人在线视频| 精品午夜久久福利影院 | 91麻豆精品国产综合久久久久久 | 国产精品毛片无遮挡高清| 久久久亚洲欧洲日产国码αv| 91精品国产高清一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 国产成人免费网站| 九九热在线视频观看这里只有精品| 亚洲va在线va天堂| 亚洲小说欧美激情另类| 亚洲小少妇裸体bbw| 亚洲综合男人的天堂| 亚洲人吸女人奶水| 国产精品电影一区二区|