diff options
Diffstat (limited to 'spec/build/bsps/arm/imxrt')
-rw-r--r-- | spec/build/bsps/arm/imxrt/bspimxrt.yml | 20 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/linkcmdsmemory.yml | 47 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemextramnocachesz.yml (renamed from spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml) | 5 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemextramorigin.yml (renamed from spec/build/bsps/arm/imxrt/optmemsdrambase.yml) | 5 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemextramsz.yml | 19 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemflashorigin.yml (renamed from spec/build/bsps/arm/imxrt/optmemflexspisz.yml) | 10 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemflashsz.yml | 20 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemitcmsz.yml | 7 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemnullsz.yml | 5 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemocramnocachesz.yml | 3 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemocramsz.yml | 6 | ||||
-rw-r--r-- | spec/build/bsps/arm/imxrt/optmemsdramsz.yml | 16 |
12 files changed, 96 insertions, 67 deletions
diff --git a/spec/build/bsps/arm/imxrt/bspimxrt.yml b/spec/build/bsps/arm/imxrt/bspimxrt.yml index c6ea904754..30d690e0e2 100644 --- a/spec/build/bsps/arm/imxrt/bspimxrt.yml +++ b/spec/build/bsps/arm/imxrt/bspimxrt.yml @@ -127,25 +127,27 @@ links: - role: build-dependency uid: optmemdtcmsz - role: build-dependency + uid: optmemextramnocachesz +- role: build-dependency + uid: optmemextramorigin +- role: build-dependency + uid: optmemextramsz +- role: build-dependency uid: optmemflashcfgsz - role: build-dependency uid: optmemflashivtsz - role: build-dependency - uid: optmemflexspisz + uid: optmemflashorigin +- role: build-dependency + uid: optmemflashsz - role: build-dependency uid: optmemitcmsz - role: build-dependency uid: optmemnullsz - role: build-dependency - uid: optmemocramsz -- role: build-dependency uid: optmemocramnocachesz - role: build-dependency - uid: optmemsdrambase -- role: build-dependency - uid: optmemsdramsz -- role: build-dependency - uid: optmemsdramnocachesz + uid: optmemocramsz - role: build-dependency uid: ../start - role: build-dependency @@ -240,8 +242,8 @@ source: - bsps/arm/imxrt/start/bspstarthooks.c - bsps/arm/imxrt/start/clock-arm-pll-config.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-flexspi-config.c - bsps/arm/imxrt/start/flash-ivt.c - bsps/arm/imxrt/start/imxrt-ffec-init.c - bsps/arm/imxrt/start/mpu-config.c diff --git a/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml b/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml index 3f7885c589..6b4a36955a 100644 --- a/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml +++ b/spec/build/bsps/arm/imxrt/linkcmdsmemory.yml @@ -2,17 +2,16 @@ build-type: config-file content: | MEMORY { NULL : ORIGIN = 0x00000000, LENGTH = ${IMXRT_MEMORY_NULL_SIZE:#010x} - ITCM : ORIGIN = ${IMXRT_MEMORY_NULL_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_ITCM_SIZE:#010x} - ${IMXRT_MEMORY_NULL_SIZE:#010x} + ITCM : ORIGIN = ${IMXRT_MEMORY_NULL_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_ITCM_SIZE:#010x} DTCM : ORIGIN = 0x20000000, LENGTH = ${IMXRT_MEMORY_DTCM_SIZE:#010x} OCRAM : ORIGIN = 0x20200000, LENGTH = ${IMXRT_MEMORY_OCRAM_SIZE:#010x} - ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x} OCRAM_NOCACHE : ORIGIN = 0x20200000 + ${IMXRT_MEMORY_OCRAM_SIZE:#010x} - ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_OCRAM_NOCACHE_SIZE:#010x} 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} + FLASH_CONFIG : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} + FLASH_IVT : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x} + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x} + FLASH : ORIGIN = ${IMXRT_MEMORY_FLASH_ORIGIN:#010x} + ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} + ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_FLASH_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_CFG_SIZE:#010x} - ${IMXRT_MEMORY_FLASH_IVT_SIZE:#010x} + EXTRAM : ORIGIN = ${IMXRT_MEMORY_EXTRAM_ORIGIN:#010x}, LENGTH = ${IMXRT_MEMORY_EXTRAM_SIZE:#010x} - ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x} + EXTRAM_NOCACHE : ORIGIN = ${IMXRT_MEMORY_EXTRAM_ORIGIN:#010x} + ${IMXRT_MEMORY_EXTRAM_SIZE:#010x} - ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x}, LENGTH = ${IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE:#010x} } imxrt_memory_null_begin = ORIGIN (NULL); @@ -39,29 +38,25 @@ content: | 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_flash_config_begin = ORIGIN (FLASH_CONFIG); + imxrt_memory_flash_config_end = ORIGIN (FLASH_CONFIG) + LENGTH (FLASH_CONFIG); + imxrt_memory_flash_config_size = LENGTH (FLASH_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_flash_ivt_begin = ORIGIN (FLASH_IVT); + imxrt_memory_flash_ivt_end = ORIGIN (FLASH_IVT) + LENGTH (FLASH_IVT); + imxrt_memory_flash_ivt_size = LENGTH (FLASH_IVT); - imxrt_memory_flexspi_begin = ORIGIN (FLEXSPI); - imxrt_memory_flexspi_end = ORIGIN (FLEXSPI) + LENGTH (FLEXSPI); - imxrt_memory_flexspi_size = LENGTH (FLEXSPI); + imxrt_memory_flash_begin = ORIGIN (FLASH); + imxrt_memory_flash_end = ORIGIN (FLASH) + LENGTH (FLASH); + imxrt_memory_flash_size = LENGTH (FLASH); - 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_extram_begin = ORIGIN (EXTRAM); + imxrt_memory_extram_end = ORIGIN (EXTRAM) + LENGTH (EXTRAM); + imxrt_memory_extram_size = LENGTH (EXTRAM); - 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); + imxrt_memory_extram_nocache_begin = ORIGIN (EXTRAM_NOCACHE); + imxrt_memory_extram_nocache_end = ORIGIN (EXTRAM_NOCACHE) + LENGTH (EXTRAM_NOCACHE); + imxrt_memory_extram_nocache_size = LENGTH (EXTRAM_NOCACHE); enabled-by: true install-path: ${BSP_LIBDIR} links: [] diff --git a/spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml b/spec/build/bsps/arm/imxrt/optmemextramnocachesz.yml index 113387d039..8b6dba859a 100644 --- a/spec/build/bsps/arm/imxrt/optmemsdramnocachesz.yml +++ b/spec/build/bsps/arm/imxrt/optmemextramnocachesz.yml @@ -7,9 +7,10 @@ default-by-variant: [] enabled-by: true format: '{:#010x}' links: [] -name: IMXRT_MEMORY_SDRAM_NOCACHE_SIZE +name: IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE description: | - Size of the nocache area at the end of the SDRAM in bytes. + Size of the nocache area at the end of the external RAM in bytes. Must not be + bigger than IMXRT_MEMORY_EXTRAM_SIZE. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemsdrambase.yml b/spec/build/bsps/arm/imxrt/optmemextramorigin.yml index 567ceab07c..98350d2e2f 100644 --- a/spec/build/bsps/arm/imxrt/optmemsdrambase.yml +++ b/spec/build/bsps/arm/imxrt/optmemextramorigin.yml @@ -7,9 +7,10 @@ default-by-variant: [] enabled-by: true format: '{:#010x}' links: [] -name: IMXRT_MEMORY_SDRAM_BASE +name: IMXRT_MEMORY_EXTRAM_ORIGIN description: | - Base address of the SDRAM. + Base address of the external RAM. An external ram can be for example be a + SDRAM connected to SEMC or a HyperRAM connected to FlexSPI. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemextramsz.yml b/spec/build/bsps/arm/imxrt/optmemextramsz.yml new file mode 100644 index 0000000000..6999add5cc --- /dev/null +++ b/spec/build/bsps/arm/imxrt/optmemextramsz.yml @@ -0,0 +1,19 @@ +actions: +- get-integer: null +- env-assign: null +build-type: option +default: 0x2000000 +default-by-variant: [] +enabled-by: true +format: '{:#010x}' +links: [] +name: IMXRT_MEMORY_EXTRAM_SIZE +description: | + Size of the external RAM in bytes. An external ram can be for example be a + SDRAM connected to SEMC or a HyperRAM connected to FlexSPI. The size has to + be at least big enough to hold the non cached section with size + IMXRT_MEMORY_EXTRAM_NOCACHE_SIZE at the end of the RAM. +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/optmemflashorigin.yml index 3750c2c683..882ade680c 100644 --- a/spec/build/bsps/arm/imxrt/optmemflexspisz.yml +++ b/spec/build/bsps/arm/imxrt/optmemflashorigin.yml @@ -1,16 +1,18 @@ actions: - get-integer: null - env-assign: null -- define-unquoted: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE +- define-unquoted: IMXRT_MEMORY_FLASH_ORIGIN build-type: option -default: 67108864 +default: 0x60000000 default-by-variant: [] enabled-by: true format: '{:#010x}' links: [] -name: IMXRT_MEMORY_FLEXSPI_FLASH_SIZE +name: IMXRT_MEMORY_FLASH_ORIGIN description: | - Size of the FlexSPI Flash area in bytes. + Origin of the external flash memory. That can be for example a flash + connected to FlexSPI or to SEMC. The default value is for a HyperFlash + connected to FlexSPI. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemflashsz.yml b/spec/build/bsps/arm/imxrt/optmemflashsz.yml new file mode 100644 index 0000000000..c474dd256e --- /dev/null +++ b/spec/build/bsps/arm/imxrt/optmemflashsz.yml @@ -0,0 +1,20 @@ +actions: +- get-integer: null +- env-assign: null +- define-unquoted: IMXRT_MEMORY_FLASH_SIZE +build-type: option +default: 0x4000000 +default-by-variant: [] +enabled-by: true +format: '{:#010x}' +links: [] +name: IMXRT_MEMORY_FLASH_SIZE +description: | + Size of the external flash area in bytes. Has to be big enough to hold the + i.MXRT initial vector table (IVT) and configuration information. The sizes of + these are defined with IMXRT_MEMORY_FLASH_IVT_SIZE and + IMXRT_MEMORY_FLASH_CFG_SIZE. +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/optmemitcmsz.yml b/spec/build/bsps/arm/imxrt/optmemitcmsz.yml index 195d519889..7795b2becb 100644 --- a/spec/build/bsps/arm/imxrt/optmemitcmsz.yml +++ b/spec/build/bsps/arm/imxrt/optmemitcmsz.yml @@ -2,15 +2,16 @@ actions: - get-integer: null - env-assign: null build-type: option -default: 0x20000 +default: 0x1ff00 default-by-variant: [] enabled-by: true format: '{:#010x}' links: [] name: IMXRT_MEMORY_ITCM_SIZE description: | - Size of the ITCM in bytes. Note that these sizes depend on fuses or software - settings done by a bootloader (together with DTCM and OCRAM). + Size of the ITCM in bytes. Note that these sizes depend on fuses or software + settings done by a bootloader (together with DTCM and OCRAM). The ITCM size + has to take the IMXRT_MEMORY_NULL_SIZE into account! type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemnullsz.yml b/spec/build/bsps/arm/imxrt/optmemnullsz.yml index a298f8192f..d737ef0e60 100644 --- a/spec/build/bsps/arm/imxrt/optmemnullsz.yml +++ b/spec/build/bsps/arm/imxrt/optmemnullsz.yml @@ -2,7 +2,7 @@ actions: - get-integer: null - env-assign: null build-type: option -default: 0x400 +default: 0x100 default-by-variant: [] enabled-by: true format: '{:#010x}' @@ -10,7 +10,8 @@ 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. + the size of the ITCM available to the application. If you adapt this, you + have to adapt IMXRT_MEMORY_ITCM_SIZE too. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemocramnocachesz.yml b/spec/build/bsps/arm/imxrt/optmemocramnocachesz.yml index 8e68a08708..942dd60de2 100644 --- a/spec/build/bsps/arm/imxrt/optmemocramnocachesz.yml +++ b/spec/build/bsps/arm/imxrt/optmemocramnocachesz.yml @@ -9,7 +9,8 @@ format: '{:#010x}' links: [] name: IMXRT_MEMORY_OCRAM_NOCACHE_SIZE description: | - Size of the nocache area at the end of the OCRAM in bytes. + Size of the nocache area at the end of the OCRAM in bytes. Must not be bigger + than IMXRT_MEMORY_OCRAM_SIZE. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemocramsz.yml b/spec/build/bsps/arm/imxrt/optmemocramsz.yml index 4498435aa6..9e264f69be 100644 --- a/spec/build/bsps/arm/imxrt/optmemocramsz.yml +++ b/spec/build/bsps/arm/imxrt/optmemocramsz.yml @@ -9,8 +9,10 @@ format: '{:#010x}' links: [] name: IMXRT_MEMORY_OCRAM_SIZE description: | - Size of the OCRAM in bytes. Note that these sizes depend on fuses or software - settings done by a bootloader (together with ITCM and DTCM). + Size of the OCRAM in bytes. Note that these sizes depend on fuses or software + settings done by a bootloader (together with ITCM and DTCM). The size has to + be at least big enough to hold the non cached section with size + IMXRT_MEMORY_OCRAM_NOCACHE_SIZE at the end of the RAM. type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: diff --git a/spec/build/bsps/arm/imxrt/optmemsdramsz.yml b/spec/build/bsps/arm/imxrt/optmemsdramsz.yml deleted file mode 100644 index 315b5271dc..0000000000 --- a/spec/build/bsps/arm/imxrt/optmemsdramsz.yml +++ /dev/null @@ -1,16 +0,0 @@ -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) |