[U-Boot] [PATCH v2 1/2] LS1088A_QSPI: SECURE_BOOT: Images validation
Udit Agarwal
udit.agarwal at nxp.com
Fri Aug 25 09:45:31 UTC 2017
Changes in V2:
Rebasing the image validation patch.
Dependent patch set:
https://patchwork.ozlabs.org/patch/801852/
https://patchwork.ozlabs.org/patch/803045/
https://patchwork.ozlabs.org/patch/803043/
> -----Original Message-----
> From: Udit Agarwal [mailto:udit.agarwal at nxp.com]
> Sent: Friday, August 25, 2017 2:29 PM
> To: u-boot at lists.denx.de
> Cc: York Sun <york.sun at nxp.com>; Ruchika Gupta <ruchika.gupta at nxp.com>; Sumit
> Garg <sumit.garg at nxp.com>; Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>;
> Ashish Kumar <ashish.kumar at nxp.com>; Udit Agarwal <udit.agarwal at nxp.com>
> Subject: [PATCH v2 1/2] LS1088A_QSPI: SECURE_BOOT: Images validation
>
> Validates PPA, MC, DPC, Bootscript, DPL and Kernel images in ESBC phase using
> esbc_validate command. Add images validation in default environment under mcinitcmd
> prior to MC in Changes in V2:
Rebasing the image validation patch.
Dependent patch set:
https://patchwork.ozlabs.org/patch/801852/
https://patchwork.ozlabs.org/patch/803045/
https://patchwork.ozlabs.org/patch/803043/itialization.
>
> Add header address for PPA to be validated during ESBC phase for LS1088A platform
> based on LAyerscape Chasis 3.
>
> Moves sec_init prior to ppa_init as for validation of PPA sec must be initialised before the
> PPA is initialised.
>
> Signed-off-by: Udit Agarwal <udit.agarwal at nxp.com>
> ---
> arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 1 +
> board/freescale/ls1088a/Kconfig | 2 ++
> board/freescale/ls1088a/ls1088a.c | 6 +++---
> include/configs/ls1088a_common.h | 6 +++---
> include/configs/ls1088aqds.h | 21 +++++++++++++++++++++
> include/configs/ls1088ardb.h | 22 +++++++++++++++++++++-
> 6 files changed, 51 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-
> layerscape/Kconfig
> index ab69a32..d61f522 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> @@ -229,6 +229,7 @@ config SYS_LS_PPA_ESBC_ADDR
> default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
> default 0x20680000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT &&
> ARCH_LS2080A
> default 0x580680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
> + default 0x20680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1088A
> default 0x680000 if SYS_LS_PPA_FW_IN_MMC
> default 0x680000 if SYS_LS_PPA_FW_IN_NAND
> help
> diff --git a/board/freescale/ls1088a/Kconfig b/board/freescale/ls1088a/Kconfig index
> 1ada661..4479dd0 100644
> --- a/board/freescale/ls1088a/Kconfig
> +++ b/board/freescale/ls1088a/Kconfig
> @@ -12,6 +12,7 @@ config SYS_SOC
> config SYS_CONFIG_NAME
> default "ls1088aqds"
>
> +source "board/freescale/common/Kconfig"
> endif
>
> if TARGET_LS1088ARDB
> @@ -28,4 +29,5 @@ config SYS_SOC
> config SYS_CONFIG_NAME
> default "ls1088ardb"
>
> +source "board/freescale/common/Kconfig"
> endif
> diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
> index d1de4d1..b3a646d 100644
> --- a/board/freescale/ls1088a/ls1088a.c
> +++ b/board/freescale/ls1088a/ls1088a.c
> @@ -315,6 +315,9 @@ int board_init(void)
> out_le32(irq_ccsr + IRQCR_OFFSET / 4, AQR105_IRQ_MASK); #endif
>
> +#ifdef CONFIG_FSL_CAAM
> + sec_init();
> +#endif
> #ifdef CONFIG_FSL_LS_PPA
> ppa_init();
> #endif
> @@ -337,9 +340,6 @@ void detail_board_ddr_info(void) #if
> defined(CONFIG_ARCH_MISC_INIT) int arch_misc_init(void) { -#ifdef
> CONFIG_FSL_CAAM
> - sec_init();
> -#endif
> return 0;
> }
> #endif
> diff --git a/include/configs/ls1088a_common.h b/include/configs/ls1088a_common.h
> index d01095e..4943e19 100644
> --- a/include/configs/ls1088a_common.h
> +++ b/include/configs/ls1088a_common.h
> @@ -128,9 +128,9 @@ unsigned long long get_qixis_addr(void); #if
> defined(CONFIG_FSL_MC_ENET)
> #define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE (512UL * 1024 *
> 1024)
> #endif
> -
> -#define CONFIG_FSL_CAAM /* Enable SEC/CAAM */
> -
> +#if !defined(CONFIG_FSL_CAAM)
> + #define CONFIG_FSL_CAAM /* Enable SEC/CAAM */
> +#endif
> /* Command line configuration */
> #define CONFIG_CMD_GREPENV
> #define CONFIG_CMD_CACHE
> diff --git a/include/configs/ls1088aqds.h b/include/configs/ls1088aqds.h index
> 3547b0b..ff0cb7e 100644
> --- a/include/configs/ls1088aqds.h
> +++ b/include/configs/ls1088aqds.h
> @@ -329,6 +329,26 @@ unsigned long get_board_ddr_clk(void);
> QIXIS_SDID_MASK) != QIXIS_ESDHC_NO_ADAPTER)
>
> /* Initial environment variables */
> +#ifdef CONFIG_SECURE_BOOT
> +#undef CONFIG_EXTRA_ENV_SETTINGS
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> + "hwconfig=fsl_ddr:bank_intlv=auto\0" \
> + "loadaddr=0x90100000\0" \
> + "kernel_addr=0x100000\0" \
> + "ramdisk_addr=0x800000\0" \
> + "ramdisk_size=0x2000000\0" \
> + "fdt_high=0xa0000000\0" \
> + "initrd_high=0xffffffffffffffff\0" \
> + "kernel_start=0x1000000\0" \
> + "kernel_load=0xa0000000\0" \
> + "kernel_size=0x2800000\0" \
> + "mcinitcmd=sf probe 0:0;sf read 0xa0a00000 0xa00000 0x100000;" \
> + "sf read 0xa0700000 0x700000 0x4000; esbc_validate 0xa0700000;" \
> + "sf read 0xa0e00000 0xe00000 0x100000;" \
> + "sf read 0xa0740000 0x740000 0x4000;esbc_validate 0xa0740000;" \
> + "fsl_mc start mc 0xa0a00000 0xa0e00000\0" \
> + "mcmemsize=0x70000000 \0"
> +#else /* if !(CONFIG_SECURE_BOOT) */
> #if defined(CONFIG_QSPI_BOOT)
> #undef CONFIG_EXTRA_ENV_SETTINGS
> #define CONFIG_EXTRA_ENV_SETTINGS \
> @@ -362,6 +382,7 @@ unsigned long get_board_ddr_clk(void);
> "mcinitcmd=fsl_mc start mc 0x580A00000 0x580E00000\0" \
> "mcmemsize=0x70000000 \0"
> #endif
> +#endif /* CONFIG_SECURE_BOOT */
>
> #ifdef CONFIG_FSL_MC_ENET
> #define CONFIG_FSL_MEMAC
> diff --git a/include/configs/ls1088ardb.h b/include/configs/ls1088ardb.h index
> d943fa4..427f0ac 100644
> --- a/include/configs/ls1088ardb.h
> +++ b/include/configs/ls1088ardb.h
> @@ -250,6 +250,26 @@
> #define CONFIG_FSL_MEMAC
>
> /* Initial environment variables */
> +#ifdef CONFIG_SECURE_BOOT
> +#undef CONFIG_EXTRA_ENV_SETTINGS
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> + "hwconfig=fsl_ddr:bank_intlv=auto\0" \
> + "loadaddr=0x90100000\0" \
> + "kernel_addr=0x100000\0" \
> + "ramdisk_addr=0x800000\0" \
> + "ramdisk_size=0x2000000\0" \
> + "fdt_high=0xa0000000\0" \
> + "initrd_high=0xffffffffffffffff\0" \
> + "kernel_start=0x1000000\0" \
> + "kernel_load=0xa0000000\0" \
> + "kernel_size=0x2800000\0" \
> + "mcinitcmd=sf probe 0:0;sf read 0xa0a00000 0xa00000 0x100000;" \
> + "sf read 0xa0700000 0x700000 0x4000; esbc_validate 0xa0700000;" \
> + "sf read 0xa0e00000 0xe00000 0x100000;" \
> + "sf read 0xa0740000 0x740000 0x4000; esbc_validate 0xa0740000;" \
> + "fsl_mc start mc 0xa0a00000 0xa0e00000\0" \
> + "mcmemsize=0x70000000 \0"
> +#else /* if !(CONFIG_SECURE_BOOT) */
> #if defined(CONFIG_QSPI_BOOT)
> #undef CONFIG_EXTRA_ENV_SETTINGS
> #define CONFIG_EXTRA_ENV_SETTINGS \
> @@ -269,7 +289,7 @@
> "mcmemsize=0x70000000 \0"
>
> #endif
> -
> +#endif /* CONFIG_SECURE_BOOT */
> /* MAC/PHY configuration */
> #ifdef CONFIG_FSL_MC_ENET
> #define CONFIG_PHYLIB_10G
> --
> 1.9.1
More information about the U-Boot
mailing list