diff --git a/plat/marvell/common/mss/mss_scp_bl2_format.h b/plat/marvell/common/mss/mss_scp_bl2_format.h index 7cf8d32..7150f0a 100644 --- a/plat/marvell/common/mss/mss_scp_bl2_format.h +++ b/plat/marvell/common/mss/mss_scp_bl2_format.h @@ -8,7 +8,7 @@ #ifndef MSS_SCP_BL2_FORMAT_H #define MSS_SCP_BL2_FORMAT_H -#define MAX_NR_OF_FILES 5 +#define MAX_NR_OF_FILES 8 #define FILE_MAGIC 0xddd01ff #define HEADER_VERSION 0x1 @@ -31,6 +31,7 @@ MSS_CP3, MG_CP0, MG_CP1, + MG_CP2, }; typedef struct img_header { diff --git a/plat/marvell/common/mss/mss_scp_bootloader.c b/plat/marvell/common/mss/mss_scp_bootloader.c index 2f1c46f..4473d81 100644 --- a/plat/marvell/common/mss/mss_scp_bootloader.c +++ b/plat/marvell/common/mss/mss_scp_bootloader.c @@ -250,7 +250,13 @@ break; case MG_CP0: case MG_CP1: + case MG_CP2: cp_index = cm3_type - MG_CP0; + if (bl2_plat_get_cp_count(0) <= cp_index) { + NOTICE("Skipping MG CP%d related image\n", + cp_index); + break; + } NOTICE("Load image to CP%d MG\n", cp_index); ret = mg_image_load(single_img, image_size, MG_CM3_SRAM_BASE(cp_index)); @@ -288,7 +294,7 @@ } if (file_hdr->nr_of_imgs > MAX_NR_OF_FILES) { - ERROR("SCP_BL2 concatenated image contains to many images\n"); + ERROR("SCP_BL2 concatenated image contains too many images\n"); return -1; }