summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSumit Garg <sumit.garg@nxp.com>2017-06-06 20:50:29 +0530
committerYork Sun <york.sun@nxp.com>2017-08-01 08:28:57 -0700
commitf7b75f8b34a40b2d13e968d52bb2e8ae271401c9 (patch)
tree7759a2506b0846119ffada3115c21c7dbfe59412 /include
parent76bbf1c634f4a09e1b3e19468738842a2289dc1e (diff)
arm64: ls1046ardb: Add distro secure boot support
Enable validation of boot.scr script prior to its execution dependent on "secureboot" flag in environment. Disable fall back option to qspi boot in case of secure boot. Also enable "secureboot=y" flag in environment for ARM based platforms instead of bootcmd. Signed-off-by: Sumit Garg <sumit.garg@nxp.com> Tested-by: Vinitha Pillai <vinitha.pillai@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
Diffstat (limited to 'include')
-rw-r--r--include/configs/ls1046a_common.h18
-rw-r--r--include/configs/ls1046ardb.h3
2 files changed, 20 insertions, 1 deletions
diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h
index 490744a1d4..7d7da91a0d 100644
--- a/include/configs/ls1046a_common.h
+++ b/include/configs/ls1046a_common.h
@@ -220,9 +220,11 @@
"fdt_addr=0x64f00000\0" \
"kernel_addr=0x65000000\0" \
"scriptaddr=0x80000000\0" \
+ "scripthdraddr=0x80080000\0" \
"fdtheader_addr_r=0x80100000\0" \
"kernelheader_addr_r=0x80200000\0" \
"load_addr=0xa0000000\0" \
+ "kernel_addr_r=0x81000000\0" \
"fdt_addr_r=0x90000000\0" \
"ramdisk_addr_r=0xa0000000\0" \
"kernel_start=0x1000000\0" \
@@ -232,6 +234,7 @@
MTDPARTS_DEFAULT "\0" \
BOOTENV \
"boot_scripts=ls1046ardb_boot.scr\0" \
+ "boot_script_hdr=hdr_ls1046ardb_bs.out\0" \
"scan_dev_for_boot_part=" \
"part list ${devtype} ${devnum} devplist; " \
"env exists devplist || setenv devplist 1; " \
@@ -242,6 +245,21 @@
"run scan_dev_for_boot; " \
"fi; " \
"done\0" \
+ "scan_dev_for_boot=" \
+ "echo Scanning ${devtype} " \
+ "${devnum}:${distro_bootpart}...; " \
+ "for prefix in ${boot_prefixes}; do " \
+ "run scan_dev_for_scripts; " \
+ "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} " \
+ "&& esbc_validate ${scripthdraddr};" \
+ "source ${scriptaddr}\0" \
"installer=load mmc 0:2 $load_addr " \
"/flex_installer_arm64.itb; " \
"bootm $load_addr#ls1046ardb\0" \
diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h
index 114712322f..e6bd6779f1 100644
--- a/include/configs/ls1046ardb.h
+++ b/include/configs/ls1046ardb.h
@@ -241,7 +241,8 @@
#ifndef SPL_NO_MISC
#undef CONFIG_BOOTCOMMAND
-#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd"
+#define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot" \
+ "&& esbc_halt; run qspi_bootcmd;"
#define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:1m(rcw)," \
"15m(u-boot),48m(kernel.itb);" \
"7e800000.flash:16m(nand_uboot)," \