1 /*
2  * Copyright 2017-2020 NXP
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #include "fsl_flexspi_nor_boot.h"
9 
10 /* Component ID definition, used by tools. */
11 #ifndef FSL_COMPONENT_ID
12 #define FSL_COMPONENT_ID "platform.drivers.xip_device"
13 #endif
14 
15 #if defined(XIP_BOOT_HEADER_ENABLE) && (XIP_BOOT_HEADER_ENABLE == 1)
16 #if defined(__CC_ARM) || defined(__ARMCC_VERSION) || defined(__GNUC__)
17 __attribute__((section(".boot_hdr.ivt"), used))
18 #elif defined(__ICCARM__)
19 #pragma location = ".boot_hdr.ivt"
20 #endif
21 /*************************************
22  *  IVT Data
23  *************************************/
24 const ivt image_vector_table = {
25     IVT_HEADER,                    /* IVT Header */
26     IMAGE_ENTRY_ADDRESS,           /* Image Entry Function */
27     IVT_RSVD,                      /* Reserved = 0 */
28     (uint32_t)DCD_ADDRESS,         /* Address where DCD information is stored */
29     (uint32_t)BOOT_DATA_ADDRESS,   /* Address where BOOT Data Structure is stored */
30     (uint32_t)&image_vector_table, /* Pointer to IVT Self (absolute address */
31     (uint32_t)CSF_ADDRESS,         /* Address where CSF file is stored */
32     IVT_RSVD                       /* Reserved = 0 */
33 };
34 
35 #if defined(__CC_ARM) || defined(__ARMCC_VERSION) || defined(__GNUC__)
36 __attribute__((section(".boot_hdr.boot_data"), used))
37 #elif defined(__ICCARM__)
38 #pragma location = ".boot_hdr.boot_data"
39 #endif
40 /*************************************
41  *  Boot Data
42  *************************************/
43 const BOOT_DATA_T g_boot_data = {
44     FLASH_BASE,  /* boot start location */
45     FLASH_SIZE,  /* size */
46     PLUGIN_FLAG, /* Plugin flag*/
47     0xFFFFFFFFU  /* empty - extra data word */
48 };
49 #endif
50