2014-07-22 23:10:04 +08:00
|
|
|
* 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:
|
|
|
|
- mboxes: List of phandle and mailbox channel specifiers.
|
|
|
|
|
|
|
|
Optional property:
|
2015-05-12 00:08:51 +08:00
|
|
|
- mbox-names: List of identifier strings for each mailbox channel.
|
2017-06-26 23:02:39 +08:00
|
|
|
- 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.
|
|
|
|
|
2014-07-22 23:10:04 +08:00
|
|
|
|
|
|
|
Example:
|
|
|
|
pwr_cntrl: power {
|
|
|
|
...
|
|
|
|
mbox-names = "pwr-ctrl", "rpc";
|
2015-05-12 00:08:51 +08:00
|
|
|
mboxes = <&mailbox 0 &mailbox 1>;
|
2014-07-22 23:10:04 +08:00
|
|
|
};
|
2017-06-26 23:02:39 +08:00
|
|
|
|
|
|
|
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>;
|
|
|
|
..
|
|
|
|
};
|