From 561cd33eceaff56a1c6cabe5a3e6e03e21e9dc9a Mon Sep 17 00:00:00 2001 From: Harry Liebel Date: Fri, 14 Feb 2014 14:42:48 +0000 Subject: Add Firmware Image Package (FIP) driver The Firmware Image Package (FIP) driver allows for data to be loaded from a FIP on platform storage. The FVP supports loading bootloader images from a FIP located in NOR FLASH. The implemented FVP policy states that bootloader images will be loaded from a FIP in NOR FLASH if available and fall back to loading individual images from semi-hosting. NOTE: - BL3-3(e.g. UEFI) is loaded into DRAM and needs to be configured to run from the BL33_BASE address. This is currently set to DRAM_BASE+128MB for the FVP. Change-Id: I2e4821748e3376b5f9e467cf3ec09509e43579a0 --- plat/fvp/platform.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'plat/fvp/platform.h') diff --git a/plat/fvp/platform.h b/plat/fvp/platform.h index ece882f1..a12a0948 100644 --- a/plat/fvp/platform.h +++ b/plat/fvp/platform.h @@ -50,9 +50,19 @@ #define PLATFORM_STACK_SIZE 0x800 #define FIRMWARE_WELCOME_STR "Booting trusted firmware boot loader stage 1\n\r" + +/* Trusted Boot Firmware BL2 */ #define BL2_IMAGE_NAME "bl2.bin" -#define BL31_IMAGE_NAME "bl31.bin" -#define NS_IMAGE_OFFSET FLASH0_BASE +/* EL3 Runtime Firmware BL31 */ +#define BL31_IMAGE_NAME "bl31.bin" +/* Secure Payload BL32 (Trusted OS) */ +#define BL32_IMAGE_NAME "bl32.bin" +/* Non-Trusted Firmware BL33 and its load address */ +#define BL33_IMAGE_NAME "bl33.bin" /* e.g. UEFI */ +#define NS_IMAGE_OFFSET (DRAM_BASE + 0x8000000) /* DRAM + 128MB */ +/* Firmware Image Package */ +#define FIP_IMAGE_NAME "fip.bin" + #define PLATFORM_CACHE_LINE_SIZE 64 #define PLATFORM_CLUSTER_COUNT 2ull @@ -62,7 +72,7 @@ PLATFORM_CLUSTER0_CORE_COUNT) #define PLATFORM_MAX_CPUS_PER_CLUSTER 4 #define PRIMARY_CPU 0x0 -#define MAX_IO_DEVICES 1 +#define MAX_IO_DEVICES 3 #define MAX_IO_HANDLES 4 /* Constants for accessing platform configuration */ @@ -215,7 +225,7 @@ /******************************************************************************* * BL2 specific defines. ******************************************************************************/ -#define BL2_BASE 0x0402C000 +#define BL2_BASE 0x0402B000 /******************************************************************************* * BL31 specific defines. -- cgit