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

Tested on ls1043ardb with automatically boot Ubuntu 16.04 from SD
card or USB disk.

Signed-off-by: Shengzhou Liu <shengzhou....@nxp.com>
---
 configs/ls1043ardb_defconfig        |  1 +
 configs/ls1043ardb_sdcard_defconfig |  1 +
 include/configs/ls1043a_common.h    | 52 +++++++++++++++++++++++++++----------
 3 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/configs/ls1043ardb_defconfig b/configs/ls1043ardb_defconfig
index 894110b..84eadf5 100644
--- a/configs/ls1043ardb_defconfig
+++ b/configs/ls1043ardb_defconfig
@@ -36,3 +36,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/configs/ls1043ardb_sdcard_defconfig 
b/configs/ls1043ardb_sdcard_defconfig
index d34a253..211399f 100644
--- a/configs/ls1043ardb_sdcard_defconfig
+++ b/configs/ls1043ardb_sdcard_defconfig
@@ -51,3 +51,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/ls1043a_common.h b/include/configs/ls1043a_common.h
index 2c471fd..4f06678 100644
--- a/include/configs/ls1043a_common.h
+++ b/include/configs/ls1043a_common.h
@@ -263,38 +263,64 @@
                        "5m(kernel),1m(dtb),9m(file_system)"
 #endif
 
+
+
+#include <config_distro_defaults.h>
+#ifndef CONFIG_SPL_BUILD
+#define BOOT_TARGET_DEVICES(func) \
+        func(MMC, mmc, 0) \
+        func(USB, usb, 0)
+#include <config_distro_bootcmd.h>
+#endif
+
+
 /* Initial environment variables */
 #define CONFIG_EXTRA_ENV_SETTINGS              \
        "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
-       "loadaddr=0x80100000\0"                 \
        "fdt_high=0xffffffffffffffff\0"         \
-       "initrd_high=0xffffffffffffffff\0"      \
-       "kernel_start=0x61100000\0"             \
-       "kernel_load=0xa0000000\0"              \
+       "initrd_high=0xfffffffffffffffn\0"      \
+       "fdt_addr=0x64f00000\0"                 \
+       "kernel_addr=0x65000000\0"              \
+       "scriptaddr=0x80000000\0"               \
+       "fdtheader_addr_r=0x80100000\0"         \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernel_addr_r=0x81000000\0"            \
+       "fdt_addr_r=0x90000000\0"               \
+       "ramdisk_addr_r=0xa0000000\0"           \
        "kernel_size=0x2800000\0"               \
        "console=ttyS0,115200\0"                \
-       "mtdparts=" MTDPARTS_DEFAULT "\0"
+       "mtdparts=" MTDPARTS_DEFAULT "\0"       \
+       BOOTENV                                 \
+       "boot_scripts=ls1043ardb_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"                                   \
+       "installer=load mmc 0:2 $kernel_addr_r "          \
+                  "/flex_installer_arm64.itb; "          \
+                  "bootm $kernel_addr_r#ls1043ardb\0"
+
 
 #define CONFIG_BOOTARGS                        "console=ttyS0,115200 
root=/dev/ram0 " \
                                        "earlycon=uart8250,mmio,0x21c0500 "    \
                                        MTDPARTS_DEFAULT
 
-#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
-#define CONFIG_BOOTCOMMAND             "sf probe && sf read $kernel_load "    \
-                                       "e0000 f00000 && bootm $kernel_load"
-#else
-#define CONFIG_BOOTCOMMAND             "cp.b $kernel_start $kernel_load "     \
-                                       "$kernel_size && bootm $kernel_load"
-#endif
+
 #endif
 
+
 /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE /* Boot args buffer */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_CMDLINE_EDITING         1
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_MAXARGS             64      /* max command args */
 
-- 
2.1.0.27.g96db324

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

Reply via email to