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

📄 config-gta02v5-beyond.patch

📁 Uboot常用的移植patches, 方便定制移植到s3c2440
💻 PATCH
字号:
This set of changes makes u-boot detect hardware revisions >= GTA02v5 at runtime instead of build time. The revision tag and the boot prompt are adjustedaccordingly.Note that new code should use gta02_revision for feature tests, not CONFIG_GTA02_REVISION !For backward-compatibility, "make gta02v6_config" is still supported (andyields exactly the same result as "make gta02v5_config".Index: u-boot/Makefile===================================================================--- u-boot.orig/Makefile+++ u-boot/Makefile@@ -2437,7 +2437,8 @@ gta02v2_config \ gta02v3_config \ gta02v4_config \-gta02v5_config:	unconfig+gta02v5_config \+gta02v6_config:	unconfig 	@sh board/neo1973/gta02/split_by_variant.sh $@  gta01_config \Index: u-boot/board/neo1973/gta02/gta02.c===================================================================--- u-boot.orig/board/neo1973/gta02/gta02.c+++ u-boot/board/neo1973/gta02/gta02.c@@ -67,6 +67,13 @@ extern unsigned char booted_from_nand; extern unsigned char booted_from_nor; extern int nobootdelay;+char __cfg_prompt[20] = "GTA02vXX # ";++/*+ * In >GTA02v5, use gta02_revision to test for features, not+ * CONFIG_GTA02_REVISION or CONFIG_ARCH_GTA02_vX !+ */+int gta02_revision;  int gta02_get_pcb_revision(void); @@ -253,6 +260,37 @@ 	return 0; } +static void set_revision(void)+{+	int rev = gta02_get_pcb_revision();+	char buf[32];++	if (CONFIG_GTA02_REVISION < 5)+		gta02_revision = CONFIG_GTA02_REVISION;+	else {+		switch (rev) {+		case 0x000:+			gta02_revision = 5;+			break;+		case 0x001:+			gta02_revision = 6;+			break;+		default:+			printf("Unrecognized hardware revision 0x%03x. "+			    "Defaulting to GTA02v6.\n", rev);+			gta02_revision = 6;+		}+	}+	sprintf(__cfg_prompt, "GTA02v%d # ", gta02_revision);++#if 1 /* remove these after checking that Andy doesn't need them anymore */+	printf("PCB rev: 0x%03X\n", rev);+	/* expose in the env so we can add to kernel commandline */+	sprintf(buf, "0x%03X", rev);+	setenv("pcb_rev", buf);+#endif+}+ int board_late_init(void) { 	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();@@ -260,12 +298,8 @@ 	char buf[32]; 	int menu_vote = 0; /* <= 0: no, > 0: yes */ 	int seconds = 0;-	int rev = gta02_get_pcb_revision(); -	printf("PCB rev: 0x%03X\n", rev);-	/* expose in the env so we can add to kernel commandline */-	sprintf(buf, "0x%03X", rev);-	setenv("pcb_rev", buf);+	set_revision();  	/* Initialize the Power Management Unit with a safe register set */ 	pcf50633_init();@@ -378,7 +412,7 @@  u_int32_t get_board_rev(void) {-	return 0x300+0x10*CONFIG_GTA02_REVISION;+	return 0x300+0x10*gta02_revision; }  void neo1973_poweroff(void)@@ -546,7 +580,7 @@ /**  * returns PCB revision information in b9,b8 and b2,b1,b0  * Pre-GTA02 A6 returns 0x000- *     GTA02 A6 returns 0x101+ *     GTA02 A6 returns 0x001  */  int gta02_get_pcb_revision(void)Index: u-boot/board/neo1973/gta02/split_by_variant.sh===================================================================--- u-boot.orig/board/neo1973/gta02/split_by_variant.sh+++ u-boot/board/neo1973/gta02/split_by_variant.sh@@ -42,19 +42,12 @@ 	echo "CONFIG_USB_DFU_REVISION=0x0340" > $CFGTMP 	;; -	gta02v5_config)+	gta02v5_config|gta02v6_config) 	echo "#define CONFIG_ARCH_GTA02_v5" > $CFGINC 	echo "#define CONFIG_GTA02_REVISION 5" >> $CFGINC 	echo "CONFIG_USB_DFU_REVISION=0x0350" > $CFGTMP 	;; -	gta02v6_config)-	echo "#define CONFIG_ARCH_GTA02_v6" > $CFGINC-	echo "#define CONFIG_GTA02_REVISION 6" >> $CFGINC-	echo "CONFIG_USB_DFU_REVISION=0x0360" > $CFGTMP-	;;-- 	*) 	echo "$0:: Unrecognised config - using GTA02v5 config" 	echo "#define CONFIG_ARCH_GTA02_v5" > $CFGINC@@ -65,6 +58,7 @@ 	esac  fi+sed 's/^/#define /;s/=/ /' <$CFGTMP >>$CFGINC # --------------------------------------------------------- # Complete the configuration # ---------------------------------------------------------Index: u-boot/include/configs/neo1973_gta02.h===================================================================--- u-boot.orig/include/configs/neo1973_gta02.h+++ u-boot/include/configs/neo1973_gta02.h@@ -127,8 +127,12 @@  #define STRINGIFY(s) DO_STRINGIFY(s)	/* expand the argument */ #define DO_STRINGIFY(s) #s		/* quote it */-#define	CFG_PROMPT		"GTA02v" STRINGIFY(CONFIG_GTA02_REVISION) " # "+#define	CFG_PROMPT			__cfg_prompt 						/* Monitor Command Prompt */+#ifndef __ASSEMBLY__+extern char __cfg_prompt[20];+#endif+ #if defined(CONFIG_ARCH_GTA02_v1) #define	CONFIG_S3C2440		1		/* SAMSUNG S3C2440 SoC		*/ #else@@ -293,4 +297,8 @@  #define DFU_NUM_ALTERNATES	7 +#ifndef __ASSEMBLY__+extern int gta02_revision; /* use this instead of CONFIG_GTA02_REVISION */+#endif+ #endif	/* __CONFIG_H */Index: u-boot/drivers/usb/usbdfu.c===================================================================--- u-boot.orig/drivers/usb/usbdfu.c+++ u-boot/drivers/usb/usbdfu.c@@ -101,7 +101,7 @@ 	     trailer->product != CONFIG_USBD_PRODUCTID_GSERIAL)) 		return 0; #ifdef CONFIG_REVISION_TAG-	if (trailer->revision != get_board_rev())+	if (trailer->revision != CONFIG_USB_DFU_REVISION) 		return 0; #endif Index: u-boot/board/neo1973/gta01/split_by_variant.sh===================================================================--- u-boot.orig/board/neo1973/gta01/split_by_variant.sh+++ u-boot/board/neo1973/gta01/split_by_variant.sh@@ -58,6 +58,7 @@ 	esac  fi+sed 's/^/#define /;s/=/ /' <$CFGTMP >>$CFGINC # --------------------------------------------------------- # Complete the configuration # ---------------------------------------------------------

⌨️ 快捷键说明

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