[U-Boot] [PATCH 20/32] nitrogen6x: config: allow boot to USB stick

Eric Nelson eric.nelson at boundarydevices.com
Thu Oct 2 21:16:41 CEST 2014


From: Diego Rondini <diego.rondini at kynetics.it>

This patch enables boot to USB storage devices by expanding on the list
of boot devices.

Because the USB startup currently takes a long time, it places USB at
the end of the list of supported devices.

You can over-ride the boot order using the bootdevs environment variable.
For instance, this will make USB the first (highest priority) device:

	U-Boot > setenv bootdevs usb mmc sata
	U-Boot > saveenv

Signed-off-by: Diego Rondini <diego.rondini at kynetics.it>
Signed-off-by: Eric Nelson <eric.nelson at boundarydevices.com>
---
 include/configs/nitrogen6x.h | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
index 5e9b743..21a25e0 100644
--- a/include/configs/nitrogen6x.h
+++ b/include/configs/nitrogen6x.h
@@ -173,7 +173,13 @@
 #define CONFIG_DRIVE_MMC
 #endif
 
-#define CONFIG_DRIVE_TYPES CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC
+#ifdef CONFIG_USB_STORAGE
+#define CONFIG_DRIVE_USB "usb "
+#else
+#define CONFIG_DRIVE_USB
+#endif
+
+#define CONFIG_DRIVE_TYPES CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC CONFIG_DRIVE_USB
 
 #if defined(CONFIG_SABRELITE)
 #define CONFIG_EXTRA_ENV_SETTINGS \
@@ -253,12 +259,16 @@
 	"run netboot; "
 #else
 #define CONFIG_EXTRA_ENV_SETTINGS \
+	"bootdevs=" CONFIG_DRIVE_TYPES "\0" \
 	"console=ttymxc1\0" \
 	"clearenv=if sf probe || sf probe || sf probe 1 ; then " \
 		"sf erase 0xc0000 0x2000 && " \
 		"echo restored environment to factory default ; fi\0" \
-	"bootcmd=for dtype in " CONFIG_DRIVE_TYPES \
+	"bootcmd=for dtype in ${bootdevs}" \
 		"; do " \
+			"if itest.s \"xusb\" == \"x${dtype}\" ; then " \
+				"usb start ;" \
+			"fi; " \
 			"for disk in 0 1 ; do ${dtype} dev ${disk} ;" \
 				"for fs in fat ext2 ; do " \
 					"${fs}load " \
@@ -274,7 +284,7 @@
 		"echo ; echo serial console at 115200, 8N1 ; echo ; " \
 		"echo details at http://boundarydevices.com/6q_bootscript ; " \
 		"setenv stdout serial\0" \
-	"upgradeu=for dtype in " CONFIG_DRIVE_TYPES \
+	"upgradeu=for dtype in ${bootdevs}" \
 		"; do " \
 		"for disk in 0 1 ; do ${dtype} dev ${disk} ;" \
 		     "for fs in fat ext2 ; do " \
-- 
1.9.1



More information about the U-Boot mailing list