Build: Renable dual-cpu multiple PSA client call feature

The flag to control multiple PSA client call feature doesn't take
effect on dual-cpu platforms in the new build system.
Re-configure it to enable this feature enabled on dual-cpu
platforms.

Change-Id: I3df464c29bec603678b2f05675be141e77dd7fb2
Signed-off-by: David Hu <david.hu@arm.com>
diff --git a/config/config_default.cmake b/config/config_default.cmake
index 2364c8e..648c357 100644
--- a/config/config_default.cmake
+++ b/config/config_default.cmake
@@ -54,6 +54,8 @@
 ############################ Platform ##########################################
 
 set(TFM_MULTI_CORE_TOPOLOGY             OFF         CACHE BOOL      "Whether to build for a dual-cpu architecture")
+set(TFM_MULTI_CORE_MULTI_CLIENT_CALL    OFF         CACHE BOOL      "Whether to enable multiple PSA client calls feature")
+
 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")
 
diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
index acf6c56..7be967a 100644
--- a/interface/CMakeLists.txt
+++ b/interface/CMakeLists.txt
@@ -46,6 +46,7 @@
         $<$<BOOL:${TFM_ISOLATION_LEVEL}>:TFM_LVL=${TFM_ISOLATION_LEVEL}>
         $<$<VERSION_GREATER:${TFM_ISOLATION_LEVEL},1>:CONFIG_TFM_ENABLE_MEMORY_PROTECT>
         $<$<BOOL:${TFM_MULTI_CORE_TOPOLOGY}>:TFM_MULTI_CORE_TOPOLOGY>
+        $<$<BOOL:${TFM_MULTI_CORE_MULTI_CLIENT_CALL}>:TFM_MULTI_CORE_MULTI_CLIENT_CALL>
 )
 
 ###################### PSA api (S lib) #########################################
diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt
index 8895552..aaad44e 100644
--- a/platform/CMakeLists.txt
+++ b/platform/CMakeLists.txt
@@ -92,6 +92,7 @@
     PRIVATE
         $<$<BOOL:${TFM_IRQ_TEST}>:TFM_ENABLE_IRQ_TEST>
         $<$<BOOL:${TFM_PERIPH_ACCESS_TEST}>:TFM_ENABLE_PERIPH_ACCESS_TEST>
+        $<$<BOOL:${TFM_MULTI_CORE_MULTI_CLIENT_CALL}>:TFM_MULTI_CORE_MULTI_CLIENT_CALL>
 )
 
 #========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/cypress/psoc64/CMakeLists.txt b/platform/ext/target/cypress/psoc64/CMakeLists.txt
index 107e59a..febeb4c 100644
--- a/platform/ext/target/cypress/psoc64/CMakeLists.txt
+++ b/platform/ext/target/cypress/psoc64/CMakeLists.txt
@@ -188,6 +188,13 @@
         RTE_USART5
 )
 
+# device_cfg.h defines the number of mailbox queue slots to support multiple
+# PSA client calls feature.
+target_include_directories(psa_interface
+    INTERFACE
+        Device/Config
+)
+
 target_link_libraries(platform_ns
     PRIVATE
         psa_interface
diff --git a/platform/ext/target/cypress/psoc64/config.cmake b/platform/ext/target/cypress/psoc64/config.cmake
index 88e9371..e94c37c 100644
--- a/platform/ext/target/cypress/psoc64/config.cmake
+++ b/platform/ext/target/cypress/psoc64/config.cmake
@@ -14,6 +14,7 @@
 ############################ Platform ##########################################
 
 set(TFM_MULTI_CORE_TOPOLOGY             ON          CACHE BOOL      "Whether to build for a dual-cpu architecture" FORCE)
+set(TFM_MULTI_CORE_MULTI_CLIENT_CALL    ON          CACHE BOOL      "Whether to enable multiple PSA client calls feature" FORCE)
 
 set(PLATFORM_DUMMY_ATTEST_HAL           FALSE       CACHE BOOL      "Use dummy attest hal implementation. Should not be used in production." FORCE)
 set(PLATFORM_DUMMY_NV_COUNTERS          FALSE       CACHE BOOL      "Use dummy nv counter implementation. Should not be used in production." FORCE)