nitrogen6x: config: allow boot to USB stick
authorDiego Rondini <diego.rondini@kynetics.it>
Thu, 2 Oct 2014 19:16:41 +0000 (12:16 -0700)
committerStefano Babic <sbabic@denx.de>
Mon, 6 Oct 2014 15:57:22 +0000 (17:57 +0200)
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@kynetics.it>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
include/configs/nitrogen6x.h

index 5e9b7437d9c79d0e6f9a0a34cb59ff5c2aca793c..21a25e073404987f5f1284a36f5144a13fb91f86 100644 (file)
 #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 \
        "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 " \
                "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 " \