summaryrefslogtreecommitdiffstats
path: root/bsps/arm
diff options
context:
space:
mode:
authorChristian Mauderer <christian.mauderer@embedded-brains.de>2023-07-13 10:53:34 +0200
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2023-07-24 14:40:59 +0200
commit780149bc385b2b7670012e6b46bbd172cbbebd65 (patch)
tree93847f3c4c41eaf758a1cdc7c503b297ec8f7bf2 /bsps/arm
parentbsps/imx*: Support more GPIO controllers (diff)
downloadrtems-780149bc385b2b7670012e6b46bbd172cbbebd65.tar.bz2
bsps/imsrt: Make flash config more flexible
The flash configuration is something very board specific. So move the file to a board specific location. Beneath that, not all controllers and configurations need the flash config right at the address 0 of the flash. For example on the i.MXRT11xx, the config has an offset for some flash types.
Diffstat (limited to 'bsps/arm')
-rw-r--r--bsps/arm/imxrt/boards/evkbimxrt1050/flash-flexspi-config.c (renamed from bsps/arm/imxrt/start/flash-flexspi-config.c)0
-rw-r--r--bsps/arm/imxrt/include/imxrt/memory.h4
-rw-r--r--bsps/arm/imxrt/start/flash-boot-data.c2
-rw-r--r--bsps/arm/imxrt/start/mpu-config.c4
4 files changed, 7 insertions, 3 deletions
diff --git a/bsps/arm/imxrt/start/flash-flexspi-config.c b/bsps/arm/imxrt/boards/evkbimxrt1050/flash-flexspi-config.c
index 4aa10344a9..4aa10344a9 100644
--- a/bsps/arm/imxrt/start/flash-flexspi-config.c
+++ b/bsps/arm/imxrt/boards/evkbimxrt1050/flash-flexspi-config.c
diff --git a/bsps/arm/imxrt/include/imxrt/memory.h b/bsps/arm/imxrt/include/imxrt/memory.h
index 3fc8f0bbfa..52163d040f 100644
--- a/bsps/arm/imxrt/include/imxrt/memory.h
+++ b/bsps/arm/imxrt/include/imxrt/memory.h
@@ -56,6 +56,10 @@ extern char imxrt_memory_peripheral_begin[];
extern char imxrt_memory_peripheral_end[];
extern char imxrt_memory_peripheral_size[];
+extern char imxrt_memory_flash_raw_begin[];
+extern char imxrt_memory_flash_raw_end[];
+extern char imxrt_memory_flash_raw_size[];
+
extern char imxrt_memory_flash_config_begin[];
extern char imxrt_memory_flash_config_end[];
extern char imxrt_memory_flash_config_size[];
diff --git a/bsps/arm/imxrt/start/flash-boot-data.c b/bsps/arm/imxrt/start/flash-boot-data.c
index 485f91c8ec..2186fc08bf 100644
--- a/bsps/arm/imxrt/start/flash-boot-data.c
+++ b/bsps/arm/imxrt/start/flash-boot-data.c
@@ -30,7 +30,7 @@
#include <bspopts.h>
const BOOT_DATA_T imxrt_boot_data = {
- .start = (uint32_t) imxrt_memory_flash_config_begin,
+ .start = (uint32_t) imxrt_memory_flash_raw_begin,
.size = IMXRT_MEMORY_FLASH_SIZE,
.plugin = PLUGIN_FLAG,
.placeholder = 0xFFFFFFFF,
diff --git a/bsps/arm/imxrt/start/mpu-config.c b/bsps/arm/imxrt/start/mpu-config.c
index 8928980445..a8f98f1c81 100644
--- a/bsps/arm/imxrt/start/mpu-config.c
+++ b/bsps/arm/imxrt/start/mpu-config.c
@@ -44,8 +44,8 @@ BSP_START_DATA_SECTION const ARMV7M_MPU_Region_config
| ARMV7M_MPU_RASR_TEX(0x1) | ARMV7M_MPU_RASR_C | ARMV7M_MPU_RASR_B
| ARMV7M_MPU_RASR_ENABLE,
}, {
- .begin = imxrt_memory_flash_config_begin,
- .end = imxrt_memory_flash_end,
+ .begin = imxrt_memory_flash_raw_begin,
+ .end = imxrt_memory_flash_raw_end,
.rasr = ARMV7M_MPU_RASR_AP(0x3)
| ARMV7M_MPU_RASR_TEX(0x1) | ARMV7M_MPU_RASR_C | ARMV7M_MPU_RASR_B
| ARMV7M_MPU_RASR_ENABLE,