[U-Boot] [PATCH 01/10] km/common: rework and simplify default environment

Holger Brunck holger.brunck at keymile.com
Mon Jun 6 10:22:12 CEST 2011


This is the second step to simplify and decrease the default
environment for the keymile boards. The release usecase formaly
used to set the production environment was removed and the default
configuration is now the production environment. So the formar
environment variable "release" which has done a lot of things
in the past, simply erase the current environment and do a reset
which forces u-boot to setup the default environment again.

Signed-off-by: Holger Brunck <holger.brunck at keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp at keymile.com>
cc: Heiko Schocher <hs at denx.de>
cc: Wolfgang Denk <wd at denx.de>
---
 include/configs/km/keymile-common.h |  105 ++++++++---------------------------
 include/configs/km/km-powerpc.h     |   10 ++--
 include/configs/km/km_arm.h         |   12 ++--
 3 files changed, 34 insertions(+), 93 deletions(-)

diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h
index 70c9dad..8839ccb 100644
--- a/include/configs/km/keymile-common.h
+++ b/include/configs/km/keymile-common.h
@@ -131,8 +131,7 @@
 /* common powerpc specific env settings */
 #ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS
 #define CONFIG_KM_DEF_ENV_BOOTPARAMS \
-	"bootparams=empty\0"	\
-	"initial_boot_bank=0\0"
+	"actual_bank=0\0"
 #endif
 
 #ifndef CONFIG_KM_DEF_NETDEV
@@ -151,57 +150,15 @@
 #define str(s)	#s
 
 /*
- * bootrunner
- * - run all commands in 'subbootcmds'
- * - on error, stop running the remaing commands
- */
-#define CONFIG_KM_DEF_ENV_BOOTRUNNER					\
-	"bootrunner="							\
-		"break=0; "						\
-		"for subbootcmd in ${subbootcmds}; do "			\
-		"if test ${break} -eq 0; then; "			\
-		"print ${subbootcmd}; "					\
-		"run ${subbootcmd} || break=1; "			\
-		"fi; "							\
-		"done\0"						\
-	""
-
-/*
  * boottargets
- * - set 'subbootcmds' for the bootrunner
+ * - set 'subbootcmds'
  * - set 'bootcmd' and 'altbootcmd'
  * available targets:
  * - 'release': for a standalone system		kernel/rootfs from flash
- *
- * - 'commonargs': bootargs common to all targets
  */
 #define CONFIG_KM_DEF_ENV_BOOTTARGETS					\
-	"commonargs="							\
-		"addip "						\
-		"addtty "						\
-		"addmem "						\
-		"addinit "						\
-		"addvar "						\
-		"addmtdparts "						\
-		"addbootcount "						\
-		"\0"							\
-	"release="							\
-		"setenv actual_bank ${initial_boot_bank} && "		\
-		"setenv subbootcmds \""					\
-		"checkboardid "						\
-		"ubiattach ubicopy "					\
-		"cramfsloadfdt cramfsloadkernel "			\
-		"flashargs ${commonargs} "				\
-		"addpanic boot "					\
-		"\" && "						\
-		"setenv bootcmd \'"					\
-		"run actual bootrunner; reset"				\
-		"\' && "						\
-		"setenv altbootcmd \'"					\
-		"run backup bootrunner; reset"				\
-		"\' && "						\
-		"saveenv && saveenv && "				\
-		"reset\0"						\
+	"subbootcmds=ubiattach ubicopy cramfsloadfdt cramfsloadkernel "	\
+		"flashargs add_default addpanic boot\0"			\
 	"debug_env="							\
 		"tftp 200000 " CONFIG_KM_ARCH_DBG_FILE " && "		\
 		"env import -t 200000 ${filesize} && "			\
@@ -212,37 +169,26 @@
  * bootargs
  * - modify 'bootargs'
  *
- * - 'addip': add ip configuration
- * - 'addmem': limit kernel memory mem=
+ * - 'add_default': default bootargs common for all arm/ppc boards
  * - 'addpanic': add kernel panic options
