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

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

?? u-boot-1.1.4-imx21-jk1.patch

?? 基于freescale imx21 uboot啟動的補丁程序
?? PATCH
?? 第 1 頁 / 共 5 頁
字號:
+	case FLASH_INTEL320T:+		fmt = "28F320B3%s (32 Mbit, %s)\n";+		break;+	case FLASH_28F640C3B:+	case FLASH_28F640C3T:+		fmt = "28F640C3%s (64 Mbit, %s)\n";+		break;+	case FLASH_INTEL640B:+	case FLASH_INTEL640T:+		fmt = "28F640B3%s (64 Mbit, %s)\n";+		break;+	default:+		fmt = "Unknown Chip Type\n";+		break;+	}++	printf(fmt, bootletter, boottype);++	printf("  Size: %ld MB in %d Sectors\n",+	       info->size >> 20, info->sector_count);++	printf("  Sector Start Addresses:");++	for (i = 0; i < info->sector_count; ++i) {+		if ((i % 5) == 0) {+			printf("\n   ");+		}++		printf(" %08lX%s", info->start[i],+		       info->protect[i] ? " (RO)" : "     ");+	}++	printf("\n");+}++/*-----------------------------------------------------------------------+ */++/*++#ifdef CFG_FLASH_PROTECTION+/*-----------------------------------------------------------------------+ */+++/*-----------------------------------------------------------------------+ */++int+flash_erase(flash_info_t * info, int s_first, int s_last)+{+	FPWV *addr;+	int flag, prot, sect;+	int intel = (info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL;+	ulong start, now, last;+	int rcode = 0;++	if ((s_first < 0) || (s_first > s_last)) {+		if (info->flash_id == FLASH_UNKNOWN) {+			printf("- missing\n");+		} else {+			printf("- no sectors to erase\n");+		}+		return 1;+	}++	switch (info->flash_id & FLASH_TYPEMASK) {+	case FLASH_INTEL800B:+	case FLASH_INTEL160B:+	case FLASH_INTEL320B:+	case FLASH_INTEL640B:+	case FLASH_28F800C3B:+	case FLASH_28F160C3B:+	case FLASH_28F320C3B:+	case FLASH_28F640C3B:+	case FLASH_AM640U:+		break;+	case FLASH_UNKNOWN:+	default:+		printf("Can't erase unknown flash type %08lx - aborted\n",+		       info->flash_id);+		return 1;+	}++	prot = 0;+	for (sect = s_first; sect <= s_last; ++sect) {+		if (info->protect[sect]) {+			prot++;+		}+	}++	if (prot) {+		printf("- Warning: %d protected sectors will not be erased!\n",+		       prot);+	} else {+		printf("\n");+	}++	start = get_timer(0);+	last = start;++	/* Start erase on unprotected sectors */+	for (sect = s_first; sect <= s_last && rcode == 0; sect++) {++		if (info->protect[sect] != 0)	/* protected, skip it */+			continue;++		/* Disable interrupts which might cause a timeout here */+		flag = disable_interrupts();++		addr = (FPWV *) (info->start[sect]);+		if (intel) {+			*addr = (FPW) 0x00500050;	/* clear status register */+			*addr = (FPW) 0x00200020;	/* erase setup */+			*addr = (FPW) 0x00D000D0;	/* erase confirm */+		} else {+			/* must be AMD style if not Intel */+			FPWV *base;	/* first address in bank */++			base = (FPWV *) (info->start[0]);+			base[0x0555] = (FPW) 0x00AA00AA;	/* unlock */+			base[0x02AA] = (FPW) 0x00550055;	/* unlock */+			base[0x0555] = (FPW) 0x00800080;	/* erase mode */+			base[0x0555] = (FPW) 0x00AA00AA;	/* unlock */+			base[0x02AA] = (FPW) 0x00550055;	/* unlock */+			*addr = (FPW) 0x00300030;	/* erase sector */+		}++		/* re-enable interrupts if necessary */+		if (flag)+			enable_interrupts();++		/* wait at least 50us for AMD, 80us for Intel.+		 * Let's wait 1 ms.+		 */+		udelay(1000);++		while ((*addr & (FPW) 0x00800080) != (FPW) 0x00800080) {+			if ((now = get_timer(0)) - start > CFG_FLASH_ERASE_TOUT) {+				printf("Timeout\n");++				if (intel) {+					/* suspend erase        */+					*addr = (FPW) 0x00B000B0;+				}++				flash_reset(info);	/* reset to read mode */+				rcode = 1;	/* failed */+				break;+			}++			/* show that we're waiting */+			if ((now - last) > 1000) {	/* every second */+				putc('.');+				last = now;+			}+		}++		flash_reset(info);	/* reset to read mode   */+	}++	printf(" done\n");+	return rcode;+}++/*-----------------------------------------------------------------------+ * Copy memory to flash, returns:+ * 0 - OK+ * 1 - write timeout+ * 2 - Flash not erased+ */+int+bad_write_buff(flash_info_t * info, uchar * src, ulong addr, ulong cnt)+{+	FPW data = 0;		/* 16 or 32 bit word, matches flash bus width on MPC8XX */+	int bytes;		/* number of bytes to program in current word         */+	int left;		/* number of bytes left to program                    */+	int i, res;++	for (left = cnt, res = 0;+	     left > 0 && res == 0;+	     addr += sizeof (data), left -= sizeof (data) - bytes) {++		bytes = addr & (sizeof (data) - 1);+		addr &= ~(sizeof (data) - 1);++		/* combine source and destination data so can program+		 * an entire word of 16 or 32 bits+		 */+		for (i = 0; i < sizeof (data); i++) {+			data <<= 8;+			if (i < bytes || i - bytes >= left)+				data += *((uchar *) addr + i);+			else+				data += *src++;+		}++		/* write one word to the flash */+		switch (info->flash_id & FLASH_VENDMASK) {+		case FLASH_MAN_AMD:+			res = write_word_amd(info, (FPWV *) addr, data);+			break;+		case FLASH_MAN_INTEL:+			res = write_word_intel(info, (FPWV *) addr, data);+			break;+		default:+			/* unknown flash type, error! */+			printf("missing or unknown FLASH type\n");+			res = 1;	/* not really a timeout, but gives error */+			break;+		}+	}++	return (res);+}++/**+ * write_buf: - Copy memory to flash.+ *+ * @param info:+ * @param src:	source of copy transaction+ * @param addr:	where to copy to+ * @param cnt: 	number of bytes to copy+ *+ * @return	error code+ */++int+write_buff(flash_info_t * info, uchar * src, ulong addr, ulong cnt)+{+	ulong cp, wp;+	FPW data;+	int l;+	int i, rc;++	wp = (addr & ~1);	/* get lower word aligned address */++	/* handle unaligned start bytes */+	if ((l = addr - wp) != 0) {+		data = 0;+		for (i = 0, cp = wp; i < l; ++i, ++cp) {+			data = (data >> 8) | (*(uchar *) cp << 8);+		}+		for (; i < 2 && cnt > 0; ++i) {+			data = (data >> 8) | (*src++ << 8);+			--cnt;+			++cp;+		}+		for (; cnt == 0 && i < 2; ++i, ++cp) {+			data = (data >> 8) | (*(uchar *) cp << 8);+		}++		if ((rc = write_word(info, (FPWV *)wp, data)) != 0) {+			return (rc);+		}+		wp += 2;+	}++	/* handle word aligned part */+	while (cnt >= 2) {+		/* data = *((vushort*)src); */+		data = *((FPW *) src);+		if ((rc = write_word(info, (FPWV *)wp, data)) != 0) {+			return (rc);+		}+		src += sizeof (FPW);+		wp += sizeof (FPW);+		cnt -= sizeof (FPW);+	}++	if (cnt == 0)+		return ERR_OK;++	/*+	 * handle unaligned tail bytes+	 */+	data = 0;+	for (i = 0, cp = wp; i < 2 && cnt > 0; ++i, ++cp) {+		data = (data >> 8) | (*src++ << 8);+		--cnt;+	}+	for (; i < 2; ++i, ++cp) {+		data = (data >> 8) | (*(uchar *) cp << 8);+	}++	return write_word(info, (FPWV *)wp, data);+}++/*-----------------------------------------------------------------------+ * Write a word to Flash for AMD FLASH+ * A word is 16 or 32 bits, whichever the bus width of the flash bank+ * (not an individual chip) is.+ *+ * returns:+ * 0 - OK+ * 1 - write timeout+ * 2 - Flash not erased+ */+static int+write_word_amd(flash_info_t * info, FPWV * dest, FPW data)+{+	ulong start;+	int flag;+	int res = 0;		/* result, assume success       */+	FPWV *base;		/* first address in flash bank  */++	/* Check if Flash is (sufficiently) erased */+	if ((*dest & data) != data) {+		return (2);+	}++	base = (FPWV *) (info->start[0]);+	/* Disable interrupts which might cause a timeout here */+	flag = disable_interrupts();++	base[0x0555] = (FPW) 0x00AA00AA;	/* unlock */+	base[0x02AA] = (FPW) 0x00550055;	/* unlock */+	base[0x0555] = (FPW) 0x00A000A0;	/* selects program mode */++	*dest = data;		/* start programming the data   */++	/* re-enable interrupts if necessary */+	if (flag)+		enable_interrupts();++	start = get_timer(0);++	/* data polling for D7 */+	while (res == 0+	       && (*dest & (FPW) 0x00800080) != (data & (FPW) 0x00800080)) {+		if (get_timer(0) - start > CFG_FLASH_WRITE_TOUT) {+			*dest = (FPW) 0x00F000F0;	/* reset bank */+			printf("SHA timeout\n");+			res = 1;+		}+	}++	return (res);+}++/*-----------------------------------------------------------------------+ * Write a word to Flash for Intel FLASH+ * A word is 16 or 32 bits, whichever the bus width of the flash bank+ * (not an individual chip) is.+ *+ * returns:+ * 0 - OK+ * 1 - write timeout+ * 2 - Flash not erased+ */+static int+write_word_intel(flash_info_t * info, FPWV * dest, FPW data)+{+	ulong start;+	int flag;+	int res = 0;		/* result, assume success       */++	/* Check if Flash is (sufficiently) erased */+	if ((*dest & data) != data) {+		return (2);+	}++	/* Disable interrupts which might cause a timeout here */+	flag = disable_interrupts();++	*dest = (FPW) 0x00500050;	/* clear status register        */+	*dest = (FPW) 0x00FF00FF;	/* make sure in read mode       */+	*dest = (FPW) 0x00400040;	/* program setup                */++	*dest = data;		/* start programming the data   */++	/* re-enable interrupts if necessary */+	if (flag)+		enable_interrupts();++	start = get_timer(0);++	while (res == 0 && (*dest & (FPW) 0x00800080) != (FPW) 0x00800080) {+		if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {+			*dest = (FPW) 0x00B000B0;	/* Suspend program      */+			res = 1;+		}+	}++	if (res == 0 && (*dest & (FPW) 0x00100010))+		res = 1;	/* write failed, time out error is close enough */++	*dest = (FPW) 0x00500050;	/* clear status register        */+	*dest = (FPW) 0x00FF00FF;	/* make sure in read mode       */++	return (res);+}++#ifdef CFG_FLASH_PROTECTION+/*-----------------------------------------------------------------------+ */+int+flash_real_protect(flash_info_t * info, long sector, int prot)+{+	int rcode = 0;		/* assume success */+	FPWV *addr;		/* address of sector */+	FPW value;++	addr = (FPWV *) (info->start[sector]);++	switch (info->flash_id & FLASH_TYPEMASK) {+	case FLASH_28F800C3B:+	case FLASH_28F800C3T:+	case FLASH_28F160C3B:+	case FLASH_28F160C3T:+	case FLASH_28F320C3B:+	case FLASH_28F320C3T:+	case FLASH_28F640C3B:+	case FLASH_28F640C3T:+		flash_reset(info);	/* make sure in read mode */+		*addr = (FPW) 0x00600060L;	/* lock command setup */+		if (prot)+			*addr = (FPW) 0x00010001L;	/* lock sector */+		else+			*addr = (FPW) 0x00D000D0L;	/* unlock sector */+		flash_reset(info);	/* reset to read mode */++		/* now see if it really is locked/unlocked as requested */+		*addr = (FPW) 0x00900090;+		/* read sector protection at sector address, (A7 .. A0) = 0x02.+		 * D0 = 1 for each device if protected.+		 * If at least one device is protected the sector is marked+		 * protected, but return failure. Mixed protected and+		 * unprotected devices within a sector should never happen.+		 */+		value = addr[2] & (FPW) 0x00010001;+		if (value == 0)+			info->protect[sector] = 0;+		else if (value == (FPW) 0x00010001)+			info->protect[sector] = 1;+		else {+			/* error, mixed protected and unprotected */+			rcode = 1;+			info->protect[sector] = 1;+		}+		if (info->protect[sector] != prot)+			rcode = 1;	/* failed to protect/unprotect as requested */++		/* reload all protection bits from hardware for now */+		flash_sync_real_protect(info);+		break;++	case FLASH_AM640U:+	default:+		/* no hardware protect that we support */+		info->protect[sector] = prot;+		break;+	}++	return rcode;+}+#endifdiff -X linux/Documentation/dontdiff -Nur u-boot-1.1.4/board/mx21ads/lowlevel_init.S u-boot-1.1.4.imx21/board/mx21ads/lowlevel_init.S--- u-boot-1.1.4/board/mx21ads/lowlevel_init.S	1970-01-01 01:00:00.000000000 +0100+++ u-boot-1.1.4.imx21/board/mx21ads/lowlevel_init.S	2006-05-17 19:46:43.000000000 +0200@@ -0,0 +1,330 @@+/*+ * board/mx21ads/lowlevel_init.S+ *+ *  Copyright (C) 2003, Metrowerks+ *  Copyright (C) 2006 Jochen Karrer+ *+ * 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+ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线免费观看| 国产色产综合产在线视频| 91免费观看在线| 国产成人精品亚洲午夜麻豆| 国内一区二区在线| 激情综合亚洲精品| 精品一区二区久久| 国产米奇在线777精品观看| 韩国三级在线一区| 成人性生交大片免费看视频在线 | 蜜臂av日日欢夜夜爽一区| 亚洲成人你懂的| 丝袜国产日韩另类美女| 日韩avvvv在线播放| 另类小说欧美激情| 国产成人av在线影院| 不卡高清视频专区| 91美女福利视频| 欧美三级三级三级| 日韩欧美中文一区| 久久久精品免费网站| 日韩一区日韩二区| 亚洲大片一区二区三区| 精品一区二区久久| www.亚洲国产| 9191成人精品久久| 久久亚洲精品国产精品紫薇| 欧美激情中文不卡| 亚洲高清中文字幕| 精品亚洲成a人在线观看| 成人免费视频网站在线观看| 欧美性欧美巨大黑白大战| 51精品秘密在线观看| 久久精品免视看| 亚洲一区二区三区四区的| 麻豆久久久久久| 97国产一区二区| 日韩精品中午字幕| 亚洲免费在线电影| 看电影不卡的网站| 色噜噜狠狠色综合欧洲selulu| 日韩午夜av一区| 国产精品久久久久婷婷| 日本不卡视频在线观看| 91在线无精精品入口| 日韩欧美123| 亚洲精品亚洲人成人网在线播放| 日本视频一区二区| 国产在线播放一区二区三区| 色综合欧美在线视频区| 国产亚洲一区二区三区在线观看| 亚洲午夜激情网页| 99久久久久久99| 久久综合九色综合欧美就去吻| 亚洲欧美另类久久久精品2019| 韩国精品一区二区| 在线综合视频播放| 亚洲一区二区在线免费观看视频| 成人小视频在线| 亚洲精品在线免费播放| 日日夜夜精品视频免费| 色网站国产精品| 国产日产欧美一区二区三区| 麻豆国产精品一区二区三区| 欧美日韩视频在线一区二区| 亚洲乱码日产精品bd| 成人精品视频一区二区三区| 精品国产一区久久| 男人操女人的视频在线观看欧美| 欧美色综合天天久久综合精品| 1024成人网色www| 成人ar影院免费观看视频| 国产免费成人在线视频| 国产精品综合av一区二区国产馆| 日韩一级大片在线观看| 日韩高清不卡一区| 日韩一区二区视频| 日韩电影在线一区二区| 欧美一区二区视频免费观看| 性做久久久久久免费观看欧美| 欧洲在线/亚洲| 亚洲午夜激情网站| 欧美高清视频不卡网| 日韩av电影一区| 日韩色在线观看| 国产一区二区三区在线观看免费视频| 精品美女被调教视频大全网站| 狠狠网亚洲精品| 国产肉丝袜一区二区| 99视频有精品| 一区二区三区在线视频观看 | 一区二区三区四区不卡视频| 色综合久久88色综合天天| 亚洲与欧洲av电影| 69p69国产精品| 精一区二区三区| 国产精品久久久久久一区二区三区| 成人97人人超碰人人99| 一区二区三区日本| 欧美一区二区三区视频免费播放| 久久国产精品区| 日韩成人av影视| 欧美国产日产图区| 在线免费亚洲电影| 麻豆中文一区二区| 中文字幕一区二区三| 欧美日韩中文精品| 国产一区二区三区蝌蚪| 亚洲啪啪综合av一区二区三区| 欧美三级视频在线| 国产精品一区在线| 亚洲va国产天堂va久久en| 欧美成人一区二区| 色综合婷婷久久| 久久国产精品99久久人人澡| 国产精品丝袜久久久久久app| 欧美日韩一区二区三区在线 | 91香蕉视频污在线| 美女视频黄频大全不卡视频在线播放| 国产精品色婷婷久久58| 91精品国产综合久久香蕉的特点| 国产 欧美在线| 蜜桃精品视频在线观看| 一区二区三区中文免费| 日韩欧美在线影院| 色综合久久中文字幕| 麻豆精品久久精品色综合| 亚洲综合色自拍一区| 国产日韩v精品一区二区| 欧美精品在线视频| 色婷婷久久一区二区三区麻豆| 久久aⅴ国产欧美74aaa| 午夜欧美视频在线观看| 亚洲人吸女人奶水| 亚洲国产精品av| 欧美日本免费一区二区三区| 成人在线综合网| 狠狠色狠狠色合久久伊人| 视频一区二区不卡| 亚洲午夜久久久久久久久电影网| 欧美激情一区二区三区| 国产亚洲欧美一区在线观看| 日韩精品一区二区三区中文精品| 欧美色视频一区| 在线精品视频一区二区| 色天天综合色天天久久| 97久久人人超碰| 97精品电影院| 久久婷婷国产综合国色天香| 欧美日本一区二区| 9191精品国产综合久久久久久| 在线观看国产精品网站| 欧洲一区二区av| 欧美午夜精品久久久久久孕妇| 91在线云播放| 在线观看亚洲a| 欧美三电影在线| 欧美影院一区二区| 欧美影院午夜播放| 欧美日韩视频在线第一区| 欧美福利视频一区| 欧美一级欧美一级在线播放| 日韩亚洲欧美一区二区三区| 欧美大片一区二区三区| 日韩精品资源二区在线| 欧美变态tickling挠脚心| 精品国产自在久精品国产| 国产无人区一区二区三区| 国产精品污www在线观看| 国产精品大尺度| 亚洲成人免费影院| 免费成人深夜小野草| 国内精品写真在线观看| 成人美女视频在线观看| 99精品欧美一区二区三区综合在线| 成人午夜激情影院| 91亚洲永久精品| 制服丝袜亚洲播放| 久久这里都是精品| 久久综合九色综合欧美就去吻 | 欧美精品一区二区三区高清aⅴ | 欧美α欧美αv大片| 久久久久久电影| 一区二区三区国产精华| 久久精品久久99精品久久| 波多野结衣一区二区三区| 欧美视频在线一区| 久久久久久毛片| 亚洲影视资源网| 国产尤物一区二区在线| 99久久婷婷国产| 欧美成人一区二区三区在线观看| 国产精品成人午夜| 美女在线一区二区| 99re免费视频精品全部| 亚洲精品一区二区三区影院| 一区二区三区在线观看动漫| 狠狠色综合日日| 欧美一区在线视频| 亚洲欧美一区二区三区孕妇|