mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
mailbox: arm_mhuv2: Add driver
This adds driver for the ARM MHUv2 (Message Handling Unit) mailbox controller. This is based on the accepted DT bindings of the controller and supports combination of both transport protocols, i.e. doorbell and data-transfer. Transmitting and receiving data through the mailbox framework is done through struct arm_mhuv2_mbox_msg. Based on the initial work done by Morten Borup Petersen from ARM. Co-developed-by: Tushar Khandelwal <tushar.khandelwal@arm.com> Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com> Tested-by: Usama Arif <usama.arif@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
This commit is contained in:
parent
aa80be5043
commit
5a6338cce9
@ -10418,6 +10418,15 @@ F: drivers/mailbox/
|
||||
F: include/linux/mailbox_client.h
|
||||
F: include/linux/mailbox_controller.h
|
||||
|
||||
MAILBOX ARM MHUv2
|
||||
M: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
M: Tushar Khandelwal <Tushar.Khandelwal@arm.com>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/mailbox/arm_mhuv2.c
|
||||
F: include/linux/mailbox/arm_mhuv2_message.h
|
||||
F: Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
|
||||
|
||||
MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
|
||||
M: Michael Kerrisk <mtk.manpages@gmail.com>
|
||||
L: linux-man@vger.kernel.org
|
||||
|
@ -16,6 +16,13 @@ config ARM_MHU
|
||||
The controller has 3 mailbox channels, the last of which can be
|
||||
used in Secure mode only.
|
||||
|
||||
config ARM_MHU_V2
|
||||
tristate "ARM MHUv2 Mailbox"
|
||||
depends on ARM_AMBA
|
||||
help
|
||||
Say Y here if you want to build the ARM MHUv2 controller driver,
|
||||
which provides unidirectional mailboxes between processing elements.
|
||||
|
||||
config IMX_MBOX
|
||||
tristate "i.MX Mailbox"
|
||||
depends on ARCH_MXC || COMPILE_TEST
|
||||
|
@ -7,6 +7,8 @@ obj-$(CONFIG_MAILBOX_TEST) += mailbox-test.o
|
||||
|
||||
obj-$(CONFIG_ARM_MHU) += arm_mhu.o arm_mhu_db.o
|
||||
|
||||
obj-$(CONFIG_ARM_MHU_V2) += arm_mhuv2.o
|
||||
|
||||
obj-$(CONFIG_IMX_MBOX) += imx-mailbox.o
|
||||
|
||||
obj-$(CONFIG_ARMADA_37XX_RWTM_MBOX) += armada-37xx-rwtm-mailbox.o
|
||||
|
1136
drivers/mailbox/arm_mhuv2.c
Normal file
1136
drivers/mailbox/arm_mhuv2.c
Normal file
File diff suppressed because it is too large
Load Diff
20
include/linux/mailbox/arm_mhuv2_message.h
Normal file
20
include/linux/mailbox/arm_mhuv2_message.h
Normal file
@ -0,0 +1,20 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* ARM MHUv2 Mailbox Message
|
||||
*
|
||||
* Copyright (C) 2020 Arm Ltd.
|
||||
* Copyright (C) 2020 Linaro Ltd.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_ARM_MHUV2_MESSAGE_H_
|
||||
#define _LINUX_ARM_MHUV2_MESSAGE_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Data structure for data-transfer protocol */
|
||||
struct arm_mhuv2_mbox_msg {
|
||||
void *data;
|
||||
size_t len;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_ARM_MHUV2_MESSAGE_H_ */
|
Loading…
Reference in New Issue
Block a user