aboutsummaryrefslogtreecommitdiff
path: root/module/mhu2/include/mod_mhu2.h
diff options
context:
space:
mode:
authorPedro Custodio <Pedro.Krewinkelcustodio@arm.com>2018-08-14 16:28:44 +0100
committerronald-cron-arm <39518861+ronald-cron-arm@users.noreply.github.com>2019-01-08 17:14:25 +0000
commit3064c5411946bceaa71e912920bfed3a9991f32e (patch)
tree28bc2054fb691f167f333dfcfa61882954a72f60 /module/mhu2/include/mod_mhu2.h
parentc54aae2e80c02af05e7269e9128ececf28c64a4f (diff)
module: MHUv2 support
Change-Id: I3335f0511b2bb00811ebb317273ff693b1dc903b Signed-off-by: Elieva Pignat <Elieva.Pignat@arm.com> Signed-off-by: Chris Kay <chris.kay@arm.com>
Diffstat (limited to 'module/mhu2/include/mod_mhu2.h')
-rw-r--r--module/mhu2/include/mod_mhu2.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/module/mhu2/include/mod_mhu2.h b/module/mhu2/include/mod_mhu2.h
new file mode 100644
index 00000000..3f87e780
--- /dev/null
+++ b/module/mhu2/include/mod_mhu2.h
@@ -0,0 +1,66 @@
+/*
+ * Arm SCP/MCP Software
+ * Copyright (c) 2017-2019, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Description:
+ * Message Handling Unit (MHU) v2 Device Driver.
+ */
+
+#ifndef MOD_MHU2_H
+#define MOD_MHU2_H
+
+#include <stdint.h>
+#include <fwk_macros.h>
+
+/*!
+ * \addtogroup GroupModules Modules
+ * @{
+ */
+
+/*!
+ * \defgroup GroupMHUv2 Message Handling Unit (MHU) v2 Driver
+ * @{
+ */
+
+/*!
+ * \brief MHU v2 api indicies
+ */
+enum mod_mhu2_api_idx {
+ /*! SMT driver API */
+ MOD_MHU2_API_IDX_SMT_DRIVER,
+ /*! Number of APIs */
+ MOD_MHU2_API_IDX_COUNT,
+};
+
+/*!
+ * \brief MHU v2 device
+ *
+ * \details Abstract representation of a bidirectional MHU channel that consists
+ * of a single receive interrupt line and a pair of register sets, one for
+ * each direction of communication.
+ */
+struct mod_mhu2_channel_config {
+ /*! IRQ number of the receive interrupt line */
+ unsigned int irq;
+
+ /*! Base address of the registers of the incoming MHU */
+ uintptr_t recv;
+
+ /*! Base address of the registers of the outgoing MHU */
+ uintptr_t send;
+
+ /*! Channel number */
+ unsigned int channel;
+};
+
+/*!
+ * @}
+ */
+
+/*!
+ * @}
+ */
+
+#endif /* MOD_MHU2_H */