From: Biwen Li <[email protected]>

Add support of distro boot for ls1046aqds

Signed-off-by: Biwen Li <[email protected]>
---
Change in v2:
        - correct subject

 include/configs/ls1046a_common.h | 18 +++++++++++++++++-
 include/configs/ls1046aqds.h     | 30 +++++++++++++++++++-----------
 2 files changed, 36 insertions(+), 12 deletions(-)

diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h
index e80c2996ef..91b79650f7 100644
--- a/include/configs/ls1046a_common.h
+++ b/include/configs/ls1046a_common.h
@@ -217,6 +217,10 @@
 #define LS1046A_BOOT_SRC_AND_HDR\
        "boot_scripts=ls1046afrwy_boot.scr\0"   \
        "boot_script_hdr=hdr_ls1046afrwy_bs.out\0"
+#elif defined(CONFIG_TARGET_LS1046AQDS)
+#define LS1046A_BOOT_SRC_AND_HDR\
+       "boot_scripts=ls1046aqds_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1046aqds_bs.out\0"
 #else
 #define LS1046A_BOOT_SRC_AND_HDR\
        "boot_scripts=ls1046ardb_boot.scr\0"    \
@@ -230,7 +234,7 @@
        "ramdisk_size=0x2000000\0"              \
        "bootm_size=0x10000000\0"               \
        "fdt_addr=0x64f00000\0"                 \
-       "kernel_addr=0x65000000\0"              \
+       "kernel_addr=0x61000000\0"              \
        "scriptaddr=0x80000000\0"               \
        "scripthdraddr=0x80080000\0"            \
        "fdtheader_addr_r=0x80100000\0"         \
@@ -277,6 +281,18 @@
                "&& sf read $kernelheader_addr_r $kernelheader_start "  \
                "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \
                "bootm $load_addr#$board\0"             \
+       "nand_bootcmd=echo Trying load from nand..;"      \
+               "nand info; nand read $load_addr "         \
+               "$kernel_start $kernel_size; env exists secureboot "    \
+               "&& nand read $kernelheader_addr_r $kernelheader_start "        
\
+               "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \
+               "bootm $load_addr#$board\0"             \
+       "nor_bootcmd=echo Trying load from nor..;"      \
+               "cp.b $kernel_addr $load_addr "         \
+               "$kernel_size; env exists secureboot "  \
+               "&& cp.b $kernelheader_addr $kernelheader_addr_r "      \
+               "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \
+               "bootm $load_addr#$board\0"     \
        "sd_bootcmd=echo Trying load from SD ..;"       \
                "mmcinfo; mmc read $load_addr "         \
                "$kernel_addr_sd $kernel_size_sd && "   \
diff --git a/include/configs/ls1046aqds.h b/include/configs/ls1046aqds.h
index 0b17b1e994..d04ad00e76 100644
--- a/include/configs/ls1046aqds.h
+++ b/include/configs/ls1046aqds.h
@@ -440,19 +440,27 @@ unsigned long get_board_ddr_clk(void);
 
 #undef CONFIG_BOOTCOMMAND
 #ifdef CONFIG_TFABOOT
-#define QSPI_NOR_BOOTCOMMAND           "sf probe && sf read $kernel_load "    \
-                                       "e0000 f00000 && bootm $kernel_load"
-#define IFC_NOR_BOOTCOMMAND            "cp.b $kernel_start $kernel_load "     \
-                                       "$kernel_size && bootm $kernel_load"
-#define SD_BOOTCOMMAND         "mmc info; mmc read $kernel_load"     \
-                                       "$kernel_addr_sd $kernel_size_sd && 
bootm $kernel_load"
+#define IFC_NAND_BOOTCOMMAND "run distro_bootcmd; run nand_bootcmd; "  \
+                          "env exists secureboot && esbc_halt;;"
+#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run nor_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;;"
 #else
-#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
-#define CONFIG_BOOTCOMMAND             "sf probe && sf read $kernel_load "    \
-                                       "e0000 f00000 && bootm $kernel_load"
+#if defined(CONFIG_QSPI_BOOT)
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run nor_bootcmd; "     \
+                          "env exists secureboot && esbc_halt;;"
+#elif defined(CONFIG_NAND_BOOT)
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run nand_bootcmd; "    \
+                          "env exists secureboot && esbc_halt;;"
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; "      \
+                          "env exists secureboot && esbc_halt;;"
 #else
-#define CONFIG_BOOTCOMMAND             "cp.b $kernel_start $kernel_load "     \
-                                       "$kernel_size && bootm $kernel_load"
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run nor_bootcmd; "     \
+                          "env exists secureboot && esbc_halt;;"
 #endif
 #endif
 
-- 
2.17.1

Reply via email to