diff mbox

[U-Boot,v3,2/3] LS2080ARDB: QSPI boot: Secure Boot image validation

Message ID 1502882010-27829-2-git-send-email-sumit.garg@nxp.com
State Accepted
Commit 15e7c681e171a761609bbf1571dc81486ba783af
Delegated to: York Sun
Headers show

Commit Message

Sumit Garg Aug. 16, 2017, 11:13 a.m. UTC
From: Udit Agarwal <udit.agarwal@nxp.com>

Adds header address for PPA to be validated during ESBC phase for
ARCH_LS2088 and QSPI_BOOT.

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@nxp.com>
---

Changes in v3:
Rebasing of the patches on the top commit and removes conflict
on CONFIG_EXTRA_ENV_SETTINGS.
This patch supersedes https://patchwork.ozlabs.org/patch/767679/

 arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 3 ++-
 arch/arm/include/asm/fsl_secure_boot.h    | 5 +++++
 board/freescale/ls2080aqds/ls2080aqds.c   | 7 +++----
 board/freescale/ls2080ardb/ls2080ardb.c   | 4 ++++
 4 files changed, 14 insertions(+), 5 deletions(-)

Comments

York Sun Sept. 13, 2017, 2:19 a.m. UTC | #1
On 08/15/2017 09:45 PM, Sumit Garg wrote:
> From: Udit Agarwal <udit.agarwal@nxp.com>
> 
> Adds header address for PPA to be validated during ESBC phase for
> ARCH_LS2088 and QSPI_BOOT.
> 
> 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@nxp.com>
> ---
> 
> Changes in v3:
> Rebasing of the patches on the top commit and removes conflict
> on CONFIG_EXTRA_ENV_SETTINGS.
> This patch supersedes https://patchwork.ozlabs.org/patch/767679/
> 

Slightly revised commit message. Applied to fsl-qoriq master. Thanks.

York
diff mbox

Patch

diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
index b7549a0..f14b1c8 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
+++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
@@ -197,7 +197,8 @@  config SYS_LS_PPA_ESBC_ADDR
 	default 0x60680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
 	default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
 	default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
-	default 0x580680000 if SYS_LS_PPA_FW_IN_XIP && FSL_LSCH3
+	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 0x680000 if SYS_LS_PPA_FW_IN_MMC
 	default 0x680000 if SYS_LS_PPA_FW_IN_NAND
 	help
diff --git a/arch/arm/include/asm/fsl_secure_boot.h b/arch/arm/include/asm/fsl_secure_boot.h
index 63845a2..ec6463d 100644
--- a/arch/arm/include/asm/fsl_secure_boot.h
+++ b/arch/arm/include/asm/fsl_secure_boot.h
@@ -72,8 +72,13 @@ 
  * DDR memory map
  */
 #ifdef CONFIG_FSL_LSCH3
+#ifdef CONFIG_QSPI_BOOT
+#define CONFIG_BS_ADDR_DEVICE		0x20600000
+#define CONFIG_BS_HDR_ADDR_DEVICE	0x20640000
+#else /* NOR BOOT */
 #define CONFIG_BS_ADDR_DEVICE		0x580600000
 #define CONFIG_BS_HDR_ADDR_DEVICE	0x580640000
+#endif /*ifdef CONFIG_QSPI_BOOT */
 #define CONFIG_BS_SIZE			0x00001000
 #define CONFIG_BS_HDR_SIZE		0x00004000
 #define CONFIG_BS_ADDR_RAM		0xa0600000
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index f36fb98..be4e8ee 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -226,15 +226,14 @@  int board_init(void)
 #endif
 	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
 	rtc_enable_32khz_output();
+#ifdef CONFIG_FSL_CAAM
+	sec_init();
+#endif
 
 #ifdef CONFIG_FSL_LS_PPA
 	ppa_init();
 #endif
 
-#ifdef CONFIG_FSL_CAAM
-	sec_init();
-#endif
-
 	return 0;
 }
 
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index df2d768..4c42c73 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -231,6 +231,10 @@  int board_init(void)
 #ifdef CONFIG_FSL_QIXIS
 	QIXIS_WRITE(rst_ctl, QIXIS_RST_CTL_RESET_EN);
 #endif
+
+#ifdef CONFIG_FSL_CAAM
+	sec_init();
+#endif
 #ifdef CONFIG_FSL_LS_PPA
 	ppa_init();
 #endif