From 472dfe546c9c24c51f30763c2d232b9d12cf3719 Mon Sep 17 00:00:00 2001 From: Biwen Li Date: Thu, 19 Mar 2020 19:38:42 +0800 Subject: configs: ls1088aqds: support distro boot Add support of distro boot for ls1088aqds Signed-off-by: Biwen Li Reviewed-by: Priyanka Jain --- include/configs/ls1088aqds.h | 63 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 13 deletions(-) (limited to 'include/configs') diff --git a/include/configs/ls1088aqds.h b/include/configs/ls1088aqds.h index 361c72fc8c..4ac4a8d856 100644 --- a/include/configs/ls1088aqds.h +++ b/include/configs/ls1088aqds.h @@ -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 -- cgit