Build: Add OTP_NV_COUNTERS_RAM_EMULATION configuration.
- Add a possibility to configure OTP_NV_COUNTERS_RAM_EMULATION.
As it is done for PS_RAM_FS and ITS_RAM_FS.
- Set default OTP_NV_COUNTERS_RAM_EMULATION to 0
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Change-Id: Iec2eac39ab3d0379bcb7ce24e28a00716efaa807
diff --git a/config/config_base.h b/config/config_base.h
index 9879b68..811a42d 100644
--- a/config/config_base.h
+++ b/config/config_base.h
@@ -258,4 +258,9 @@
#define CONFIG_TFM_SCHEDULE_WHEN_NS_INTERRUPTED 0
#endif
+/* Enable OTP/NV_COUNTERS emulation in RAM */
+#ifndef OTP_NV_COUNTERS_RAM_EMULATION
+#define OTP_NV_COUNTERS_RAM_EMULATION 0
+#endif
+
#endif /* __CONFIG_BASE_H__ */
diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt
index 80416a7..ad5be27 100755
--- a/platform/CMakeLists.txt
+++ b/platform/CMakeLists.txt
@@ -115,7 +115,7 @@
PUBLIC
TFM_SPM_LOG_LEVEL=${TFM_SPM_LOG_LEVEL}
$<$<BOOL:${TFM_SPM_LOG_RAW_ENABLED}>:TFM_SPM_LOG_RAW_ENABLED>
- $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION>
+ $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION=1>
$<$<BOOL:${TFM_EXCEPTION_INFO_DUMP}>:TFM_EXCEPTION_INFO_DUMP>
$<$<OR:$<VERSION_GREATER:${TFM_ISOLATION_LEVEL},1>,$<STREQUAL:"${TEST_PSA_API}","IPC">>:CONFIG_TFM_ENABLE_MEMORY_PROTECT>
$<$<BOOL:${TFM_PXN_ENABLE}>:TFM_PXN_ENABLE>
@@ -214,7 +214,7 @@
$<$<BOOL:${MCUBOOT_HW_KEY}>:MCUBOOT_HW_KEY>
MCUBOOT_FIH_PROFILE_${MCUBOOT_FIH_PROFILE}
$<$<BOOL:${PLATFORM_DEFAULT_OTP}>:PLATFORM_DEFAULT_OTP>
- $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION>
+ $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION=1>
$<$<BOOL:${TFM_DUMMY_PROVISIONING}>:TFM_DUMMY_PROVISIONING>
$<$<BOOL:${PLATFORM_DEFAULT_NV_COUNTERS}>:PLATFORM_DEFAULT_NV_COUNTERS>
$<$<BOOL:${PLATFORM_DEFAULT_OTP_WRITEABLE}>:OTP_WRITEABLE>
@@ -249,7 +249,7 @@
$<$<BOOL:${CRYPTO_HW_ACCELERATOR}>:CRYPTO_HW_ACCELERATOR>
$<$<BOOL:${TFM_BL1_LOGGING}>:TFM_BL1_LOGGING>
$<$<BOOL:${PLATFORM_DEFAULT_OTP}>:PLATFORM_DEFAULT_OTP>
- $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION>
+ $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION=1>
$<$<BOOL:${TFM_DUMMY_PROVISIONING}>:TFM_DUMMY_PROVISIONING>
$<$<BOOL:${PLATFORM_DEFAULT_NV_COUNTERS}>:PLATFORM_DEFAULT_NV_COUNTERS>
$<$<BOOL:${PLATFORM_DEFAULT_OTP_WRITEABLE}>:OTP_WRITEABLE>
@@ -299,7 +299,7 @@
$<$<BOOL:${CRYPTO_HW_ACCELERATOR}>:CRYPTO_HW_ACCELERATOR>
$<$<BOOL:${TFM_BL1_LOGGING}>:TFM_BL1_LOGGING>
$<$<BOOL:${PLATFORM_DEFAULT_OTP}>:PLATFORM_DEFAULT_OTP>
- $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION>
+ $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION=1>
$<$<BOOL:${TFM_DUMMY_PROVISIONING}>:TFM_DUMMY_PROVISIONING>
$<$<BOOL:${PLATFORM_DEFAULT_NV_COUNTERS}>:PLATFORM_DEFAULT_NV_COUNTERS>
$<$<BOOL:${PLATFORM_DEFAULT_OTP_WRITEABLE}>:OTP_WRITEABLE>
diff --git a/platform/ext/common/template/flash_otp_nv_counters_backend.c b/platform/ext/common/template/flash_otp_nv_counters_backend.c
index ba6f129..224d08f 100644
--- a/platform/ext/common/template/flash_otp_nv_counters_backend.c
+++ b/platform/ext/common/template/flash_otp_nv_counters_backend.c
@@ -21,7 +21,7 @@
static enum tfm_plat_err_t create_or_restore_layout(void);
-#ifdef OTP_NV_COUNTERS_RAM_EMULATION
+#if OTP_NV_COUNTERS_RAM_EMULATION
static struct flash_otp_nv_counters_region_t otp_nv_ram_buf = {0};
diff --git a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
index bfaed56..0493e7c 100644
--- a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
+++ b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
@@ -212,7 +212,7 @@
MCUBOOT_FIH_PROFILE_${MCUBOOT_FIH_PROFILE}
$<$<BOOL:${PLATFORM_DEFAULT_NV_COUNTERS}>:PLATFORM_DEFAULT_NV_COUNTERS>
$<$<BOOL:${PLATFORM_DEFAULT_OTP}>:PLATFORM_DEFAULT_OTP>
- $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION>
+ $<$<BOOL:${OTP_NV_COUNTERS_RAM_EMULATION}>:OTP_NV_COUNTERS_RAM_EMULATION=1>
$<$<BOOL:${TFM_DUMMY_PROVISIONING}>:TFM_DUMMY_PROVISIONING>
$<$<BOOL:${PLATFORM_DEFAULT_OTP_WRITEABLE}>:OTP_WRITEABLE>
)
diff --git a/platform/ext/target/nxp/lpcxpresso55s69/config_tfm_target.h b/platform/ext/target/nxp/lpcxpresso55s69/config_tfm_target.h
index 79f0ef4..c2c2630 100644
--- a/platform/ext/target/nxp/lpcxpresso55s69/config_tfm_target.h
+++ b/platform/ext/target/nxp/lpcxpresso55s69/config_tfm_target.h
@@ -30,6 +30,10 @@
/* Enable emulated RAM FS for platforms that don't have flash for Protected Storage partition */
#define PS_RAM_FS 1
+
+/* Enable OTP/NV_COUNTERS emulation in RAM */
+#define OTP_NV_COUNTERS_RAM_EMULATION 1
+
#endif /* PLATFORM_NO_FLASH */
#endif /* __CONFIG_TFM_TARGET_H__ */