⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gta02-nor.patch

📁 Uboot常用的移植patches, 方便定制移植到s3c2440
💻 PATCH
字号:
Index: u-boot/board/neo1973/gta02/Makefile===================================================================--- u-boot.orig/board/neo1973/gta02/Makefile+++ u-boot/board/neo1973/gta02/Makefile@@ -25,7 +25,7 @@  LIB	= lib$(BOARD).a -OBJS	:= gta02.o pcf50633.o nand.o ../common/cmd_neo1973.o \+OBJS	:= gta02.o pcf50633.o nand.o nor.o ../common/cmd_neo1973.o \ 	   ../common/gsmver.o \ 	   ../common/jbt6k74.o ../common/udc.o ../common/bootmenu.o SOBJS	:= ../common/lowlevel_init.oIndex: u-boot/board/neo1973/gta02/nor.c===================================================================--- /dev/null+++ u-boot/board/neo1973/gta02/nor.c@@ -0,0 +1,30 @@+#include <common.h>+++flash_info_t flash_info[CFG_MAX_FLASH_BANKS];+++ulong flash_init (void)+{+	flash_info[0].sector_count = 1;+	flash_info[0].start[0] = 0x18000000;+	memset(flash_info[0].protect, 0, CFG_MAX_FLASH_SECT);+	return flash_info[0].size = 0x200000;+}+++void flash_print_info (flash_info_t * info)+{+}+++int flash_erase (flash_info_t * info, int s_first, int s_last)+{+	return ERR_PROG_ERROR;+}+++int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)+{+	return ERR_PROG_ERROR;+}Index: u-boot/include/configs/neo1973_gta02.h===================================================================--- u-boot.orig/include/configs/neo1973_gta02.h+++ u-boot/include/configs/neo1973_gta02.h@@ -100,6 +100,7 @@ 			/* CFG_CMD_HWFLOW	 | */ \ #define CONFIG_CMD_SAVES #define CONFIG_CMD_NAND+#define CONFIG_CMD_FLASH #define CONFIG_CMD_PORTIO #define CONFIG_CMD_MMC #define CONFIG_CMD_FAT@@ -188,7 +189,7 @@  #define CONFIG_EXTRA_ENV_SETTINGS 					\ 	"usbtty=cdc_acm\0"						\-	"bootargs_base=rootfstype=jffs2 root=/dev/mtdblock5 console=ttySAC2,115200 console=tty0 loglevel=8\0" \+	"bootargs_base=rootfstype=jffs2 root=/dev/mtdblock6 console=ttySAC2,115200 console=tty0 loglevel=8\0" \ 	""  /*-----------------------------------------------------------------------@@ -203,9 +204,6 @@  * FLASH and environment organization  */ -/* No NOR flash in this device */-#define CFG_NO_FLASH		1- #define	CFG_ENV_IS_IN_NAND	1 #define CFG_ENV_SIZE		0x40000	/* 128k Total Size of Environment Sector */ #define CFG_ENV_OFFSET_OOB	1	/* Location of ENV stored in block 0 OOB */@@ -277,11 +275,15 @@ #define CONFIG_DRIVER_PCF50633		1 #define	CONFIG_RTC_PCF50633		1 -#define MTDIDS_DEFAULT	"nand0=neo1973-nand"+#define MTDIDS_DEFAULT	"nor0=physmap-flash,nand0=neo1973-nand" //#define MTPARTS_DEFAULT	"neo1973-nand:256k(u-boot),128k(u-boot_env),8M(kernel),640k(splash),256k(factory),-(rootfs)"+#define CFG_MTDPARTS_PREFIX "physmap-flash:-(nor);" #define CFG_NAND_DYNPART_MTD_KERNEL_NAME "neo1973-nand" #define CONFIG_NAND_DYNPART +#define CFG_MAX_FLASH_BANKS 1+#define CFG_MAX_FLASH_SECT 1+ #define DFU_NUM_ALTERNATES	7  #endif	/* __CONFIG_H */Index: u-boot/drivers/mtd/nand/nand_bbt.c===================================================================--- u-boot.orig/drivers/mtd/nand/nand_bbt.c+++ u-boot/drivers/mtd/nand/nand_bbt.c@@ -1071,7 +1071,11 @@ 	if (!mtdparts) 		return -ENOMEM; -	sprintf(mtdparts, "mtdparts=" CFG_NAND_DYNPART_MTD_KERNEL_NAME ":");+	sprintf(mtdparts, "mtdparts="+#ifdef CFG_MTDPARTS_PREFIX+	    CFG_MTDPARTS_PREFIX+#endif+	    CFG_NAND_DYNPART_MTD_KERNEL_NAME ":");  	for (part = 0; dynpart_size[part] != 0; part++) { 		unsigned int bb_delta = 0;Index: u-boot/drivers/usb/usbdfu.c===================================================================--- u-boot.orig/drivers/usb/usbdfu.c+++ u-boot/drivers/usb/usbdfu.c@@ -112,25 +112,28 @@ { 	struct mtd_device *dev; 	struct part_info *part;+	struct list_head *dentry; 	struct list_head *pentry; 	int i;  	if (mtdparts_init()) 		return NULL;-	if (list_empty(&devices))-		return NULL; -	dev = list_entry(devices.next, struct mtd_device, link);-	i = 0;-	list_for_each(pentry, &dev->parts) {-		if (i == idx)  {-			part = list_entry(pentry, struct part_info, link);-			return part;+	list_for_each(dentry, &devices) {+		dev = list_entry(dentry, struct mtd_device, link);+		if (dev->id->type == MTD_DEV_TYPE_NAND) {+			i = 0;+			list_for_each(pentry, &dev->parts) {+				if (i == idx)  {+					part = list_entry(pentry,+					    struct part_info, link);+					return part;+				}+				i++;+			}+			return NULL; 		}-		i++; 	}--	return NULL; }  #define LOAD_ADDR ((unsigned char *)0x32000000)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -