From c883f351e61f425f72d110375eaa80d5ecb5ee64 Mon Sep 17 00:00:00 2001 From: Vinitha Pillai-B57223 Date: Tue, 9 Jan 2018 23:03:42 +0530 Subject: armv8: ls1012ardb: Add distro secure boot support Enable validation of boot.scr script prior to its execution dependent on "secureboot" flag in environment. Enable fall back option to qspi boot in case of secure boot. Signed-off-by: Sumit Garg Signed-off-by: Vinitha Pillai Reviewed-by: York Sun --- include/configs/ls1012ardb.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/configs/ls1012ardb.h b/include/configs/ls1012ardb.h index 438b5a63386..97ed9092e0a 100644 --- a/include/configs/ls1012ardb.h +++ b/include/configs/ls1012ardb.h @@ -63,16 +63,20 @@ "initrd_high=0xffffffffffffffff\0" \ "fdt_addr=0x00f00000\0" \ "kernel_addr=0x01000000\0" \ + "kernelheader_addr=0x800000\0" \ "scriptaddr=0x80000000\0" \ + "scripthdraddr=0x80080000\0" \ "fdtheader_addr_r=0x80100000\0" \ "kernelheader_addr_r=0x80200000\0" \ "kernel_addr_r=0x81000000\0" \ "fdt_addr_r=0x90000000\0" \ "load_addr=0xa0000000\0" \ "kernel_size=0x2800000\0" \ + "kernelheader_size=0x40000\0" \ "console=ttyS0,115200\0" \ BOOTENV \ "boot_scripts=ls1012ardb_boot.scr\0" \ + "boot_script_hdr=hdr_ls1012ardb_bs.out\0" \ "scan_dev_for_boot_part=" \ "part list ${devtype} ${devnum} devplist; " \ "env exists devplist || setenv devplist 1; " \ @@ -90,15 +94,27 @@ "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#$board\0" \ "qspi_bootcmd=echo Trying load from qspi..;" \ "sf probe && sf read $load_addr " \ - "$kernel_addr $kernel_size && bootm $load_addr#$board\0" + "$kernel_addr $kernel_size; env exists secureboot " \ + "&& sf read $kernelheader_addr_r $kernelheader_addr " \ + "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \ + "bootm $load_addr#$board\0" #undef CONFIG_BOOTCOMMAND -#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd" +#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \ + "env exists secureboot && esbc_halt;" #include -- cgit v1.2.3 From dfaec76029f27ae6831babc0cdcf2816ee491f74 Mon Sep 17 00:00:00 2001 From: Lukas Auer Date: Thu, 25 Jan 2018 14:11:17 +0100 Subject: crypto/fsl: instantiate all rng state handles Extend the instantiate_rng() function and the corresponding CAAM job descriptor to instantiate all RNG state handles. This moves the RNG instantiation code in line with the CAAM kernel driver. Previously, only the first state handle was instantiated. The second one was instantiated by the CAAM kernel driver. This works if the kernel runs in secure mode, but fails in non-secure mode since the kernel driver uses DEC0 directly instead of over the job ring interface. Instantiating all RNG state handles in u-boot removes the need for using DEC0 in the kernel driver, making it possible to use the CAAM in non-secure mode. Signed-off-by: Lukas Auer Tested-by: Bryan O'Donoghue Reviewed-by: York Sun --- include/fsl_sec.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/fsl_sec.h b/include/fsl_sec.h index a2f5f5a5f1a..4cbdb2d65a0 100644 --- a/include/fsl_sec.h +++ b/include/fsl_sec.h @@ -67,6 +67,9 @@ struct rng4tst { }; u32 rsvd1[40]; #define RNG_STATE0_HANDLE_INSTANTIATED 0x00000001 +#define RNG_STATE1_HANDLE_INSTANTIATED 0x00000002 +#define RNG_STATE_HANDLE_MASK \ + (RNG_STATE0_HANDLE_INSTANTIATED | RNG_STATE1_HANDLE_INSTANTIATED) u32 rdsta; /*RNG DRNG Status Register*/ u32 rsvd2[15]; }; -- cgit v1.2.3 From ee3556bcafbb05e59aabdc31368984e76acaabc4 Mon Sep 17 00:00:00 2001 From: York Sun Date: Wed, 7 Feb 2018 11:47:22 -0800 Subject: drivers/ddr/fsl: Dual-license DDR driver To make this driver easier to be reused, dual-license DDR driver. Signed-off-by: York Sun CC: Simon Glass CC: Tom Rini CC: Heinrich Schuchardt CC: Thomas Schaefer CC: Masahiro Yamada CC: Robert P. J. Day CC: Alexander Merkle CC: Joakim Tjernlund CC: Curt Brune CC: Valentin Longchamp CC: Wolfgang Denk CC: Anatolij Gustschin CC: Ira W. Snyder CC: Marek Vasut CC: Kyle Moffett CC: Sebastien Carlier CC: Stefan Roese CC: Peter Tyser CC: Paul Gortmaker CC: Peter Tyser CC: Jean-Christophe PLAGNIOL-VILLARD --- include/common_timing_params.h | 2 +- include/fsl_ddr.h | 2 +- include/fsl_ddr_dimm_params.h | 2 +- include/fsl_ddrc_version.h | 2 +- include/fsl_immap.h | 2 +- include/fsl_mmdc.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/common_timing_params.h b/include/common_timing_params.h index 070010728b8..3881456a96f 100644 --- a/include/common_timing_params.h +++ b/include/common_timing_params.h @@ -1,7 +1,7 @@ /* * Copyright 2008-2014 Freescale Semiconductor, Inc. * - * SPDX-License-Identifier: GPL-2.0 + * SPDX-License-Identifier: GPL-2.0 BSD-3-Clause */ #ifndef COMMON_TIMING_PARAMS_H diff --git a/include/fsl_ddr.h b/include/fsl_ddr.h index 261b94e9845..996723c636a 100644 --- a/include/fsl_ddr.h +++ b/include/fsl_ddr.h @@ -1,7 +1,7 @@ /* * Copyright 2008-2014 Freescale Semiconductor, Inc. * - * SPDX-License-Identifier: GPL-2.0 + * SPDX-License-Identifier: GPL-2.0 BSD-3-Clause */ #ifndef FSL_DDR_MAIN_H diff --git a/include/fsl_ddr_dimm_params.h b/include/fsl_ddr_dimm_params.h index 1632a8fd366..af673fd3405 100644 --- a/include/fsl_ddr_dimm_params.h +++ b/include/fsl_ddr_dimm_params.h @@ -2,7 +2,7 @@ * Copyright 2008-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor * - * SPDX-License-Identifier: GPL-2.0 + * SPDX-License-Identifier: GPL-2.0 BSD-3-Clause */ #ifndef DDR2_DIMM_PARAMS_H diff --git a/include/fsl_ddrc_version.h b/include/fsl_ddrc_version.h index 60ba98bf810..4c5aed474c4 100644 --- a/include/fsl_ddrc_version.h +++ b/include/fsl_ddrc_version.h @@ -1,7 +1,7 @@ /* * Copyright 2014 Freescale Semiconductor, Inc. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause */ #ifndef __FSL_DDRC_VER_H diff --git a/include/fsl_immap.h b/include/fsl_immap.h index 4f5a19cdc1a..e210c4c472e 100644 --- a/include/fsl_immap.h +++ b/include/fsl_immap.h @@ -3,7 +3,7 @@ * * Copyright 2013-2014 Freescale Semiconductor, Inc. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause */ #ifndef __FSL_IMMAP_H diff --git a/include/fsl_mmdc.h b/include/fsl_mmdc.h index d5c4f8d59a7..d364e075193 100644 --- a/include/fsl_mmdc.h +++ b/include/fsl_mmdc.h @@ -1,7 +1,7 @@ /* * Copyright 2016 Freescale Semiconductor, Inc. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause */ #ifndef FSL_MMDC_H -- cgit v1.2.3