configs: ls1088aqds: support distro boot
authorBiwen Li <biwen.li@nxp.com>
Thu, 19 Mar 2020 11:38:42 +0000 (19:38 +0800)
committerPriyanka Jain <priyanka.jain@nxp.com>
Mon, 30 Mar 2020 02:42:13 +0000 (08:12 +0530)
Add support of distro boot for ls1088aqds

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
include/configs/ls1088aqds.h

index 361c72fc8c96fd78130e56221e07c21884579c5f..4ac4a8d85686655e8069ceef185331e7247fcd55 100644 (file)
@@ -443,19 +443,47 @@ unsigned long get_board_ddr_clk(void);
        "mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"  \
        "sf read 0x80100000 0xE00000 0x100000;" \
        "fsl_mc start mc 0x80000000 0x80100000\0"       \
-       "mcmemsize=0x70000000 \0"
-#define QSPI_NOR_BOOTCOMMAND   "sf probe 0:0;" \
-                               "sf read 0x80001000 0xd00000 0x100000;"\
-                               " fsl_mc lazyapply dpl 0x80001000 &&" \
-                               " sf read $kernel_load $kernel_start" \
-                               " $kernel_size && bootm $kernel_load"
-#define SD_BOOTCOMMAND         "mmcinfo;mmc read 0x80001000 0x6800 0x800;"\
-                               " fsl_mc lazyapply dpl 0x80001000 &&" \
-                               " mmc read $kernel_load $kernel_start_sd" \
-                               " $kernel_size_sd && bootm $kernel_load"
-#define IFC_NOR_BOOTCOMMAND    "fsl_mc lazyapply dpl 0x580d00000 &&" \
-                               " cp.b $kernel_start $kernel_load" \
-                               " $kernel_size && bootm $kernel_load"
+       "mcmemsize=0x70000000 \0"               \
+       "BOARD=ls1088aqds\0" \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
+       BOOTENV                                 \
+       "boot_scripts=ls1088aqds_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1088aqds_bs.out\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"                                        \
+       "boot_a_script="                                        \
+               "load ${devtype} ${devnum}:${distro_bootpart} " \
+               "${scriptaddr} ${prefix}${script}; "            \
+       "env exists secureboot && load ${devtype} "             \
+               "${devnum}:${distro_bootpart} "                 \
+               "${scripthdraddr} ${prefix}${boot_script_hdr}; "\
+               "env exists secureboot "                        \
+               "&& esbc_validate ${scripthdraddr};"            \
+               "source ${scriptaddr}\0"                        \
+       "qspi_bootcmd=echo Trying load from qspi..; " \
+               "sf probe 0:0; " \
+               "sf read 0x80001000 0xd00000 0x100000; " \
+               "fsl_mc lazyapply dpl 0x80001000 && " \
+               "sf read $kernel_load $kernel_start " \
+               "$kernel_size && bootm $kernel_load#$BOARD\0" \
+       "sd_bootcmd=echo Trying load from sd card..; " \
+               "mmcinfo;mmc read 0x80001000 0x6800 0x800; "\
+               "fsl_mc lazyapply dpl 0x80001000 && " \
+               "mmc read $kernel_load $kernel_start_sd " \
+               "$kernel_size_sd && bootm $kernel_load#$BOARD\0" \
+       "nor_bootcmd=echo Trying load from nor..; " \
+               "fsl_mc lazyapply dpl 0x580d00000 && " \
+               "cp.b $kernel_start $kernel_load " \
+               "$kernel_size && bootm $kernel_load#$BOARD\0"
 #else
 #if defined(CONFIG_QSPI_BOOT)
 #undef CONFIG_EXTRA_ENV_SETTINGS
@@ -510,6 +538,15 @@ unsigned long get_board_ddr_clk(void);
 #endif /* CONFIG_TFABOOT */
 #endif /* CONFIG_NXP_ESBC */
 
+#ifdef CONFIG_TFABOOT
+#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "  \
+                          "env exists secureboot && esbc_halt;;"
+#define IFC_NOR_BOOTCOMMAND "run distro_bootcmd; run nor_bootcmd; "    \
+                          "env exists secureboot && esbc_halt;;"
+#define SD_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; "  \
+                          "env exists secureboot && esbc_halt;;"
+#endif
+
 #ifdef CONFIG_FSL_MC_ENET
 #define CONFIG_FSL_MEMAC
 #define        CONFIG_PHYLIB