xref: /arm-trusted-firmware/plat/marvell/armada/common/mss/mss_scp_bl2_format.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (C) 2018 Marvell International Ltd.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier:     BSD-3-Clause
5*91f16700Schasinglulu  * https://spdx.org/licenses
6*91f16700Schasinglulu  */
7*91f16700Schasinglulu 
8*91f16700Schasinglulu #ifndef MSS_SCP_BL2_FORMAT_H
9*91f16700Schasinglulu #define MSS_SCP_BL2_FORMAT_H
10*91f16700Schasinglulu 
11*91f16700Schasinglulu #define MAX_NR_OF_FILES	8
12*91f16700Schasinglulu #define FILE_MAGIC	0xddd01ff
13*91f16700Schasinglulu #define HEADER_VERSION	0x1
14*91f16700Schasinglulu 
15*91f16700Schasinglulu #define MSS_IDRAM_SIZE	0x10000 /* 64KB */
16*91f16700Schasinglulu #define MSS_SRAM_SIZE	0x8000 /* 32KB */
17*91f16700Schasinglulu 
18*91f16700Schasinglulu /* Types definitions */
19*91f16700Schasinglulu typedef struct file_header {
20*91f16700Schasinglulu 	/* Magic specific for concatenated file (used for validation) */
21*91f16700Schasinglulu 	uint32_t magic;
22*91f16700Schasinglulu 	uint32_t nr_of_imgs;	/* Number of images concatenated */
23*91f16700Schasinglulu } file_header_t;
24*91f16700Schasinglulu 
25*91f16700Schasinglulu /* Types definitions */
26*91f16700Schasinglulu enum cm3_t {
27*91f16700Schasinglulu 	MSS_AP,
28*91f16700Schasinglulu 	MSS_CP0,
29*91f16700Schasinglulu 	MSS_CP1,
30*91f16700Schasinglulu 	MSS_CP2,
31*91f16700Schasinglulu 	MSS_CP3,
32*91f16700Schasinglulu 	MG_CP0,
33*91f16700Schasinglulu 	MG_CP1,
34*91f16700Schasinglulu 	MG_CP2,
35*91f16700Schasinglulu };
36*91f16700Schasinglulu 
37*91f16700Schasinglulu typedef struct img_header {
38*91f16700Schasinglulu 	uint32_t type;		/* CM3 type, can be one of cm3_t */
39*91f16700Schasinglulu 	uint32_t length;	/* Image length */
40*91f16700Schasinglulu 	uint32_t version;	/* For sanity checks and future
41*91f16700Schasinglulu 				 * extended functionality
42*91f16700Schasinglulu 				 */
43*91f16700Schasinglulu } img_header_t;
44*91f16700Schasinglulu 
45*91f16700Schasinglulu #endif /* MSS_SCP_BL2_FORMAT_H */
46