plat: add NSPE platform-specific hw initialization
Adding tfm_ns_platform_init() function.
Contrarily to SystemInit() intended for a high priority hw initialization
(for example clock and power subsystems), and called on a very early boot
stage from startup code, this function is called from C code, hence variables
and other drivers data are protected from being cleared up by the C library
init.
This function can be used for initializing platform-specific hw resources
(e.g. IPC, UART) thus freeing up application main() function from the platform
details.
Implemented as a "weak" functions, it can be overwritten by a platform
specific implementation.
Signed-off-by: Andrei Narkevitch <ainh@cypress.com>
Change-Id: I16091d35a77ba3e246692cff9df7f31ea082ab27
diff --git a/platform/include/tfm_plat_ns.h b/platform/include/tfm_plat_ns.h
new file mode 100644
index 0000000..3b689b4
--- /dev/null
+++ b/platform/include/tfm_plat_ns.h
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __TFM_PLAT_NS_H__
+#define __TFM_PLAT_NS_H__
+
+/**
+ * \brief Platform peripherals and devices initialization.
+ *
+ * \return ARM_DRIVER_OK if the initialization succeeds
+*/
+
+int32_t tfm_ns_platform_init(void);
+
+#endif /* __TFM_PLAT_NS_H__ */