[U-Boot] [PATCH] ARNDALE: Enhance arndale config to be more flexible on boot.

Guillaume GARDET guillaume.gardet at free.fr
Fri Sep 19 15:31:47 CEST 2014


This patch enhances the boot of arndale board by adding support to bootz, initrd, bootenv loading and boot script.
It still keeps the previous mmc load command if boot script fails.

Signed-off-by: Guillaume GARDET <guillaume.gardet at free.fr>
Cc: Minkyu Kang <mk7.kang at samsung.com>

---
 include/configs/arndale.h | 38 ++++++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index 75f9933..edf9ee6 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -72,9 +72,6 @@
 		"stdout=serial\0" \
 		"stderr=serial\0"
 
-#define CONFIG_EXTRA_ENV_SETTINGS \
-	EXYNOS_DEVICE_SETTINGS
-
 /* SD/MMC configuration */
 #define CONFIG_GENERIC_MMC
 #define CONFIG_MMC
@@ -103,8 +100,11 @@
 #define CONFIG_CMD_MMC
 #define CONFIG_CMD_EXT2
 #define CONFIG_CMD_FAT
+#define CONFIG_CMD_FS_GENERIC
 #define CONFIG_CMD_NET
 #define CONFIG_CMD_HASH
+#define CONFIG_SUPPORT_RAW_INITRD
+#define CONFIG_CMD_BOOTZ
 
 #define CONFIG_BOOTDELAY		3
 #define CONFIG_ZERO_BOOTDELAY_CHECK
@@ -130,7 +130,37 @@
 #define CONFIG_SPL_TEXT_BASE	0x02023400
 #define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
 
-#define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	EXYNOS_DEVICE_SETTINGS \
+	"loadaddr=0x40007000\0" \
+	"rdaddr=0x4f000000\0" \
+	"kerneladdr=0x40007000\0" \
+	"ramdiskaddr=0x4f000000\0" \
+	"console=ttySAC2,115200n8\0" \
+	"mmcdev=1\0" \
+	"bootenv=uEnv.txt\0" \
+	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
+	"importbootenv=echo Importing environment from mmc ...; " \
+		"env import -t $loadaddr $filesize\0" \
+	"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
+	"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
+		"source ${loadaddr}\0"
+#define CONFIG_BOOTCOMMAND \
+	"if mmc rescan; then " \
+		"echo SD/MMC found on device ${mmcdev}; " \
+		"if run loadbootenv; then " \
+			"echo Loaded environment from ${bootenv}; " \
+			"run importbootenv; " \
+		"fi; " \
+		"if test -n $uenvcmd; then " \
+			"echo Running uenvcmd ...; " \
+			"run uenvcmd; " \
+		"fi; " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"fi; " \
+	"fi; " \
+	"mmc read ${loadaddr} 451 2000; bootm ${loadaddr} "
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LONGHELP		/* undef to save memory */
-- 
1.8.4.5



More information about the U-Boot mailing list