mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
725
drivers/mailbox/zynqmp-ipi-mailbox.c
Normal file
725
drivers/mailbox/zynqmp-ipi-mailbox.c
Normal file
File diff suppressed because it is too large
Load Diff
20
include/linux/mailbox/zynqmp-ipi-message.h
Normal file
20
include/linux/mailbox/zynqmp-ipi-message.h
Normal 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_ */
|
||||
Reference in New Issue
Block a user