dt-bindings: mailbox: add support for mailbox client shared memory
authorSudeep Holla <sudeep.holla@arm.com>
Mon, 26 Jun 2017 15:02:39 +0000 (16:02 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Wed, 28 Feb 2018 16:37:57 +0000 (16:37 +0000)
Many users of the mailbox controllers depend on the shared memory
between the two end points to exchange the main data while using simple
doorbell mechanism to alert the end points of the presence of a message.

This patch defines device tree bindings to represent such shared memory
in a generic way.

Cc: Mark Rutland <mark.rutland@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Documentation/devicetree/bindings/mailbox/mailbox.txt

index be05b9746c693c5cd595bfdd48411d143a18f1c5..af8ecee2ac687f105d1c5e2c99a34b2e56f51e10 100644 (file)
@@ -23,6 +23,11 @@ Required property:
 
 Optional property:
 - mbox-names: List of identifier strings for each mailbox channel.
+- shmem : List of phandle pointing to the shared memory(SHM) area between the
+         users of these mailboxes for IPC, one for each mailbox. This shared
+         memory can be part of any memory reserved for the purpose of this
+         communication between the mailbox client and the remote.
+
 
 Example:
        pwr_cntrl: power {
@@ -30,3 +35,26 @@ Example:
                mbox-names = "pwr-ctrl", "rpc";
                mboxes = <&mailbox 0 &mailbox 1>;
        };
+
+Example with shared memory(shmem):
+
+       sram: sram@50000000 {
+               compatible = "mmio-sram";
+               reg = <0x50000000 0x10000>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0 0x50000000 0x10000>;
+
+               cl_shmem: shmem@0 {
+                       compatible = "client-shmem";
+                       reg = <0x0 0x200>;
+               };
+       };
+
+       client@2e000000 {
+               ...
+               mboxes = <&mailbox 0>;
+               shmem = <&cl_shmem>;
+               ..
+       };