Driver for the MHU peripherals on RZ MPUs. This module implements the MHU Interface (for secure and non secure channels).
Overview
- Cortex-A55 and Cortex-M33 cores incorporated in RZ/V2L.
Message communication is done by shared RAM for passing message and response between CPUs and the function (MHU) for notifying when messages and responses are stored in the memory.
Features
The MHU_S module supports the following features:
- Generate interrupt to notify each core of RZ MPUs when the message/response is stored in shared RAM.
- Receive interrupt when the message/response is stored by each core of RZ MPUs in shared RAM.
◆ mhu_s_instance_ctrl_t
struct mhu_s_instance_ctrl_t |
Channel control block. DO NOT INITIALIZE. Initialization occurs when mhu_api_t::open is called.
◆ R_MHU_S_Open()
Initializes the MHU_S module instance. Implements mhu_api_t::open.
- Return values
-
FSP_SUCCESS | Initialization was successful. |
FSP_ERR_ASSERTION | A required input pointer is NULL. |
FSP_ERR_ALREADY_OPEN | R_MHU_S_Open has already been called for this p_ctrl. |
FSP_ERR_INVALID_ARGUMENT | The specified IRQ number is invalid. |
FSP_ERR_INVALID_CHANNEL | Requested channel number is not available on MHU_S. |
◆ R_MHU_S_MsgSend()
Send message via MHU. Implements mhu_api_t::msgSend.
- Return values
-
FSP_SUCCESS | Send message successfully. |
FSP_ERR_ASSERTION | A required pointer was NULL. |
FSP_ERR_NOT_OPEN | The instance control structure is not opened. |
◆ R_MHU_S_Close()
Disables interrupts, clears internal driver data. mhu_api_t::close.
- Return values
-
FSP_SUCCESS | MHU_S closed. |
FSP_ERR_ASSERTION | p_ctrl is NULL. |
FSP_ERR_NOT_OPEN | The instance control structure is not opened. |
◆ R_MHU_S_CallbackSet()
Updates the user callback with the option to provide memory for the callback argument structure. Implements mhu_api_t::callbackSet.
- Return values
-
FSP_SUCCESS | Callback updated successfully. |
FSP_ERR_ASSERTION | A required pointer is NULL. |
FSP_ERR_NOT_OPEN | The control block has not been opened. |
FSP_ERR_NO_CALLBACK_MEMORY | p_callback is non-secure and p_callback_memory is either secure or NULL. |
◆ R_MHU_S_IsrSub()
void R_MHU_S_IsrSub |
( |
uint32_t |
irq | ) |
|
MHU_S receive interrupt sub function (for OpenAMP)
- Parameters
-
[in] | irq | irq number for inter-core interrupt |