- * - 'addtty': add console=...
- * - 'addvar': add phram device for /var
  * - 'flashargs': defaults arguments for flash base boot
  *
- * processor specific settings
- * - 'addbootcount': add boot counter
- * - 'addmtdparts': add mtd partition information
  */
 #define CONFIG_KM_DEF_ENV_BOOTARGS					\
-	"addinit="							\
-		"setenv bootargs ${bootargs} init=${init}\0"		\
-	"addip="							\
+	"add_default="							\
 		"setenv bootargs ${bootargs} "				\
 		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\
-		":${hostname}:${netdev}:off\0"				\
-	"addmem="							\
-		"setenv bootargs ${bootargs} mem=${pnvramaddr}\0"	\
+		":${hostname}:${netdev}:off3"				\
+		" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}"	\
+		" mem=${pnvramaddr} init=${init}"			\
+		" phram.phram=phvar,${varaddr}," xstr(CONFIG_KM_PHRAM)	\
+		" ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " "		\
+		CONFIG_KM_DEF_BOOT_ARGS_CPU				\
+		"\0"							\
 	"addpanic="							\
 		"setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0"	\
-	"addtty="							\
-		"setenv bootargs ${bootargs}"				\
-		" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}\0"	\
-	"addvar="							\
-		"setenv bootargs ${bootargs} phram.phram=phvar,"	\
-		"${varaddr}," xstr(CONFIG_KM_PHRAM) "\0"		\
 	"flashargs="							\
 		"setenv bootargs "					\
-		"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " "		\
 		"root=mtdblock:rootfs${boot_bank} "			\
 		"rootfstype=squashfs ro\0"				\
 	""
@@ -261,9 +207,7 @@
  */
 #define CONFIG_KM_DEF_ENV_FLASH_BOOT					\
 	"cramfsaddr=" xstr(CONFIG_KM_CRAMFS_ADDR) "\0"			\
-	"cramfsloadkernel="						\
-		"cramfsload ${kernel_addr_r} uImage && "		\
-		"setenv actual_kernel_addr ${kernel_addr_r}\0"		\
+	"cramfsloadkernel=cramfsload ${load_addr_r} uImage\0"		\
 	"ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME "\0"		\
 	"ubicopy=ubi read "xstr(CONFIG_KM_CRAMFS_ADDR)			\
 			" bootfs${boot_bank}\0"				\
@@ -276,14 +220,8 @@
  * - 'default': setup default environment
  */
 #define CONFIG_KM_DEF_ENV_CONSTANTS					\
-	"actual=setenv boot_bank ${actual_bank}\0"			\
-	"backup=setenv boot_bank ${backup_bank}\0"			\
-	"actual_bank=${initial_boot_bank}\0"				\
 	"backup_bank=0\0"						\
-	"default="							\
-		"setenv default 'run newenv; reset' &&  "		\
-		"run release && saveenv; reset\0"			\
-	"checkboardid=km_checkbidhwk\0"					\
+	"release=run newenv; reset\0"					\
 	"pnvramsize=" xstr(CONFIG_KM_PNVRAM) "\0"			\
 	""
 
@@ -292,24 +230,27 @@
 	CONFIG_KM_DEF_ENV_BOOTPARAMS					\
 	CONFIG_KM_DEF_NETDEV						\
 	CONFIG_KM_DEF_ENV_CPU						\
-	CONFIG_KM_DEF_ENV_BOOTRUNNER					\
 	CONFIG_KM_DEF_ENV_BOOTTARGETS					\
 	CONFIG_KM_DEF_ENV_BOOTARGS					\
 	CONFIG_KM_DEF_ENV_FLASH_BOOT					\
 	CONFIG_KM_DEF_ENV_CONSTANTS					\
 	"altbootcmd=run bootcmd\0"					\
