Interface: Provide implementation of tfm_ns_interface_dispatch()

This patch provides implementation of tfm_ns_interface_dispatch for
bare metal and RTOS use cases. This is needed to simplify TF-M
integration with NS application.
For more details refer to
"Default implementation of tfm_ns_interface_dispatch()" mailing thread:
https://lists.trustedfirmware.org/archives/list/tf-m@lists.trustedfirmware.org/message/ZCBRUODVTBK26JGAZKKIJEQ62D3XIMSO/
and TF-M tech forum presentation
"Default implemeation of tsm_ns_interface_dispatch":
https://www.trustedfirmware.org/meetings/tf-m-technical-forum/

Following things are done:
 * tfm_ns_interface.c was moved from test repo to TF-M repo
   tfm_ns_interface_rtos.c file
 * tfm_ns_interface_bare_metal.c is added.
 * required NS OS wrapper header files are moved from test to TFM repo
 * tfm_ns_interface.c.example is removed as no longer needed
   are provided.
 * documentation is updated

Signed-off-by: Bohdan Hunko <Bohdan.Hunko@infineon.com>
Signed-off-by: Chris Brand <chris.brand@cypress.com>
Change-Id: I3e7fd80946bd674cb562ddac8fbc8c7053e30478
diff --git a/interface/include/tfm_ns_interface.h b/interface/include/tfm_ns_interface.h
index fa0cc31..6b55fc3 100644
--- a/interface/include/tfm_ns_interface.h
+++ b/interface/include/tfm_ns_interface.h
@@ -1,5 +1,7 @@
 /*
  * Copyright (c) 2017-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company)
+ * or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -24,8 +26,9 @@
  *          desired veneer function, to be called with the parameters
  *          described from arg0 to arg3.
  *
- * \note    NSPE shall implement this dispatcher according to NS specific
- *          implementation and actual usage scenario.
+ * \note    NSPE can use default implementation of this function or implement
+ *          this function according to NS specific implementation and actual
+ *          usage scenario.
  *
  * \param[in] fn   Function pointer to the veneer function desired
  * \param[in] arg0 Argument 0 of fn
@@ -43,6 +46,19 @@
                                   uint32_t arg0, uint32_t arg1,
                                   uint32_t arg2, uint32_t arg3);
 
+/**
+ * \brief NS interface initialization function
+ *
+ * \details This function initializes TF-M NS interface.
+ *
+ * \note    NSPE can use default implementation of this function or implement
+ *          this function according to NS specific implementation and actual
+ *          usage scenario.
+ *
+ * \return \ref OS_WRAPPER_SUCCESS on success or \ref OS_WRAPPER_ERROR on error
+ */
+uint32_t tfm_ns_interface_init(void);
+
 #ifdef __cplusplus
 }
 #endif