Add media top-level directory for storage medium access components
Introduces the top-level media directory for components concerned
with accessing storage media using well-known formats. Reuses
external source code from TF-A where possible.
Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I5fa2cb24aa33f019df5108e80ccd78f0170e4c0b
diff --git a/components/media/volume/image_source/component.cmake b/components/media/volume/image_source/component.cmake
new file mode 100644
index 0000000..98ef600
--- /dev/null
+++ b/components/media/volume/image_source/component.cmake
@@ -0,0 +1,13 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+if (NOT DEFINED TGT)
+ message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+endif()
+
+target_sources(${TGT} PRIVATE
+ "${CMAKE_CURRENT_LIST_DIR}/image_source.c"
+)
\ No newline at end of file
diff --git a/components/media/volume/image_source/image_source.c b/components/media/volume/image_source/image_source.c
new file mode 100644
index 0000000..8dcbac4
--- /dev/null
+++ b/components/media/volume/image_source/image_source.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2022, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+#include <plat/common/platform.h>
+
+int plat_get_image_source(
+ unsigned int image_id,
+ uintptr_t *dev_handle,
+ uintptr_t *image_spec)
+{
+ /* Needs to allow a TS factory method to define the image source */
+ (void)image_id;
+ *dev_handle = (uintptr_t)NULL;
+ *image_spec = (uintptr_t)NULL;
+ return -1;
+}
\ No newline at end of file
diff --git a/components/media/volume/storage/component.cmake b/components/media/volume/storage/component.cmake
new file mode 100644
index 0000000..98f5c3a
--- /dev/null
+++ b/components/media/volume/storage/component.cmake
@@ -0,0 +1,16 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+if (NOT DEFINED TGT)
+ message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+endif()
+
+#-------------------------------------------------------------------------------
+# Depends on the tf-a external component
+#-------------------------------------------------------------------------------
+target_sources(${TGT} PRIVATE
+ "${TFA_SOURCE_DIR}/drivers/io/io_storage.c"
+)
\ No newline at end of file