From d854cd17834846334e9d8c3adbcac8337d83a75c Mon Sep 17 00:00:00 2001 From: Shengzhou Liu Date: Mon, 7 Aug 2017 15:59:49 +0800 Subject: arm64: ls2080ardb: Add sd_bootcmd for distro fallback in case of sdboot Signed-off-by: Shengzhou Liu 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 \ -- cgit v0.10.2