summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinitha V Pillai <vinitha.pillai@nxp.com>2017-09-14 10:44:33 (GMT)
committerAlison Wang <b18965@freescale.com>2017-09-19 04:17:52 (GMT)
commitc66ddf7df5ef1130b264040555733cbcd227555f (patch)
tree5d670b26fb6f7c4fdd18df0108e325c0722339b2
parent44ffe9874be8692f565f936b0535890a2a1e5c20 (diff)
downloadu-boot-c66ddf7df5ef1130b264040555733cbcd227555f.tar.xz
arm64: ls2088ardb: Fix kernel validation failure
Add a variable $kernelheader_addr_r used in distroboot to validate kernel image as its absence caused kernel validation failure Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com>
-rw-r--r--include/configs/ls2080ardb.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h
index 36c7847..8a34990 100644
--- a/include/configs/ls2080ardb.h
+++ b/include/configs/ls2080ardb.h
@@ -370,6 +370,7 @@ unsigned long get_board_sys_clk(void);
"scriptaddr=0x80000000\0" \
"scripthdraddr=0x80080000\0" \
"fdtheader_addr_r=0x80100000\0" \
+ "kernelheader_addr_r=0x80200000\0" \
"kernelheader_addr=0x580800000\0" \
"kernel_addr_r=0x81000000\0" \
"kernelheader_size=0x40000\0" \
@@ -378,6 +379,8 @@ unsigned long get_board_sys_clk(void);
"kernel_size=0x2800000\0" \
"kernel_addr_sd=0x8000\0" \
"kernel_size_sd=0x14000\0" \
+ "kernelhdr_addr_sd=0x4000\0" \
+ "kernelhdr_size_sd=0x10\0" \
"console=ttyAMA0,38400n8\0" \
"mcmemsize=0x70000000\0" \
BOOTENV \
@@ -419,13 +422,16 @@ 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 ; env exists secureboot && " \
+ "cp.b $kernelheader_addr $kernelheader_addr_r " \
+ "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \
+ "bootm $load_addr#$board\0" \
"sd_bootcmd=echo Trying load from SD ..;" \
"mmcinfo; mmc read $load_addr " \
"$kernel_addr_sd $kernel_size_sd ;" \
- "$kernel_size ; env exists secureboot && " \
- "cp.b $kernelheader_addr $kernelheader_addr_r " \
- "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \
+ "env exists secureboot && mmc read $kernelheader_addr_r " \
+ "$kernelhdr_addr_sd $kernelhdr_size_sd " \
+ " && esbc_validate ${kernelheader_addr_r};" \
"bootm $load_addr#$board\0"
#undef CONFIG_BOOTCOMMAND
@@ -443,7 +449,7 @@ unsigned long get_board_sys_clk(void);
"env exists mcinitcmd && run mcinitcmd " \
"&& mmcinfo && mmc read 0x88000000 0x6800 0x800 " \
"&& fsl_mc apply dpl 0x88000000;" \
- "run distro_bootcmd;run qspi_bootcmd;" \
+ "run distro_bootcmd;run sd_bootcmd;" \
"env exists secureboot && esbc_halt;"
#else
/* Try to boot an on-NOR kernel first, then do normal distro boot */