xref: /rk3399_ARM-atf/bl1/tbbr/tbbr_img_desc.c (revision 53d703a5554991c0bc21951b6ddf2628e70467ba)
148bfb88eSYatharth Kochar /*
2843ddee4SYatharth Kochar  * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
348bfb88eSYatharth Kochar  *
448bfb88eSYatharth Kochar  * Redistribution and use in source and binary forms, with or without
548bfb88eSYatharth Kochar  * modification, are permitted provided that the following conditions are met:
648bfb88eSYatharth Kochar  *
748bfb88eSYatharth Kochar  * Redistributions of source code must retain the above copyright notice, this
848bfb88eSYatharth Kochar  * list of conditions and the following disclaimer.
948bfb88eSYatharth Kochar  *
1048bfb88eSYatharth Kochar  * Redistributions in binary form must reproduce the above copyright notice,
1148bfb88eSYatharth Kochar  * this list of conditions and the following disclaimer in the documentation
1248bfb88eSYatharth Kochar  * and/or other materials provided with the distribution.
1348bfb88eSYatharth Kochar  *
1448bfb88eSYatharth Kochar  * Neither the name of ARM nor the names of its contributors may be used
1548bfb88eSYatharth Kochar  * to endorse or promote products derived from this software without specific
1648bfb88eSYatharth Kochar  * prior written permission.
1748bfb88eSYatharth Kochar  *
1848bfb88eSYatharth Kochar  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1948bfb88eSYatharth Kochar  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2048bfb88eSYatharth Kochar  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2148bfb88eSYatharth Kochar  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
2248bfb88eSYatharth Kochar  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2348bfb88eSYatharth Kochar  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2448bfb88eSYatharth Kochar  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2548bfb88eSYatharth Kochar  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2648bfb88eSYatharth Kochar  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2748bfb88eSYatharth Kochar  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2848bfb88eSYatharth Kochar  * POSSIBILITY OF SUCH DAMAGE.
2948bfb88eSYatharth Kochar  */
3048bfb88eSYatharth Kochar 
3148bfb88eSYatharth Kochar #include <bl1.h>
3248bfb88eSYatharth Kochar #include <bl_common.h>
3348bfb88eSYatharth Kochar #include <platform_def.h>
3448bfb88eSYatharth Kochar 
3548bfb88eSYatharth Kochar image_desc_t bl1_tbbr_image_descs[] = {
3648bfb88eSYatharth Kochar     {
3748bfb88eSYatharth Kochar 	    .image_id = FWU_CERT_ID,
38843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
39843ddee4SYatharth Kochar 		    VERSION_1, image_info_t, 0),
4048bfb88eSYatharth Kochar 	    .image_info.image_base = BL2_BASE,
41*53d703a5SYatharth Kochar #if LOAD_IMAGE_V2
42*53d703a5SYatharth Kochar 	    .image_info.image_max_size = BL2_LIMIT - BL2_BASE,
43*53d703a5SYatharth Kochar #endif
44843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
45843ddee4SYatharth Kochar 		    VERSION_1, entry_point_info_t, SECURE),
4648bfb88eSYatharth Kochar     },
4748bfb88eSYatharth Kochar #if NS_BL1U_BASE
4848bfb88eSYatharth Kochar     {
4948bfb88eSYatharth Kochar 	    .image_id = NS_BL1U_IMAGE_ID,
50843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
51843ddee4SYatharth Kochar 		    VERSION_1, entry_point_info_t, NON_SECURE | EXECUTABLE),
5248bfb88eSYatharth Kochar 	    .ep_info.pc = NS_BL1U_BASE,
5348bfb88eSYatharth Kochar     },
5448bfb88eSYatharth Kochar #endif
5548bfb88eSYatharth Kochar #if SCP_BL2U_BASE
5648bfb88eSYatharth Kochar     {
5748bfb88eSYatharth Kochar 	    .image_id = SCP_BL2U_IMAGE_ID,
58843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
59843ddee4SYatharth Kochar 		    VERSION_1, image_info_t, 0),
6048bfb88eSYatharth Kochar 	    .image_info.image_base = SCP_BL2U_BASE,
61*53d703a5SYatharth Kochar #if LOAD_IMAGE_V2
62*53d703a5SYatharth Kochar 	    .image_info.image_max_size = SCP_BL2U_LIMIT - SCP_BL2U_BASE,
63*53d703a5SYatharth Kochar #endif
64843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
65843ddee4SYatharth Kochar 		    VERSION_1, entry_point_info_t, SECURE),
6648bfb88eSYatharth Kochar     },
6748bfb88eSYatharth Kochar #endif
6848bfb88eSYatharth Kochar #if BL2U_BASE
6948bfb88eSYatharth Kochar     {
7048bfb88eSYatharth Kochar 	    .image_id = BL2U_IMAGE_ID,
71843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
72843ddee4SYatharth Kochar 		    VERSION_1, image_info_t, 0),
7348bfb88eSYatharth Kochar 	    .image_info.image_base = BL2U_BASE,
74*53d703a5SYatharth Kochar #if LOAD_IMAGE_V2
75*53d703a5SYatharth Kochar 	    .image_info.image_max_size = BL2U_LIMIT - BL2U_BASE,
76*53d703a5SYatharth Kochar #endif
77843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
78843ddee4SYatharth Kochar 		    VERSION_1, entry_point_info_t, SECURE | EXECUTABLE),
7948bfb88eSYatharth Kochar 	    .ep_info.pc = BL2U_BASE,
8048bfb88eSYatharth Kochar     },
8148bfb88eSYatharth Kochar #endif
8248bfb88eSYatharth Kochar #if NS_BL2U_BASE
8348bfb88eSYatharth Kochar     {
8448bfb88eSYatharth Kochar 	    .image_id = NS_BL2U_IMAGE_ID,
85843ddee4SYatharth Kochar 	    SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
86843ddee4SYatharth Kochar 		    VERSION_1, entry_point_info_t, NON_SECURE),
8748bfb88eSYatharth Kochar     },
8848bfb88eSYatharth Kochar #endif
8948bfb88eSYatharth Kochar 	    BL2_IMAGE_DESC,
9048bfb88eSYatharth Kochar 
9148bfb88eSYatharth Kochar     {
9248bfb88eSYatharth Kochar 	    .image_id = INVALID_IMAGE_ID,
9348bfb88eSYatharth Kochar     }
9448bfb88eSYatharth Kochar };
95