aboutsummaryrefslogtreecommitdiff
path: root/framework/include/fwk_element.h
diff options
context:
space:
mode:
authortushar khandelwal <tushar.khandelwal@arm.com>2019-05-16 17:55:32 +0100
committerTushar Khandelwal <tushar.khandelwal@arm.com>2019-09-04 11:37:10 +0100
commit23f01c5de10e9c6a51361fbc6949f6383e434900 (patch)
treefc22dcbd7611fa0d777ad5147749472bc1668e33 /framework/include/fwk_element.h
parente1f79b99491dac3452b842f09d97c808da1b5ff2 (diff)
add base firmware framework
this commit adds support for architecture, nvic, framework and build tools Change-Id: I0b0621dfafece9b2f08913311bcd8a3c456b6ff0 Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Diffstat (limited to 'framework/include/fwk_element.h')
-rw-r--r--framework/include/fwk_element.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/framework/include/fwk_element.h b/framework/include/fwk_element.h
new file mode 100644
index 0000000..f5374ca
--- /dev/null
+++ b/framework/include/fwk_element.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2019, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Description:
+ * Element definitions.
+ */
+
+#ifndef FWK_ELEMENT_H
+#define FWK_ELEMENT_H
+
+#include <stddef.h>
+
+/*!
+ * \addtogroup GroupLibFramework Framework
+ * @{
+ */
+
+/*!
+ * \defgroup GroupElement Elements
+ * @{
+ */
+
+/*!
+ * \brief Element descriptor.
+ */
+struct fwk_element {
+ /*! Element name */
+ const char *name;
+
+ /*! Number of sub-elements */
+ size_t sub_element_count;
+
+ /*!
+ * \brief Pointer to element-specific configuration data
+ *
+ * \details Because each element is expected to have some associated
+ * configuration data this pointer must be non-NULL for the framework
+ * to consider the element as valid.
+ *
+ * A fake, non-NULL pointer should be provided in the case where no
+ * element-specific configuration data is available. In this case the
+ * module code must not make any attempt to dereference or store the
+ * pointer during element initialization.
+ */
+ const void *data;
+};
+
+/*!
+ * @}
+ */
+
+/*!
+ * @}
+ */
+
+#endif /* FWK_ELEMENT_H */