diff options
author | Shengzhou Liu <Shengzhou.Liu@nxp.com> | 2017-08-07 07:59:49 (GMT) |
---|---|---|
committer | Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> | 2017-09-03 10:03:05 (GMT) |
commit | d854cd17834846334e9d8c3adbcac8337d83a75c (patch) | |
tree | 232869b3ce5e6717b52eaa82f512dad136399389 | |
parent | 80e1335752a0c2c49983b258edb9d15c7a9801db (diff) | |
download | u-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.h | 20 |
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 \ |