📄 gta02-nor.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 + -