From 45668a001c5f37f1b6322715ae415fae87aff485 Mon Sep 17 00:00:00 2001 From: Travis Lam Date: Fri, 24 Apr 2026 14:55:30 +0200 Subject: [PATCH 1/2] modules: trusted-firmware-m: add MRAMC serivce MRAM controller is a secure only peripherals, accessing MRAMC will need psa_call into secure environment. Access mramc and initialise mramc functions is added to configure write permission. Signed-off-by: Travis Lam --- modules/trusted-firmware-m/CMakeLists.txt | 1 + modules/trusted-firmware-m/Kconfig | 9 +++++++++ .../tfm_boards/src/tfm_platform_system.c | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/modules/trusted-firmware-m/CMakeLists.txt b/modules/trusted-firmware-m/CMakeLists.txt index b3f471fadc9d..4e0131db82c3 100644 --- a/modules/trusted-firmware-m/CMakeLists.txt +++ b/modules/trusted-firmware-m/CMakeLists.txt @@ -107,6 +107,7 @@ set_property(TARGET zephyr_property_target $<$:-DCONFIG_IDENTITY_KEY_TFM=ON> $<$:-DPS_SUPPORT_FORMAT_TRANSITION=ON> $<$:-DTFM_NRF_SYSTEM_OFF_SERVICE=ON> + $<$:-DTFM_NRF_MRAMC_SERVICE=ON> $<$:-DCONFIG_NRF91_ANOMALY_36_WORKAROUND=ON> -DTFM_MCUBOOT_OFFSET=${CONFIG_TFM_MCUBOOT_HEADER_SIZE} ) diff --git a/modules/trusted-firmware-m/Kconfig b/modules/trusted-firmware-m/Kconfig index 0e15d5db6a61..6ec1b0403ced 100644 --- a/modules/trusted-firmware-m/Kconfig +++ b/modules/trusted-firmware-m/Kconfig @@ -562,4 +562,13 @@ config TFM_HAS_B0N bool "Network core bootloader present (informative only, do not change)" depends on SOC_SERIES_NRF53 +config TFM_NRF_MRAMC_SERVICE + bool "TF-M MRAMC service" + default y if SOC_FLASH_NRF_MRAMC && BUILD_WITH_TFM + depends on SOC_NRF7120 + help + Provide a MRAMC service for the nRF7120 SoC. + This service allows the non-secure application to request + the system to configure MRAMC using a secure service call. + endif # BUILD_WITH_TFM diff --git a/modules/trusted-firmware-m/tfm_boards/src/tfm_platform_system.c b/modules/trusted-firmware-m/tfm_boards/src/tfm_platform_system.c index ab4522907521..d24a54c8eef1 100644 --- a/modules/trusted-firmware-m/tfm_boards/src/tfm_platform_system.c +++ b/modules/trusted-firmware-m/tfm_boards/src/tfm_platform_system.c @@ -151,6 +151,12 @@ enum tfm_platform_err_t tfm_platform_hal_ioctl(tfm_platform_ioctl_req_t request, case TFM_PLATFORM_IOCTL_GPIO_SERVICE: return tfm_platform_hal_gpio_service(in_vec, out_vec); #endif /* defined(GPIO_PIN_CNF_MCUSEL_Msk) */ +#if TFM_NRF_MRAMC_SERVICE + case TFM_PLATFORM_IOCTL_MRAMC_INIT_SERVICE: + return tfm_platform_hal_mramc_init_service(); + case TFM_PLATFORM_IOCTL_MRAMC_SET_WEN_SERVICE: + return tfm_platform_hal_mramc_set_wen_service(in_vec); +#endif /* Board specific IOCTL services */ #if CONFIG_FW_INFO From a5447b2a163af6a230273dfd8582148ade76c9dc Mon Sep 17 00:00:00 2001 From: Travis Lam Date: Mon, 11 May 2026 15:27:29 +0200 Subject: [PATCH 2/2] manifest: tfm: Update nrf_mramc service for nrf7120 Update tfm MRAMC service for ns application to initialise mramc driver change MRAMC write mode. Signed-off-by: Travis Lam --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index d9716a7eda8e..225983fac666 100644 --- a/west.yml +++ b/west.yml @@ -148,7 +148,7 @@ manifest: - name: trusted-firmware-m repo-path: sdk-trusted-firmware-m path: modules/tee/tf-m/trusted-firmware-m - revision: 7c7180bd5ac51bea384adfb6bd98979f948b692c + revision: e45f5f8c5b4f12843be48e136e6bcf143fa1cc5e - name: psa-arch-tests repo-path: sdk-psa-arch-tests path: modules/tee/tf-m/psa-arch-tests