PlatformSP: Add Platform service

TF-M Platform service is a trusted service which allows secure
partitions and non-secure applications to interact with some
platform-specific components. There are a number of features which
requires some interaction with platform-specific components which
are at the same time essential for the security of the system.
Therefore, those components need to be handled by a secure partition
which is part of the trusted compute base.

This patch adds the Platform service which provides the system reset
as a first function.

Change-Id: I68253328db22a45fb6a3d6820dd85b1e24ea96f0
Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
diff --git a/platform/include/tfm_platform_system.h b/platform/include/tfm_platform_system.h
new file mode 100644
index 0000000..d0e5683
--- /dev/null
+++ b/platform/include/tfm_platform_system.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2018, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __TFM_PLATFORM_SYSTEM_H__
+#define __TFM_PLATFORM_SYSTEM_H__
+/**
+ * \note The interfaces defined in this file must be implemented for each
+ *       target.
+ */
+
+#include "tfm_plat_defs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \brief Resets the system.
+ *
+ * \details Requests a system reset to reset the MCU.
+ */
+TFM_LINK_SET_OBJECT_IN_PARTITION_SECTION("TFM_SP_PLATFORM")
+void tfm_platform_hal_system_reset(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TFM_PLATFORM_SYSTEM_H__ */