diff options
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 */ |