diff options
author | Pedro Custodio <Pedro.Krewinkelcustodio@arm.com> | 2018-08-14 16:28:44 +0100 |
---|---|---|
committer | ronald-cron-arm <39518861+ronald-cron-arm@users.noreply.github.com> | 2019-01-08 17:14:25 +0000 |
commit | 3064c5411946bceaa71e912920bfed3a9991f32e (patch) | |
tree | 28bc2054fb691f167f333dfcfa61882954a72f60 /module/mhu2/include/mod_mhu2.h | |
parent | c54aae2e80c02af05e7269e9128ececf28c64a4f (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.h | 66 |
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 */ |