xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/mailbox.txt (revision 25ecdc7d52770caf1c9b44b5ec11f468f6b636f3)
1* Generic Mailbox Controller and client driver bindings
2
3Generic binding to provide a way for Mailbox controller drivers to
4assign appropriate mailbox channel to client drivers.
5
6* Mailbox Controller
7
8Required property:
9- #mbox-cells: Must be at least 1. Number of cells in a mailbox
10		specifier.
11
12Example:
13	mailbox: mailbox {
14		...
15		#mbox-cells = <1>;
16	};
17
18
19* Mailbox Client
20
21Required property:
22- mboxes: List of phandle and mailbox channel specifiers.
23
24Optional property:
25- mbox-names: List of identifier strings for each mailbox channel.
26- shmem : List of phandle pointing to the shared memory(SHM) area between the
27	  users of these mailboxes for IPC, one for each mailbox. This shared
28	  memory can be part of any memory reserved for the purpose of this
29	  communication between the mailbox client and the remote.
30
31
32Example:
33	pwr_cntrl: power {
34		...
35		mbox-names = "pwr-ctrl", "rpc";
36		mboxes = <&mailbox 0 &mailbox 1>;
37	};
38
39Example with shared memory(shmem):
40
41	sram: sram@50000000 {
42		compatible = "mmio-sram";
43		reg = <0x50000000 0x10000>;
44
45		#address-cells = <1>;
46		#size-cells = <1>;
47		ranges = <0 0x50000000 0x10000>;
48
49		cl_shmem: shmem@0 {
50			compatible = "client-shmem";
51			reg = <0x0 0x200>;
52		};
53	};
54
55	client@2e000000 {
56		...
57		mboxes = <&mailbox 0>;
58		shmem = <&cl_shmem>;
59		..
60	};
61