-	"bootcmd=run default\0"						\
+	"bootcmd=km_checkbidhwk &&  "					\
+	"	setenv bootcmd \'setenv boot_bank ${actual_bank}; "	\
+			"run ${subbootcmds}; reset\' && "		\
+		"setenv altbootcmd \'setenv boot_bank ${backup_bank}; "	\
+			"run ${subbootcmds}; reset\' && "		\
+		"saveenv && saveenv && boot\0"				\
 	"bootlimit=2\0"							\
 	"init=/sbin/init-overlay.sh\0"					\
-	"kernel_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"		\
-	"load=tftpboot ${u-boot_addr_r} ${u-boot}\0"			\
+	"load_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"			\
+	"load=tftpboot ${load_addr_r} ${u-boot}\0"			\
 	"mtdids=" MTDIDS_DEFAULT "\0"					\
 	"mtdparts=" MTDPARTS_DEFAULT "\0"				\
 	"stderr=serial\0"						\
 	"stdin=serial\0"						\
 	"stdout=serial\0"						\
 	"u-boot="xstr(CONFIG_HOSTNAME) "/u-boot.bin\0"			\
-	"u-boot_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"		\
 	""
 #endif /* CONFIG_KM_DEF_ENV */
 
diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
index d6db8d7..de94d5f 100644
--- a/include/configs/km/km-powerpc.h
+++ b/include/configs/km/km-powerpc.h
@@ -66,14 +66,14 @@
 #define CONFIG_KM_KERNEL_ADDR	0x400000	/* 3968Kbytes */
 #define CONFIG_KM_FDT_ADDR	0x7E0000	/* 128Kbytes */
 
+/* architecture specific default bootargs */
+#define CONFIG_KM_DEF_BOOT_ARGS_CPU		""
+
 #define CONFIG_KM_DEF_ENV_CPU						\
-	"addbootcount=true\0"						\
-	"addmtdparts=true\0"						\
-	"boot=bootm ${actual_kernel_addr} - ${actual_fdt_addr}\0"	\
+	"boot=bootm ${load_addr_r} - ${fdt_addr_r}\0"			\
 	"cramfsloadfdt="						\
 		"cramfsload ${fdt_addr_r} "				\
-		"fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb && "		\
-		"setenv actual_fdt_addr ${fdt_addr_r}\0"		\
+		"fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb\0"		\
 	"fdt_addr_r=" xstr(CONFIG_KM_FDT_ADDR) "\0"			\
 	"update="							\
 		"protect off " xstr(BOOTFLASH_START) " +${filesize} && "\
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 20ee6ea..13bbcd1 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -63,12 +63,12 @@
 #define CONFIG_KM_CRAMFS_ADDR	0x2400000
 #define CONFIG_KM_KERNEL_ADDR	0x2000000	/* 4096KBytes */
 
+/* architecture specific default bootargs */
+#define CONFIG_KM_DEF_BOOT_ARGS_CPU					\
+		"bootcountaddr=${bootcountaddr} ${mtdparts}"
+
 #define CONFIG_KM_DEF_ENV_CPU						\
-	"addbootcount="							\
-		"setenv bootargs ${bootargs} "				\
-		"bootcountaddr=${bootcountaddr}\0"			\
-	"addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0"		\
-	"boot=bootm ${actual_kernel_addr} - -\0"			\
+	"boot=bootm ${load_addr_r} - -\0"				\
 	"cramfsloadfdt=true\0"						\
 	CONFIG_KM_DEF_ENV_UPDATE					\
 	""
@@ -245,7 +245,7 @@ int get_scl(void);
 #define	CONFIG_KM_DEF_ENV_UPDATE					\
 	"update="							\
 		"spi on;sf probe 0;sf erase 0 50000;"			\
-		"sf write ${u-boot_addr_r} 0 ${filesize};"		\
+		"sf write ${load_addr_r} 0 ${filesize};"		\
 		"spi off\0"
 
 /*
-- 
1.7.1



More information about the U-Boot mailing list