Test: Enable CoreTest config on Muscas and AN524

Add abstraction for platform features that are used by the core tests.
This makes possible that platforms that do not support certain platform
features can mock the platform behaviour.

Detailed changes:
 * Enable Core tests in MUSCA_A, MUSCA_B1 and AN524 platforms
 * Add tfm_plat_test.h enumerating the test interface expected from
   platform implementations by the Core Tests
 * Move platform features used by Core tests to the platform directory
   on MPS2 platforms
 * Mock platform features used by Core tests in the platform directory
   on MUSCA_A, MUSCA_B1 and AN524 platforms
 * Link MT25QL device driver structure to TFM_SP_STORAGE partition so
   that SST init can run in isolation level 3

Change-Id: I7385f34e364b8be330cf214b8f148affaa76613d
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
diff --git a/platform/include/tfm_plat_test.h b/platform/include/tfm_plat_test.h
new file mode 100644
index 0000000..a71c0fc
--- /dev/null
+++ b/platform/include/tfm_plat_test.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __TFM_PLAT_TEST_H__
+#define __TFM_PLAT_TEST_H__
+
+#include "tfm_plat_defs.h"
+
+/**
+ * \brief Busy wait until the user presses a specific button
+ */
+TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_CORE_TEST")
+void tfm_plat_test_wait_user_button_pressed(void);
+
+/**
+ * \brief Busy wait until the user releases a specific button
+ */
+TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_CORE_TEST")
+void tfm_plat_test_wait_user_button_released(void);
+
+/**
+ * \brief Get the status of the LEDs used by tests
+ *
+ * \return Returns the current status of LEDs
+ */
+TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_CORE_TEST")
+uint32_t tfm_plat_test_get_led_status(void);
+
+/**
+ * \brief Sets the status of the LEDs used by tests
+ *
+ * \param[in]  status  The status to be set
+ */
+TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_CORE_TEST")
+void tfm_plat_test_set_led_status(uint32_t status);
+
+/**
+ * \brief Get the mask of the LEDs used for testing
+ *
+ * \return Returns the mask of the LEDs used for testing
+ */
+TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_CORE_TEST")
+uint32_t tfm_plat_test_get_userled_mask(void);
+
+#endif /* __TFM_PLAT_TEST_H__ */