Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4981b82b authored by Wendy Liang's avatar Wendy Liang Committed by Jassi Brar
Browse files

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: default avatarWendy Liang <wendy.liang@xilinx.com>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
parent 419d67f3
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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 −0

File added.

Preview size limit exceeded, changes collapsed.

+20 −0
Original line number Diff line number Diff line
/* 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_ */