mailbox: ZynqMP IPI mailbox controller

This patch is to introduce ZynqMP IPI mailbox controller driver
to use the ZynqMP IPI block as mailboxes.

Signed-off-by: Wendy Liang <wendy.liang@xilinx.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
This commit is contained in:
Wendy Liang
2019-02-21 16:36:33 -08:00
committed by Jassi Brar
parent 419d67f3ec
commit 4981b82ba2
4 changed files with 758 additions and 0 deletions

View File

@@ -205,4 +205,15 @@ config MTK_CMDQ_MBOX
mailbox driver. The CMDQ is used to help read/write registers with
critical time limitation, such as updating display configuration
during the vblank.
config ZYNQMP_IPI_MBOX
bool "Xilinx ZynqMP IPI Mailbox"
depends on ARCH_ZYNQMP && OF
help
Say yes here to add support for Xilinx IPI mailbox driver.
This mailbox driver is used to send notification or short message
between processors with Xilinx ZynqMP IPI. It will place the
message to the IPI buffer and will access the IPI control
registers to kick the other processor or enquire status.
endif

View File

@@ -44,3 +44,5 @@ obj-$(CONFIG_TEGRA_HSP_MBOX) += tegra-hsp.o
obj-$(CONFIG_STM32_IPCC) += stm32-ipcc.o
obj-$(CONFIG_MTK_CMDQ_MBOX) += mtk-cmdq-mailbox.o
obj-$(CONFIG_ZYNQMP_IPI_MBOX) += zynqmp-ipi-mailbox.o

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_ZYNQMP_IPI_MESSAGE_H_
#define _LINUX_ZYNQMP_IPI_MESSAGE_H_
/**
* struct zynqmp_ipi_message - ZynqMP IPI message structure
* @len: Length of message
* @data: message payload
*
* This is the structure for data used in mbox_send_message
* the maximum length of data buffer is fixed to 12 bytes.
* Client is supposed to be aware of this.
*/
struct zynqmp_ipi_message {
size_t len;
u8 data[0];
};
#endif /* _LINUX_ZYNQMP_IPI_MESSAGE_H_ */