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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iad210.c

?? uboot for at91rm9200dk
?? C
字號(hào):
/* * (C) Copyright 2001 * Paul Geerinckx * * 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 "atm.h"#include <i2c.h>/* ------------------------------------------------------------------------- */static long int dram_size (long int, long int *, long int);/* ------------------------------------------------------------------------- *//* used PLD registers */#  define PLD_GCR1_REG (unsigned char *) (0x10000000 + 0)#  define PLD_EXT_RES  (unsigned char *) (0x10000000 + 10)#  define PLD_EXT_FETH (unsigned char *) (0x10000000 + 11)#  define PLD_EXT_LED  (unsigned char *) (0x10000000 + 12)#  define PLD_EXT_X21  (unsigned char *) (0x10000000 + 13)#define	_NOT_USED_	0xFFFFFFFFconst uint sdram_table[] ={	/*	 * Single Read. (Offset 0 in UPMA RAM)	 */	0xFE2DB004, 0xF0AA7004, 0xF0A5F400, 0xF3AFFC47, /* last */	_NOT_USED_,	/*	 * 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.	 *	 */		    0xFFFAF834, 0xFFE5B435, /* last */					    _NOT_USED_,	/*	 * Burst Read. (Offset 8 in UPMA RAM)	 */	0xFE2DB004, 0xF0AF7404, 0xF0AFFC00, 0xF0AFFC00,	0xF0AFFC00, 0xF0AAF800, 0xF1A5E447, /* last */					    _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Single Write. (Offset 18 in UPMA RAM)	 */	0xFE29B300, 0xF1A27304, 0xFFA5F747,  /* last */					    _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Burst Write. (Offset 20 in UPMA RAM)	 */	0x1F0DFC04, 0xEEABBC00, 0x10A77C00, 0xF0AFFC00,	0xF1AAF804, 0xFFA5F447, /* last */				_NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	_NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * Refresh  (Offset 30 in UPMA RAM)	 */	0xFFAC3884, 0xFFAC3404, 0xFFAFFC04, 0xFFAFFC84,	0xFFAFFC07, /* last */		    _NOT_USED_, _NOT_USED_, _NOT_USED_,	/*	 * MRS sequence  (Offset 38 in UPMA RAM)	 */	0xFFAAB834, 0xFFA57434, 0xFFAFFC05, /* last */					    _NOT_USED_,	/*	 * Exception. (Offset 3c in UPMA RAM)	 */	0xFFAFFC04, 0xFFAFFC05, /* last */				_NOT_USED_, _NOT_USED_,};/* ------------------------------------------------------------------------- */long int initdram (int board_type){    volatile immap_t     *immap  = (immap_t *)CFG_IMMR;    volatile memctl8xx_t *memctl = &immap->im_memctl;    volatile iop8xx_t      *iop    = &immap->im_ioport;    volatile fec_t         *fecp   = &immap->im_cpm.cp_fec;    long int size;    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 2 and 3 to the SDRAM banks 2 and 3 at     * preliminary addresses - these have to be modified after the     * SDRAM size has been determined.     */    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  = 0x80004105;	/* SDRAM bank 0 */    udelay(1);    memctl->memc_mcr  = 0x80004230;	/* SDRAM bank 0 - execute twice */    udelay(1);    memctl->memc_mcr  = 0x80004105;	/* SDRAM precharge */    udelay(1);    memctl->memc_mcr  = 0x80004030;	/* SDRAM 16x autorefresh */    udelay(1);    memctl->memc_mcr  = 0x80004138;	/* SDRAM upload parameters */    udelay(1);    memctl->memc_mamr |= MAMR_PTAE;	/* enable refresh */    udelay (1000);    /*     * Check Bank 0 Memory Size for re-configuration     *     */    size = dram_size (CFG_MAMR, (ulong *)SDRAM_BASE_PRELIM, SDRAM_MAX_SIZE);    udelay (1000);    memctl->memc_mamr = CFG_MAMR;    udelay (1000);    /*     * Final mapping     */    memctl->memc_or2 = ((-size) & 0xFFFF0000) | CFG_OR2_PRELIM;    memctl->memc_br2 = ((CFG_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V);    udelay(10000);    /* prepare pin multiplexing for fast ethernet */    atmLoad();    fecp->fec_ecntrl = 0x00000004;  /* rev D3 pinmux SET */    iop->iop_pdpar |= 0x0080; /* set pin as MII_clock */    return (size);}/* ------------------------------------------------------------------------- *//* * 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 */static 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);}/* * Check Board Identity: */int checkboard (void){    return (0);}void board_serial_init(void){  ;/* nothing to do here */}void board_ether_init(void){    volatile immap_t       *immap  = (immap_t *)CFG_IMMR;    volatile iop8xx_t      *iop    = &immap->im_ioport;    volatile fec_t         *fecp   = &immap->im_cpm.cp_fec;  atmLoad();  fecp->fec_ecntrl = 0x00000004;  /* rev D3 pinmux SET */  iop->iop_pdpar |= 0x0080; /* set pin as MII_clock */}int board_pre_init (void){    volatile immap_t       *immap  = (immap_t *)CFG_IMMR;    volatile cpmtimer8xx_t *timers = &immap->im_cpmtimer;    volatile memctl8xx_t   *memctl = &immap->im_memctl;    volatile iop8xx_t      *iop    = &immap->im_ioport;  /* configure the LED timing output pins - port A pin 4 */    iop->iop_papar = 0x0800;    iop->iop_padir = 0x0800;  /* start timer 2 for the 4hz LED blink rate */    timers->cpmt_tmr2 = 0xff2c;     /* 4hz for 64mhz */    timers->cpmt_trr2 = 0x000003d0; /* clk/16 , prescale=256 */    timers->cpmt_tgcr = 0x00000810; /* run timer 2 */  /* chip select for PLD access */    memctl->memc_br6  = 0x10000401;    memctl->memc_or6  = 0xFC000908;  /* PLD initial values ( set LEDs, remove reset on LXT) */    *PLD_GCR1_REG = 0x06;    *PLD_EXT_RES  = 0xC0;    *PLD_EXT_FETH = 0x40;    *PLD_EXT_LED  = 0xFF;    *PLD_EXT_X21  = 0x04;    return 0;}void board_get_enetaddr (uchar *addr){    int i;    volatile immap_t     *immap  = (immap_t *)CFG_IMMR;    volatile cpm8xx_t	 *cpm    = &immap->im_cpm;    unsigned int rccrtmp;    char default_mac_addr[] = {0x00, 0x08, 0x01, 0x02, 0x03, 0x04};    for (i=0; i<6; i++)      addr[i] = default_mac_addr[i];    printf("There is an error in the i2c driver .. /n");    printf("You need to fix it first....../n");    rccrtmp = cpm->cp_rccr;    cpm->cp_rccr |= 0x0020;    i2c_reg_read(0xa0, 0);    printf ("seep = '-%c-%c-%c-%c-%c-%c-'\n",     i2c_reg_read(0xa0, 0), i2c_reg_read(0xa0, 0), i2c_reg_read(0xa0, 0),     i2c_reg_read(0xa0, 0), i2c_reg_read(0xa0, 0), i2c_reg_read(0xa0, 0) );    cpm->cp_rccr = rccrtmp;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va欧美va国产va天堂影院| 久久久影院官网| 亚洲免费毛片网站| 91网站视频在线观看| 亚洲国产精品精华液ab| 不卡一卡二卡三乱码免费网站| 欧美国产禁国产网站cc| proumb性欧美在线观看| 国产精品国产三级国产aⅴ中文 | 91丨porny丨在线| 国产精品久久久久aaaa樱花 | 99久久99久久综合| 一区二区三区在线播放| 9191久久久久久久久久久| 日韩一区精品字幕| 久久综合九色综合久久久精品综合| 国产精品无遮挡| 色综合久久久久综合体| 日本网站在线观看一区二区三区 | 欧美日韩一区高清| 水野朝阳av一区二区三区| 精品国产一二三区| gogo大胆日本视频一区| 一区二区理论电影在线观看| 日韩欧美中文字幕制服| 国产寡妇亲子伦一区二区| 国产三级欧美三级| 色老头久久综合| 麻豆精品久久久| 亚洲丝袜美腿综合| 7777精品伊人久久久大香线蕉的| 老司机一区二区| 亚洲人一二三区| 亚洲精品一区二区三区精华液| 99久久久久免费精品国产| 首页国产丝袜综合| 99国产一区二区三精品乱码| 国产一区二区福利| 国产欧美日韩久久| 在线观看免费亚洲| 国产福利精品导航| 偷拍与自拍一区| 国产清纯在线一区二区www| 欧美午夜在线一二页| 国产xxx精品视频大全| 午夜视频在线观看一区二区| 久久精品亚洲麻豆av一区二区| 欧美视频在线一区二区三区| 成人性色生活片| 日本网站在线观看一区二区三区| 中文字幕欧美一| 精品va天堂亚洲国产| 欧美天堂一区二区三区| av在线免费不卡| 国产成人自拍网| 蜜桃一区二区三区在线| 亚洲国产综合在线| 亚洲天堂久久久久久久| 久久久九九九九| 日韩精品中文字幕一区二区三区| 欧美手机在线视频| 一本久久综合亚洲鲁鲁五月天| 精品一区二区在线观看| 亚洲成av人片在www色猫咪| 玉足女爽爽91| 亚洲免费观看在线视频| 国产精品高潮久久久久无| 久久久久88色偷偷免费| 欧美va亚洲va国产综合| 日韩一区二区精品在线观看| 欧美性极品少妇| 日本精品一区二区三区四区的功能| 成人av集中营| 成人ar影院免费观看视频| 国产91富婆露脸刺激对白| 国产乱人伦偷精品视频免下载| 久久99热狠狠色一区二区| 日本欧美一区二区三区乱码| 亚洲大片在线观看| 亚洲成人久久影院| 偷窥少妇高潮呻吟av久久免费| 亚洲综合一二区| 一区二区三区国产精品| 亚洲精品国产高清久久伦理二区| 亚洲天堂av老司机| 一区二区三区在线看| 一区二区三区欧美在线观看| 亚洲一区在线播放| 亚洲一区二区三区影院| 亚洲成人精品影院| 美女一区二区在线观看| 九一久久久久久| 国产成人a级片| 波多野结衣91| 一本色道久久加勒比精品| 欧美午夜视频网站| 在线综合+亚洲+欧美中文字幕| 91麻豆精品国产91| 欧美成人精品二区三区99精品| 久久人人超碰精品| 国产精品美女一区二区三区 | 精品美女一区二区| 亚洲精品一区二区三区香蕉| 国产日韩欧美麻豆| 亚洲欧洲国产日韩| 亚洲成人黄色小说| 九一久久久久久| av网站一区二区三区| 精品视频在线看| 日韩三级精品电影久久久| 国产欧美日韩精品一区| 亚洲美女一区二区三区| 免费视频最近日韩| 成人免费毛片片v| 欧美色视频一区| 精品av久久707| 日韩av在线播放中文字幕| 久久精品国产77777蜜臀| 丁香六月久久综合狠狠色| 一本在线高清不卡dvd| 日韩欧美色综合网站| ...av二区三区久久精品| 亚洲午夜羞羞片| 国产尤物一区二区在线| 91国偷自产一区二区开放时间 | 99久久99久久精品免费看蜜桃| 色婷婷亚洲精品| 欧美大片免费久久精品三p| 国产精品三级av在线播放| 日韩二区三区在线观看| www.亚洲在线| 日韩一区二区高清| 亚洲免费视频成人| 国产精品香蕉一区二区三区| 欧美亚州韩日在线看免费版国语版| 久久综合九色综合97婷婷| 亚洲伊人色欲综合网| 成人国产精品免费观看| 日韩三级视频在线观看| 亚洲制服丝袜av| 高清免费成人av| 欧美xxxx老人做受| 午夜精品aaa| 色天使色偷偷av一区二区| 精品入口麻豆88视频| 天天操天天综合网| 色天天综合久久久久综合片| 国产网站一区二区| 麻豆国产91在线播放| 欧美日本在线一区| 亚洲人一二三区| 不卡影院免费观看| 国产色一区二区| 久久91精品国产91久久小草| 欧美精品日韩精品| 亚洲精品国产品国语在线app| 成人在线视频首页| 久久久蜜臀国产一区二区| 日韩高清在线电影| 欧美日韩中文字幕一区| 亚洲精品ww久久久久久p站| www.成人网.com| 中文字幕精品一区二区精品绿巨人 | 91小视频在线免费看| 欧美韩国日本一区| 国内一区二区视频| 亚洲精品一区二区三区香蕉| 美女国产一区二区三区| 欧美高清视频不卡网| 亚洲一区国产视频| 欧美亚洲综合在线| 亚洲一区二区三区国产| 在线观看日韩电影| 一区二区三区丝袜| 欧美中文字幕一区| 天天做天天摸天天爽国产一区| 欧美性猛交xxxxxxxx| 亚洲成av人片| 91精品在线免费| 久久99精品久久久久久动态图 | 色天使色偷偷av一区二区| 亚洲丝袜自拍清纯另类| 成人黄色777网| 成人欧美一区二区三区| 99热这里都是精品| 一区二区三区四区在线免费观看| 91浏览器在线视频| 亚洲成av人影院在线观看网| 欧美日产国产精品| 久久99精品久久久久久国产越南| 精品欧美乱码久久久久久1区2区 | 久久久精品tv| 成人免费高清在线| 夜夜揉揉日日人人青青一国产精品| 一本到三区不卡视频| 日韩vs国产vs欧美| 久久先锋资源网| 色激情天天射综合网| 五月综合激情网| 欧美精品一区二区三区高清aⅴ|