mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-17 22:28:17 +01:00
Secure Boot Target is added for NAND for P3041. For mpc85xx SoCs, the core begins execution from address 0xFFFFFFFC. In case of secure boot, this default address maps to Boot ROM. The Boot ROM code requires that the bootloader(U-boot) must lie in 0 to 3.5G address space i.e. 0x0 - 0xDFFFFFFF. In case of NAND Secure Boot, CONFIG_SYS_RAMBOOT is enabled and CPC is configured as SRAM. U-Boot binary will be located on SRAM configured at address 0xBFF00000. In the U-Boot code, TLB entries are created to map the virtual address 0xFFF00000 to physical address 0xBFF00000 of CPC configured as SRAM. Signed-off-by: Saksham Jain <saksham@freescale.com> Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com> Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
98 lines
2.4 KiB
C
98 lines
2.4 KiB
C
/*
|
|
* Copyright 2010-2011 Freescale Semiconductor, Inc.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __FSL_SECURE_BOOT_H
|
|
#define __FSL_SECURE_BOOT_H
|
|
#include <asm/config_mpc85xx.h>
|
|
|
|
#ifdef CONFIG_SECURE_BOOT
|
|
#define CONFIG_CMD_ESBC_VALIDATE
|
|
#define CONFIG_FSL_SEC_MON
|
|
#define CONFIG_SHA_PROG_HW_ACCEL
|
|
#define CONFIG_DM
|
|
#define CONFIG_RSA
|
|
#define CONFIG_RSA_FREESCALE_EXP
|
|
#ifndef CONFIG_FSL_CAAM
|
|
#define CONFIG_FSL_CAAM
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_SECURE_BOOT
|
|
#if defined(CONFIG_FSL_CORENET)
|
|
#define CONFIG_SYS_PBI_FLASH_BASE 0xc0000000
|
|
#elif defined(CONFIG_BSC9132QDS)
|
|
#define CONFIG_SYS_PBI_FLASH_BASE 0xc8000000
|
|
#elif defined(CONFIG_C29XPCIE)
|
|
#define CONFIG_SYS_PBI_FLASH_BASE 0xcc000000
|
|
#else
|
|
#define CONFIG_SYS_PBI_FLASH_BASE 0xce000000
|
|
#endif
|
|
#define CONFIG_SYS_PBI_FLASH_WINDOW 0xcff80000
|
|
|
|
#if defined(CONFIG_B4860QDS) || \
|
|
defined(CONFIG_T4240QDS) || \
|
|
defined(CONFIG_T2080QDS) || \
|
|
defined(CONFIG_T2080RDB) || \
|
|
defined(CONFIG_T1040QDS) || \
|
|
defined(CONFIG_T104xD4QDS) || \
|
|
defined(CONFIG_T104xRDB) || \
|
|
defined(CONFIG_T104xD4RDB) || \
|
|
defined(CONFIG_PPC_T1023) || \
|
|
defined(CONFIG_PPC_T1024)
|
|
#define CONFIG_SYS_CPC_REINIT_F
|
|
#define CONFIG_KEY_REVOCATION
|
|
#undef CONFIG_SYS_INIT_L3_ADDR
|
|
#define CONFIG_SYS_INIT_L3_ADDR 0xbff00000
|
|
#endif
|
|
|
|
#if defined(CONFIG_RAMBOOT_PBL)
|
|
#undef CONFIG_SYS_INIT_L3_ADDR
|
|
#define CONFIG_SYS_INIT_L3_ADDR 0xbff00000
|
|
#endif
|
|
|
|
#if defined(CONFIG_C29XPCIE)
|
|
#define CONFIG_KEY_REVOCATION
|
|
#endif
|
|
|
|
#if defined(CONFIG_PPC_P3041) || \
|
|
defined(CONFIG_PPC_P4080) || \
|
|
defined(CONFIG_PPC_P5020) || \
|
|
defined(CONFIG_PPC_P5040) || \
|
|
defined(CONFIG_PPC_P2041)
|
|
#define CONFIG_FSL_TRUST_ARCH_v1
|
|
#endif
|
|
|
|
#if defined(CONFIG_FSL_CORENET)
|
|
/* The key used for verification of next level images
|
|
* is picked up from an Extension Table which has
|
|
* been verified by the ISBC (Internal Secure boot Code)
|
|
* in boot ROM of the SoC
|
|
*/
|
|
#define CONFIG_FSL_ISBC_KEY_EXT
|
|
#endif
|
|
|
|
#ifndef CONFIG_FIT_SIGNATURE
|
|
/* The bootscript header address is different for B4860 because the NOR
|
|
* mapping is different on B4 due to reduced NOR size.
|
|
*/
|
|
#if defined(CONFIG_B4860QDS)
|
|
#define CONFIG_BOOTSCRIPT_HDR_ADDR 0xecc00000
|
|
#elif defined(CONFIG_FSL_CORENET)
|
|
#define CONFIG_BOOTSCRIPT_HDR_ADDR 0xe8e00000
|
|
#elif defined(CONFIG_BSC9132QDS)
|
|
#define CONFIG_BOOTSCRIPT_HDR_ADDR 0x88020000
|
|
#elif defined(CONFIG_C29XPCIE)
|
|
#define CONFIG_BOOTSCRIPT_HDR_ADDR 0xec020000
|
|
#else
|
|
#define CONFIG_BOOTSCRIPT_HDR_ADDR 0xee020000
|
|
#endif
|
|
|
|
#include <config_fsl_secboot.h>
|
|
#endif
|
|
|
|
#endif
|
|
#endif
|