summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShengzhou Liu <Shengzhou.Liu@nxp.com>2017-08-07 07:59:49 (GMT)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2017-09-03 10:03:05 (GMT)
commitd854cd17834846334e9d8c3adbcac8337d83a75c (patch)
tree232869b3ce5e6717b52eaa82f512dad136399389
parent80e1335752a0c2c49983b258edb9d15c7a9801db (diff)
downloadu-boot-d854cd17834846334e9d8c3adbcac8337d83a75c.tar.xz
arm64: ls2080ardb: Add sd_bootcmd for distro fallback in case of sdboot
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com>
-rw-r--r--include/configs/ls2080ardb.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h
index 4cacf6f..4f62a01 100644
--- a/include/configs/ls2080ardb.h
+++ b/include/configs/ls2080ardb.h
@@ -395,12 +395,18 @@ unsigned long get_board_sys_clk(void);
"kernel_start=0x581000000\0" \
"kernel_load=0xa0000000\0" \
"kernel_size=0x2800000\0" \
+ "kernel_addr_sd=0x8000\0" \
+ "kernel_size_sd=0x14000\0" \
"mcmemsize=0x40000000\0" \
"fdtfile=fsl-ls2080a-rdb.dtb\0" \
"mcinitcmd=esbc_validate 0x580700000;" \
"esbc_validate 0x580740000;" \
"fsl_mc start mc 0x580a00000" \
" 0x580e00000 \0" \
+ "sd_bootcmd=echo Trying load from SD ..;" \
+ "mmcinfo; mmc read $load_addr " \
+ "$kernel_addr_sd $kernel_size_sd ;" \
+ " bootm $load_addr#$board\0" \
BOOTENV
#endif
#else
@@ -419,6 +425,8 @@ unsigned long get_board_sys_clk(void);
"fdt_addr_r=0x90000000\0" \
"load_addr=0xa0000000\0" \
"kernel_size=0x2800000\0" \
+ "kernel_addr_sd=0x8000\0" \
+ "kernel_size_sd=0x14000\0" \
"console=ttyAMA0,38400n8\0" \
BOOTENV \
"boot_scripts=ls2088ardb_boot.scr\0" \
@@ -441,7 +449,11 @@ unsigned long get_board_sys_clk(void);
" bootm $load_addr#$board\0" \
"nor_bootcmd=echo Trying load from nor..;" \
"cp.b $kernel_addr $load_addr " \
- "$kernel_size && bootm $load_addr#$board\0"
+ "$kernel_size && bootm $load_addr#$board\0" \
+ "sd_bootcmd=echo Trying load from SD ..;" \
+ "mmcinfo; mmc read $load_addr " \
+ "$kernel_addr_sd $kernel_size_sd ;" \
+ " bootm $load_addr#$board\0"
#endif
#undef CONFIG_BOOTCOMMAND
@@ -451,6 +463,12 @@ unsigned long get_board_sys_clk(void);
"fsl_mc start mc 0x20a00000 0x20e00000 &&" \
" fsl_mc lazyapply dpl 0x20d00000;" \
"run distro_bootcmd;run qspi_bootcmd"
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_BOOTCOMMAND \
+ "env exists mcinitcmd && run mcinitcmd " \
+ "&& mmcinfo && mmc read 0x88000000 0x6800 0x800 " \
+ "&& fsl_mc apply dpl 0x88000000;" \
+ "run distro_bootcmd;run sd_bootcmd"
#else
/* Try to boot an on-NOR kernel first, then do normal distro boot */
#define CONFIG_BOOTCOMMAND \