0001 * Generic Mailbox Controller and client driver bindings
0002
0003 Generic binding to provide a way for Mailbox controller drivers to
0004 assign appropriate mailbox channel to client drivers.
0005
0006 * Mailbox Controller
0007
0008 Required property:
0009 - #mbox-cells: Must be at least 1. Number of cells in a mailbox
0010 specifier.
0011
0012 Example:
0013 mailbox: mailbox {
0014 ...
0015 #mbox-cells = <1>;
0016 };
0017
0018
0019 * Mailbox Client
0020
0021 Required property:
0022 - mboxes: List of phandle and mailbox channel specifiers.
0023
0024 Optional property:
0025 - mbox-names: List of identifier strings for each mailbox channel.
0026 - shmem : List of phandle pointing to the shared memory(SHM) area between the
0027 users of these mailboxes for IPC, one for each mailbox. This shared
0028 memory can be part of any memory reserved for the purpose of this
0029 communication between the mailbox client and the remote.
0030
0031
0032 Example:
0033 pwr_cntrl: power {
0034 ...
0035 mbox-names = "pwr-ctrl", "rpc";
0036 mboxes = <&mailbox 0 &mailbox 1>;
0037 };
0038
0039 Example with shared memory(shmem):
0040
0041 sram: sram@50000000 {
0042 compatible = "mmio-sram";
0043 reg = <0x50000000 0x10000>;
0044
0045 #address-cells = <1>;
0046 #size-cells = <1>;
0047 ranges = <0 0x50000000 0x10000>;
0048
0049 cl_shmem: shmem@0 {
0050 compatible = "client-shmem";
0051 reg = <0x0 0x200>;
0052 };
0053 };
0054
0055 client@2e000000 {
0056 ...
0057 mboxes = <&mailbox 0>;
0058 shmem = <&cl_shmem>;
0059 ..
0060 };