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