File tree Expand file tree Collapse file tree 8 files changed +21
-0
lines changed
arch/arm/cortex_m/scripts Expand file tree Collapse file tree 8 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 55#
66
77zephyr_compile_definitions_ifdef(CONFIG_NXP_IMX_RT_BOOT_HEADER XIP_BOOT_HEADER_ENABLE=1)
8+ zephyr_compile_definitions_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA XIP_BOOT_HEADER_DCD_ENABLE=1)
89
910zephyr_sources_ifdef(CONFIG_BOOT_FLEXSPI_NOR evkbimxrt1050_flexspi_nor_config.c)
11+ zephyr_sources_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA evkbimxrt1050_sdram_ini_dcd.c)
Original file line number Diff line number Diff line change 55#
66
77zephyr_compile_definitions_ifdef(CONFIG_NXP_IMX_RT_BOOT_HEADER XIP_BOOT_HEADER_ENABLE=1)
8+ zephyr_compile_definitions_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA XIP_BOOT_HEADER_DCD_ENABLE=1)
89
910zephyr_sources_ifdef(CONFIG_BOOT_FLEXSPI_NOR evkmimxrt1020_flexspi_nor_config.c)
11+ zephyr_sources_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA evkmimxrt1020_sdram_ini_dcd.c)
Original file line number Diff line number Diff line change 55#
66
77zephyr_compile_definitions_ifdef(CONFIG_NXP_IMX_RT_BOOT_HEADER XIP_BOOT_HEADER_ENABLE=1)
8+ zephyr_compile_definitions_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA XIP_BOOT_HEADER_DCD_ENABLE=1)
89
910zephyr_sources_ifdef(CONFIG_BOOT_FLEXSPI_NOR evkmimxrt1060_flexspi_nor_config.c)
11+ zephyr_sources_ifdef(CONFIG_DEVICE_CONFIGURATION_DATA evkmimxrt1060_sdram_ini_dcd.c)
Original file line number Diff line number Diff line change @@ -141,6 +141,9 @@ SECTIONS
141141 . = CONFIG_IMAGE_VECTOR_TABLE_OFFSET;
142142 KEEP (*(.boot_hdr .ivt ))
143143 KEEP (*(.boot_hdr .data ))
144+ #ifdef CONFIG_DEVICE_CONFIGURATION_DATA
145+ KEEP (*(.boot_hdr .dcd_data ))
146+ #endif
144147#endif
145148
146149 . = CONFIG_TEXT_SECTION_OFFSET;
Original file line number Diff line number Diff line change 2626#define __imx_boot_conf_section _GENERIC_SECTION(IMX_BOOT_CONF)
2727#define __imx_boot_data_section _GENERIC_SECTION(IMX_BOOT_DATA)
2828#define __imx_boot_ivt_section _GENERIC_SECTION(IMX_BOOT_IVT)
29+ #define __imx_boot_dcd_section _GENERIC_SECTION(IMX_BOOT_DCD)
2930#endif /* CONFIG_ARM */
3031
3132#if defined(CONFIG_NOCACHE_MEMORY )
Original file line number Diff line number Diff line change 6161#define IMX_BOOT_CONF .boot_hdr.conf
6262#define IMX_BOOT_DATA .boot_hdr.data
6363#define IMX_BOOT_IVT .boot_hdr.ivt
64+ #define IMX_BOOT_DCD .boot_hdr.dcd_data
6465
6566#ifdef CONFIG_NOCACHE_MEMORY
6667#define _NOCACHE_SECTION_NAME nocache
Original file line number Diff line number Diff line change @@ -187,6 +187,12 @@ config IMAGE_VECTOR_TABLE_OFFSET
187187 the application entry point and device configuration data. The boot
188188 ROM reqiures a fixed IVT offset for each type of boot device.
189189
190+ config DEVICE_CONFIGURATION_DATA
191+ bool "Enable device configuration data"
192+ help
193+ Device configuration data (DCD) provides a sequence of commmands to
194+ the boot ROM to initialize components such as an SDRAM.
195+
190196endif # NXP_IMX_RT_BOOT_HEADER
191197
192198endif # SOC_SERIES_IMX_RT
Original file line number Diff line number Diff line change @@ -60,7 +60,11 @@ const __imx_boot_ivt_section ivt image_vector_table = {
6060 .hdr = IVT_HEADER ,
6161 .entry = CONFIG_FLASH_BASE_ADDRESS + CONFIG_TEXT_SECTION_OFFSET ,
6262 .reserved1 = IVT_RSVD ,
63+ #ifdef CONFIG_DEVICE_CONFIGURATION_DATA
64+ .dcd = (uint32_t ) dcd_data ,
65+ #else
6366 .dcd = (uint32_t ) NULL ,
67+ #endif
6468 .boot_data = (uint32_t ) & boot_data ,
6569 .self = (uint32_t ) & image_vector_table ,
6670 .csf = (uint32_t )CSF_ADDRESS ,
You can’t perform that action at this time.
0 commit comments