xref: /rk3399_ARM-atf/bl1/tbbr/tbbr_img_desc.c (revision 51faada71a219a8b94cd8d8e423f0f22e9da4d8f)
1 /*
2  * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of ARM nor the names of its contributors may be used
15  * to endorse or promote products derived from this software without specific
16  * prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 #include <bl1.h>
32 #include <bl_common.h>
33 #include <platform_def.h>
34 
35 image_desc_t bl1_tbbr_image_descs[] = {
36     {
37 	    .image_id = FWU_CERT_ID,
38 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
39 		    VERSION_1, image_info_t, 0),
40 	    .image_info.image_base = BL2_BASE,
41 #if LOAD_IMAGE_V2
42 	    .image_info.image_max_size = BL2_LIMIT - BL2_BASE,
43 #endif
44 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
45 		    VERSION_1, entry_point_info_t, SECURE),
46     },
47 #if NS_BL1U_BASE
48     {
49 	    .image_id = NS_BL1U_IMAGE_ID,
50 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
51 		    VERSION_1, entry_point_info_t, NON_SECURE | EXECUTABLE),
52 	    .ep_info.pc = NS_BL1U_BASE,
53     },
54 #endif
55 #if SCP_BL2U_BASE
56     {
57 	    .image_id = SCP_BL2U_IMAGE_ID,
58 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
59 		    VERSION_1, image_info_t, 0),
60 	    .image_info.image_base = SCP_BL2U_BASE,
61 #if LOAD_IMAGE_V2
62 	    .image_info.image_max_size = SCP_BL2U_LIMIT - SCP_BL2U_BASE,
63 #endif
64 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
65 		    VERSION_1, entry_point_info_t, SECURE),
66     },
67 #endif
68 #if BL2U_BASE
69     {
70 	    .image_id = BL2U_IMAGE_ID,
71 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
72 		    VERSION_1, image_info_t, 0),
73 	    .image_info.image_base = BL2U_BASE,
74 #if LOAD_IMAGE_V2
75 	    .image_info.image_max_size = BL2U_LIMIT - BL2U_BASE,
76 #endif
77 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
78 		    VERSION_1, entry_point_info_t, SECURE | EXECUTABLE),
79 	    .ep_info.pc = BL2U_BASE,
80     },
81 #endif
82 #if NS_BL2U_BASE
83     {
84 	    .image_id = NS_BL2U_IMAGE_ID,
85 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
86 		    VERSION_1, entry_point_info_t, NON_SECURE),
87     },
88 #endif
89 	    BL2_IMAGE_DESC,
90 
91     {
92 	    .image_id = INVALID_IMAGE_ID,
93     }
94 };
95