Introduce common framework for client/protocol drivers and
controller drivers of Inter-Processor-Communication (IPC).
Client driver developers should have a look at
include/linux/mailbox_client.h to understand the part of
the API exposed to client drivers.
Similarly controller driver developers should have a look
at include/linux/mailbox_controller.h
Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx>
---
.../devicetree/bindings/mailbox/mailbox.txt | 33 ++
Documentation/mailbox.txt | 107 +++++
MAINTAINERS | 8 +
drivers/mailbox/Makefile | 4 +
drivers/mailbox/mailbox.c | 490 +++++++++++++++++++++
include/linux/mailbox_client.h | 48 ++
include/linux/mailbox_controller.h | 128 ++++++
7 files changed, 818 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mailbox/mailbox.txt
create mode 100644 Documentation/mailbox.txt
create mode 100644 drivers/mailbox/mailbox.c
create mode 100644 include/linux/mailbox_client.h
create mode 100644 include/linux/mailbox_controller.h
diff --git a/Documentation/devicetree/bindings/mailbox/mailbox.txt b/Documentation/devicetree/bindings/mailbox/mailbox.txt
new file mode 100644
index 0000000..3f00955
--- /dev/null
+++ b/Documentation/devicetree/bindings/mailbox/mailbox.txt
@@ -0,0 +1,33 @@
+* Generic Mailbox Controller and client driver bindings
+
+Generic binding to provide a way for Mailbox controller drivers to
+assign appropriate mailbox channel to client drivers.
+
+* Mailbox Controller
+
+Required property:
+- #mbox-cells: Must be at least 1. Number of cells in a mailbox
+ specifier.
+
+Example:
+ mailbox: mailbox {
+ ...
+ #mbox-cells = <1>;
+ };
+
+
+* Mailbox Client
+
+Required property:
+- mbox: List of phandle and mailbox channel specifier.
+
+- mbox-names: List of identifier strings for each mailbox channel
+ required by the client.
+