Include common config_distro_defaults.h and config_distro_bootcmd.h
for u-boot enviroments to support automatical distro boot which
scan boot.scr from external storage devices(e.g. SD and USB)
and execute autoboot script.

Signed-off-by: Bhaskar Upadhaya <bhaskar.upadh...@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bha...@nxp.com>
---
Depends on:
http://patchwork.ozlabs.org/patch/808617/

Changes in v2:
 - Removed the extra "\" character from macro definition
 - Dropped the #if for CONFIG_BOOTCOMMAND

 configs/ls1012afrdm_qspi_defconfig |  1 +
 include/configs/ls1012afrdm.h      | 57 ++++++++++++++++++++++++++++++++------
 2 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/configs/ls1012afrdm_qspi_defconfig 
b/configs/ls1012afrdm_qspi_defconfig
index fe95f04..42acff0 100644
--- a/configs/ls1012afrdm_qspi_defconfig
+++ b/configs/ls1012afrdm_qspi_defconfig
@@ -46,3 +46,4 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_STORAGE=y
+CONFIG_DISTRO_DEFAULTS=y
diff --git a/include/configs/ls1012afrdm.h b/include/configs/ls1012afrdm.h
index 6b1ba57..4d6448b 100644
--- a/include/configs/ls1012afrdm.h
+++ b/include/configs/ls1012afrdm.h
@@ -20,16 +20,55 @@
 #define CONFIG_SYS_MEMTEST_START       0x80000000
 #define CONFIG_SYS_MEMTEST_END         0x9fffffff
 
+#ifndef CONFIG_SPL_BUILD
+#undef BOOT_TARGET_DEVICES
+#define BOOT_TARGET_DEVICES(func) \
+       func(USB, usb, 0)
+#endif
+
 #undef CONFIG_EXTRA_ENV_SETTINGS
-#define CONFIG_EXTRA_ENV_SETTINGS              \
-       "verify=no\0"                           \
-       "loadaddr=0x80100000\0"                 \
-       "kernel_addr=0x100000\0"                \
-       "fdt_high=0xffffffffffffffff\0"         \
-       "initrd_high=0xffffffffffffffff\0"      \
-       "kernel_start=0xa00000\0"               \
-       "kernel_load=0x96000000\0"              \
-       "kernel_size=0x2800000\0"
+#define CONFIG_EXTRA_ENV_SETTINGS              \
+       "verify=no\0"                           \
+       "fdt_high=0xffffffffffffffff\0"         \
+       "initrd_high=0xffffffffffffffff\0"      \
+       "fdt_addr=0x00f00000\0"                 \
+       "kernel_addr=0x01000000\0"              \
+       "scriptaddr=0x80000000\0"               \
+       "fdtheader_addr_r=0x80100000\0"         \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernel_addr_r=0x96000000\0"            \
+       "fdt_addr_r=0x90000000\0"               \
+       "load_addr=0x96000000\0"                \
+       "kernel_size=0x2800000\0"               \
+       "console=ttyS0,115200\0"                \
+       BOOTENV                                 \
+       "boot_scripts=ls1012afrdm_boot.scr\0"   \
+       "scan_dev_for_boot_part="               \
+            "part list ${devtype} ${devnum} devplist; "        \
+            "env exists devplist || setenv devplist 1; "       \
+            "for distro_bootpart in ${devplist}; do "          \
+                 "if fstype ${devtype} "                       \
+                     "${devnum}:${distro_bootpart} "           \
+                     "bootfstype; then "                       \
+                     "run scan_dev_for_boot; " \
+                 "fi; "                        \
+             "done\0"                          \
+       "scan_dev_for_boot="                              \
+               "echo Scanning ${devtype} "               \
+                               "${devnum}:${distro_bootpart}...; "  \
+               "for prefix in ${boot_prefixes}; do "     \
+                       "run scan_dev_for_scripts; "      \
+               "done;"                                   \
+               "\0"                                      \
+       "installer=load usb 0:2 $load_addr "    \
+                  "/flex_installer_arm64.itb; "        \
+                  "bootm $load_addr#$board\0"  \
+       "qspi_bootcmd=echo Trying load from qspi..;"    \
+               "sf probe && sf read $load_addr "       \
+               "$kernel_addr $kernel_size && bootm $load_addr#$board\0"
+
+#undef CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd"
 
 /*
 * USB
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to