Dualcpu: Platform specific communication option

By setting the TFM_PLAT_SPECIFIC_MULTI_CORE_COMM cmake flag platform
specific implementation can be used to communicate between the Secure
and Non-secure cpu.

Change-Id: Ia966fa7150a709b75b6dfd1bce0d41135f287398
Signed-off-by: Mark Horvath <mark.horvath@arm.com>
diff --git a/config/check_config.cmake b/config/check_config.cmake
index ff11f44..0bf4986 100644
--- a/config/check_config.cmake
+++ b/config/check_config.cmake
@@ -28,6 +28,7 @@
 tfm_invalid_config(TFM_ISOLATION_LEVEL GREATER 1 AND NOT TFM_PSA_API)
 
 tfm_invalid_config(TFM_MULTI_CORE_TOPOLOGY AND NOT TFM_PSA_API)
+tfm_invalid_config(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM AND NOT TFM_MULTI_CORE_TOPOLOGY)
 
 tfm_invalid_config(TEST_S  AND TEST_PSA_API)
 tfm_invalid_config(TEST_NS AND TEST_PSA_API)
diff --git a/config/config_default.cmake b/config/config_default.cmake
index bace812..5ad8034 100644
--- a/config/config_default.cmake
+++ b/config/config_default.cmake
@@ -84,6 +84,7 @@
 
 set(TFM_MULTI_CORE_TOPOLOGY             OFF         CACHE BOOL      "Whether to build for a dual-cpu architecture")
 set(NUM_MAILBOX_QUEUE_SLOT              1           CACHE BOOL      "Number of mailbox queue slots")
+set(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM   OFF         CACHE BOOL      "Whether to use a platform specific inter-core communication instead of mailbox in dual-cpu topology")
 
 set(DEBUG_AUTHENTICATION                CHIP_DEFAULT CACHE STRING   "Debug authentication setting. [CHIP_DEFAULT, NONE, NS_ONLY, FULL")
 set(SECURE_UART1                        OFF         CACHE BOOL      "Enable secure UART1")