summaryrefslogtreecommitdiffstats
path: root/spec/build/bsps/arm/imxrt
diff options
context:
space:
mode:
authorChristian Mauderer <christian.mauderer@embedded-brains.de>2020-10-09 15:55:35 +0200
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2020-11-20 08:53:19 +0100
commit7141afbb0ea41675ef8cf7e60f398aaf900defd9 (patch)
tree2fc6f2dea76d79dc756d47ef3047153e77db9bcb /spec/build/bsps/arm/imxrt
parentbsp/imxrt: Adapt imported files (diff)
downloadrtems-7141afbb0ea41675ef8cf7e60f398aaf900defd9.tar.bz2
bsp/imxrt: Add new BSP
Update #4180
Diffstat (limited to 'spec/build/bsps/arm/imxrt')
-rw-r--r--spec/build/bsps/arm/imxrt/abi.yml20
-rw-r--r--spec/build/bsps/arm/imxrt/bspimxrt.yml250
-rw-r--r--spec/build/bsps/arm/imxrt/linkcmds.yml11
-rw-r--r--spec/build/bsps/arm/imxrt/linkcmdsmemory.yml67
-rw-r--r--spec/build/bsps/arm/imxrt/optlinkcmds.yml16
-rw-r--r--spec/build/bsps/arm/imxrt/optmemflashcfgsz.yml19
-rw-r--r--spec/build/bsps/arm/imxrt/optmemflashivtsz.yml18
-rw-r--r--spec/build/bsps/arm/imxrt/optmemflexspisz.yml17
-rw-r--r--spec/build/bsps/arm/imxrt/optmemnullsz.yml17
-rw-r--r--spec/build/bsps/arm/imxrt/optmemsdrambase.yml16
-rw-r--r--spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml16
-rw-r--r--spec/build/bsps/arm/imxrt/optmemsdramsz.yml16
12 files changed, 483 insertions, 0 deletions
diff --git a/spec/build/bsps/arm/imxrt/abi.yml b/spec/build/bsps/arm/imxrt/abi.yml
new file mode 100644
index 0000000000..7a95742c36
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/abi.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-string: null
+- split: null
+- env-append: null
+build-type: option
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+default:
+- -mthumb
+- -mcpu=cortex-m7
+- -mfpu=fpv5-d16
+- -mfloat-abi=hard
+default-by-variant: []
+description: |
+ ABI flags
+enabled-by: true
+links: []
+name: ABI_FLAGS
+type: build
diff --git a/spec/build/bsps/arm/imxrt/bspimxrt.yml b/spec/build/bsps/arm/imxrt/bspimxrt.yml
new file mode 100644
index 0000000000..67161ba11f
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/bspimxrt.yml
@@ -0,0 +1,250 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+arch: arm
+bsp: imxrt1052
+build-type: bsp
+cflags: []
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+cppflags: []
+enabled-by: true
+family: imxrt
+includes:
+ - bsps/arm/shared/include
+install:
+- destination: ${BSP_INCLUDEDIR}
+ source:
+ - bsps/arm/imxrt/include/bsp.h
+ - bsps/arm/imxrt/include/chip.h
+ - bsps/arm/imxrt/include/fsl_adc_etc.h
+ - bsps/arm/imxrt/include/fsl_adc.h
+ - bsps/arm/imxrt/include/fsl_aipstz.h
+ - bsps/arm/imxrt/include/fsl_aoi.h
+ - bsps/arm/imxrt/include/fsl_bee.h
+ - bsps/arm/imxrt/include/fsl_cache.h
+ - bsps/arm/imxrt/include/fsl_clock.h
+ - bsps/arm/imxrt/include/fsl_clock_config.h
+ - bsps/arm/imxrt/include/fsl_cmp.h
+ - bsps/arm/imxrt/include/fsl_common.h
+ - bsps/arm/imxrt/include/fsl_csi.h
+ - bsps/arm/imxrt/include/fsl_dcdc.h
+ - bsps/arm/imxrt/include/fsl_dcp.h
+ - bsps/arm/imxrt/include/fsl_device_registers.h
+ - bsps/arm/imxrt/include/fsl_dmamux.h
+ - bsps/arm/imxrt/include/fsl_edma.h
+ - bsps/arm/imxrt/include/fsl_elcdif.h
+ - bsps/arm/imxrt/include/fsl_enc.h
+ - bsps/arm/imxrt/include/fsl_enet.h
+ - bsps/arm/imxrt/include/fsl_ewm.h
+ - bsps/arm/imxrt/include/fsl_flexcan.h
+ - bsps/arm/imxrt/include/fsl_flexio_camera_edma.h
+ - bsps/arm/imxrt/include/fsl_flexio_camera.h
+ - bsps/arm/imxrt/include/fsl_flexio.h
+ - bsps/arm/imxrt/include/fsl_flexio_i2c_master.h
+ - bsps/arm/imxrt/include/fsl_flexio_i2s_edma.h
+ - bsps/arm/imxrt/include/fsl_flexio_i2s.h
+ - bsps/arm/imxrt/include/fsl_flexio_mculcd_edma.h
+ - bsps/arm/imxrt/include/fsl_flexio_mculcd.h
+ - bsps/arm/imxrt/include/fsl_flexio_spi_edma.h
+ - bsps/arm/imxrt/include/fsl_flexio_spi.h
+ - bsps/arm/imxrt/include/fsl_flexio_uart_edma.h
+ - bsps/arm/imxrt/include/fsl_flexio_uart.h
+ - bsps/arm/imxrt/include/fsl_flexram_allocate.h
+ - bsps/arm/imxrt/include/fsl_flexram.h
+ - bsps/arm/imxrt/include/fsl_flexspi.h
+ - bsps/arm/imxrt/include/fsl_flexspi_nor_boot.h
+ - bsps/arm/imxrt/include/fsl_gpc.h
+ - bsps/arm/imxrt/include/fsl_gpio.h
+ - bsps/arm/imxrt/include/fsl_gpt.h
+ - bsps/arm/imxrt/include/fsl_iomuxc.h
+ - bsps/arm/imxrt/include/fsl_kpp.h
+ - bsps/arm/imxrt/include/fsl_lpi2c_edma.h
+ - bsps/arm/imxrt/include/fsl_lpi2c.h
+ - bsps/arm/imxrt/include/fsl_lpspi_edma.h
+ - bsps/arm/imxrt/include/fsl_lpspi.h
+ - bsps/arm/imxrt/include/fsl_lpuart_edma.h
+ - bsps/arm/imxrt/include/fsl_lpuart.h
+ - bsps/arm/imxrt/include/fsl_ocotp.h
+ - bsps/arm/imxrt/include/fsl_pin_mux.h
+ - bsps/arm/imxrt/include/fsl_pit.h
+ - bsps/arm/imxrt/include/fsl_pmu.h
+ - bsps/arm/imxrt/include/fsl_pwm.h
+ - bsps/arm/imxrt/include/fsl_pxp.h
+ - bsps/arm/imxrt/include/fsl_qtmr.h
+ - bsps/arm/imxrt/include/fsl_rtwdog.h
+ - bsps/arm/imxrt/include/fsl_sai_edma.h
+ - bsps/arm/imxrt/include/fsl_sai.h
+ - bsps/arm/imxrt/include/fsl_semc.h
+ - bsps/arm/imxrt/include/fsl_snvs_hp.h
+ - bsps/arm/imxrt/include/fsl_snvs_lp.h
+ - bsps/arm/imxrt/include/fsl_spdif_edma.h
+ - bsps/arm/imxrt/include/fsl_spdif.h
+ - bsps/arm/imxrt/include/fsl_src.h
+ - bsps/arm/imxrt/include/fsl_tempmon.h
+ - bsps/arm/imxrt/include/fsl_trng.h
+ - bsps/arm/imxrt/include/fsl_tsc.h
+ - bsps/arm/imxrt/include/fsl_usdhc.h
+ - bsps/arm/imxrt/include/fsl_wdog.h
+ - bsps/arm/imxrt/include/fsl_xbara.h
+ - bsps/arm/imxrt/include/fsl_xbarb.h
+ - bsps/arm/imxrt/include/MIMXRT1052_features.h
+ - bsps/arm/imxrt/include/MIMXRT1052.h
+ - bsps/arm/imxrt/include/system_MIMXRT1052.h
+ - bsps/arm/imxrt/include/tm27.h
+- destination: ${BSP_INCLUDEDIR}/arm/freescale/imx
+ source:
+ - bsps/arm/shared/include/arm/freescale/imx/imx_iomuxreg.h
+ - bsps/arm/shared/include/arm/freescale/imx/imx_iomuxvar.h
+- destination: ${BSP_INCLUDEDIR}/bsp
+ source:
+ - bsps/arm/imxrt/include/bsp/flash-headers.h
+ - bsps/arm/imxrt/include/bsp/irq.h
+ - bsps/arm/shared/include/bsp/imx-gpio.h
+ - bsps/arm/shared/include/bsp/imx-iomux.h
+- destination: ${BSP_INCLUDEDIR}/imxrt
+ source:
+ - bsps/arm/imxrt/include/imxrt/imxrt1050-pinfunc.h
+ - bsps/arm/imxrt/include/imxrt/memory.h
+ - bsps/arm/imxrt/include/imxrt/mpu-config.h
+- destination: ${BSP_LIBDIR}
+ source:
+ - bsps/arm/imxrt/start/linkcmds.flexspi
+ - bsps/arm/imxrt/start/linkcmds.sdram
+links:
+- role: build-dependency
+ uid: ../grp
+- role: build-dependency
+ uid: abi
+- role: build-dependency
+ uid: ../../optconsolebaud
+- role: build-dependency
+ uid: ../../optconsoleirq
+- role: build-dependency
+ uid: optlinkcmds
+- role: build-dependency
+ uid: optmemflashcfgsz
+- role: build-dependency
+ uid: optmemflashivtsz
+- role: build-dependency
+ uid: optmemflexspisz
+- role: build-dependency
+ uid: optmemnullsz
+- role: build-dependency
+ uid: optmemsdrambase
+- role: build-dependency
+ uid: optmemsdramsz
+- role: build-dependency
+ uid: optmemsdramnocachesz
+- role: build-dependency
+ uid: ../start
+- role: build-dependency
+ uid: ../../obj
+- role: build-dependency
+ uid: ../../objirq
+- role: build-dependency
+ uid: ../../opto2
+- role: build-dependency
+ uid: linkcmds
+- role: build-dependency
+ uid: linkcmdsmemory
+- role: build-dependency
+ uid: ../../bspopts
+source:
+- bsps/arm/imxrt/console/console.c
+- bsps/arm/imxrt/dts/imxrt1050-evkb.c
+- bsps/arm/imxrt/i2c/imxrt-lpi2c.c
+- bsps/arm/imxrt/nxp/boards/evkbimxrt1050/clock_config.c
+- bsps/arm/imxrt/nxp/boards/evkbimxrt1050/pin_mux.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_adc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_adc_etc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_aipstz.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_aoi.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_bee.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_cache.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_clock.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_cmp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_common.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_csi.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_dcdc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_dcp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_dmamux.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_elcdif.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_enc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_enet.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_ewm.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexcan.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_camera.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_camera_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_i2c_master.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_i2s.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_i2s_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_mculcd.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_mculcd_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_spi.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_spi_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_uart.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexio_uart_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexram_allocate.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexram.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_flexspi.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_gpc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_gpio.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_gpt.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_kpp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpi2c.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpi2c_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpspi.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpspi_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpuart.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_lpuart_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_ocotp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_pit.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_pmu.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_pwm.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_pxp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_rtwdog.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_sai.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_sai_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_semc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_snvs_hp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_snvs_lp.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_spdif.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_spdif_edma.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_src.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_tempmon.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_trng.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_tsc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_usdhc.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_wdog.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_xbara.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_xbarb.c
+- bsps/arm/imxrt/nxp/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.c
+- bsps/arm/imxrt/spi/imxrt-lpspi.c
+- bsps/arm/imxrt/start/bspstart.c
+- bsps/arm/imxrt/start/bspstarthooks.c
+- bsps/arm/imxrt/start/flash-boot-data.c
+- bsps/arm/imxrt/start/flash-config.c
+- bsps/arm/imxrt/start/flash-dcd.c
+- bsps/arm/imxrt/start/flash-ivt.c
+- bsps/arm/imxrt/start/imxrt-ffec-init.c
+- bsps/arm/imxrt/start/mpu-config.c
+- bsps/arm/shared/cache/cache-v7m.c
+- bsps/arm/shared/clock/clock-armv7m.c
+- bsps/arm/shared/cpucounter/cpucounter-armv7m.c
+- bsps/arm/shared/irq/irq-armv7m.c
+- bsps/arm/shared/irq/irq-dispatch-armv7m.c
+- bsps/arm/shared/pins/imx-gpio.c
+- bsps/arm/shared/pins/imx_iomux.c
+- bsps/arm/shared/start/bsp-start-memcpy.S
+- bsps/arm/shared/start/bspreset-armv7m.c
+- bsps/shared/dev/btimer/btimer-stub.c
+- bsps/shared/dev/getentropy/getentropy-cpucounter.c
+- bsps/shared/dev/serial/console-termios.c
+- bsps/shared/irq/irq-default-handler.c
+- bsps/shared/start/bspfatal-default.c
+- bsps/shared/start/bspgetworkarea-default.c
+- bsps/shared/start/sbrk.c
+- bsps/shared/start/stackalloc.c
+type: build
diff --git a/spec/build/bsps/arm/imxrt/linkcmds.yml b/spec/build/bsps/arm/imxrt/linkcmds.yml
new file mode 100644
index 0000000000..3e57b9fd7c
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/linkcmds.yml
@@ -0,0 +1,11 @@
+build-type: config-file
+content: |
+ INCLUDE ${IMXRT_DEFAULT_LINKCMDS}
+enabled-by: true
+install-path: ${BSP_LIBDIR}
+links: []
+target: linkcmds
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml b/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml
new file mode 100644
index 0000000000..86dc37c3bd
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml
@@ -0,0 +1,67 @@
+build-type: config-file
+content: |
+ MEMORY {
+ NULL : ORIGIN = 0x00000000, LENGTH = ${IMXRT_MEMORY_NULL_SIZE:#010x}
+ ITCM : ORIGIN = ${IMXRT_MEMORY_NULL_SIZE:#010x}, LENGTH = 512k - ${IMXRT_MEMORY_NULL_SIZE:#010x}
+ DTCM : ORIGIN = 0x20000000, LENGTH = 512k
+ OCRAM : ORIGIN = 0x20200000, LENGTH = 512k
+ PERIPHERAL : ORIGIN = 0x40000000, LENGTH = 0x20000000
+ FLEXSPI_CONFIG : ORIGIN = 0x60000000, LENGTH = ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}
+ FLEXSPI_IVT : ORIGIN = 0x60000000 + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
+ FLEXSPI : ORIGIN = 0x60000000 + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} + ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLEXSPI_FLASH_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}
+ FLEXSPI_FIFO : ORIGIN = 0x7F800000, LENGTH = 8M
+ SDRAM : ORIGIN = ${IMXRT_MEMORY_SDRAM_BASE:#010x}, LENGTH = ${IMXRT_MEMORY_SDRAM_SIZE:#010x} - ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}
+ SDRAM_NOCACHE : ORIGIN = ${IMXRT_MEMORY_SDRAM_BASE:#010x} + ${IMXRT_MEMORY_SDRAM_SIZE:#010x} - ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_SDRAM_NOCACHE_SIZE:#010x}
+ }
+
+ imxrt_memory_null_begin = ORIGIN (NULL);
+ imxrt_memory_null_end = ORIGIN (NULL) + LENGTH (NULL);
+ imxrt_memory_null_size = LENGTH (NULL);
+
+ imxrt_memory_itcm_begin = ORIGIN (ITCM);
+ imxrt_memory_itcm_end = ORIGIN (ITCM) + LENGTH (ITCM);
+ imxrt_memory_itcm_size = LENGTH (ITCM);
+
+ imxrt_memory_dtcm_begin = ORIGIN (DTCM);
+ imxrt_memory_dtcm_end = ORIGIN (DTCM) + LENGTH (DTCM);
+ imxrt_memory_dtcm_size = LENGTH (DTCM);
+
+ imxrt_memory_ocram_begin = ORIGIN (OCRAM);
+ imxrt_memory_ocram_end = ORIGIN (OCRAM) + LENGTH (OCRAM);
+ imxrt_memory_ocram_size = LENGTH (OCRAM);
+
+ imxrt_memory_peripheral_begin = ORIGIN (PERIPHERAL);
+ imxrt_memory_peripheral_end = ORIGIN (PERIPHERAL) + LENGTH (PERIPHERAL);
+ imxrt_memory_peripheral_size = LENGTH (PERIPHERAL);
+
+ imxrt_memory_flexspi_config_begin = ORIGIN (FLEXSPI_CONFIG);
+ imxrt_memory_flexspi_config_end = ORIGIN (FLEXSPI_CONFIG) + LENGTH (FLEXSPI_CONFIG);
+ imxrt_memory_flexspi_config_size = LENGTH (FLEXSPI_CONFIG);
+
+ imxrt_memory_flexspi_ivt_begin = ORIGIN (FLEXSPI_IVT);
+ imxrt_memory_flexspi_ivt_end = ORIGIN (FLEXSPI_IVT) + LENGTH (FLEXSPI_IVT);
+ imxrt_memory_flexspi_ivt_size = LENGTH (FLEXSPI_IVT);
+
+ imxrt_memory_flexspi_begin = ORIGIN (FLEXSPI);
+ imxrt_memory_flexspi_end = ORIGIN (FLEXSPI) + LENGTH (FLEXSPI);
+ imxrt_memory_flexspi_size = LENGTH (FLEXSPI);
+
+ imxrt_memory_flexspi_fifo_begin = ORIGIN (FLEXSPI_FIFO);
+ imxrt_memory_flexspi_fifo_end = ORIGIN (FLEXSPI_FIFO) + LENGTH (FLEXSPI_FIFO);
+ imxrt_memory_flexspi_fifo_size = LENGTH (FLEXSPI_FIFO);
+
+ imxrt_memory_sdram_begin = ORIGIN (SDRAM);
+ imxrt_memory_sdram_end = ORIGIN (SDRAM) + LENGTH (SDRAM);
+ imxrt_memory_sdram_size = LENGTH (SDRAM);
+
+ imxrt_memory_sdram_nocache_begin = ORIGIN (SDRAM_NOCACHE);
+ imxrt_memory_sdram_nocache_end = ORIGIN (SDRAM_NOCACHE) + LENGTH (SDRAM_NOCACHE);
+ imxrt_memory_sdram_nocache_size = LENGTH (SDRAM_NOCACHE);
+enabled-by: true
+install-path: ${BSP_LIBDIR}
+links: []
+target: linkcmds.memory
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optlinkcmds.yml b/spec/build/bsps/arm/imxrt/optlinkcmds.yml
new file mode 100644
index 0000000000..ba20c3838f
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optlinkcmds.yml
@@ -0,0 +1,16 @@
+actions:
+- get-string: null
+- env-assign: null
+build-type: option
+default: linkcmds.flexspi
+default-by-variant: []
+enabled-by: true
+format: '{}'
+links: []
+name: IMXRT_DEFAULT_LINKCMDS
+description: |
+ The default linker command file. Must be linkcmds.sdram or linkcmds.flexspi.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemflashcfgsz.yml b/spec/build/bsps/arm/imxrt/optmemflashcfgsz.yml
new file mode 100644
index 0000000000..cd65a7a442
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemflashcfgsz.yml
@@ -0,0 +1,19 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 0x1000
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_FLASH_CFG_SIZE
+description: |
+ Size of the flash configuration area at the start of the FlexSPI / SEMC flash
+ in bytes. Either 4 KByte for FlexSPI NOR / SEMC NOR or 1 Kbyte for most other.
+ Take a look at the i.MX RT1050 Processor Reference Manual chapter 9.7 "Program
+ image" for details.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemflashivtsz.yml b/spec/build/bsps/arm/imxrt/optmemflashivtsz.yml
new file mode 100644
index 0000000000..d1d9516951
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemflashivtsz.yml
@@ -0,0 +1,18 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 0x1000
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_FLASH_IVT_SIZE
+description: |
+ Size of the image vector table, boot data structure, device configuration data
+ and similar program image header information. Take a look at the i.MX RT1050
+ Processor Reference Manual chapter 9.7 "Program image" for details.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemflexspisz.yml b/spec/build/bsps/arm/imxrt/optmemflexspisz.yml
new file mode 100644
index 0000000000..3750c2c683
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemflexspisz.yml
@@ -0,0 +1,17 @@
+actions:
+- get-integer: null
+- env-assign: null
+- define-unquoted: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE
+build-type: option
+default: 67108864
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE
+description: |
+ Size of the FlexSPI Flash area in bytes.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemnullsz.yml b/spec/build/bsps/arm/imxrt/optmemnullsz.yml
new file mode 100644
index 0000000000..a298f8192f
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemnullsz.yml
@@ -0,0 +1,17 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 0x400
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_NULL_SIZE
+description: |
+ Size of the NULL pointer protection area in bytes. This memory area reduces
+ the size of the ITCM available to the application.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemsdrambase.yml b/spec/build/bsps/arm/imxrt/optmemsdrambase.yml
new file mode 100644
index 0000000000..567ceab07c
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemsdrambase.yml
@@ -0,0 +1,16 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 0x80000000
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_SDRAM_BASE
+description: |
+ Base address of the SDRAM.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml b/spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml
new file mode 100644
index 0000000000..113387d039
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml
@@ -0,0 +1,16 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 1048576
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_SDRAM_NOCACHE_SIZE
+description: |
+ Size of the nocache area at the end of the SDRAM in bytes.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
diff --git a/spec/build/bsps/arm/imxrt/optmemsdramsz.yml b/spec/build/bsps/arm/imxrt/optmemsdramsz.yml
new file mode 100644
index 0000000000..315b5271dc
--- /dev/null
+++ b/spec/build/bsps/arm/imxrt/optmemsdramsz.yml
@@ -0,0 +1,16 @@
+actions:
+- get-integer: null
+- env-assign: null
+build-type: option
+default: 33554432
+default-by-variant: []
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: IMXRT_MEMORY_SDRAM_SIZE
+description: |
+ Size of the SDRAM in bytes.
+type: build
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)