Staging
v0.5.1
https://github.com/torvalds/linux
Raw File
Tip revision: 2c523b344dfa65a3738e7039832044aa133c75fb authored by Linus Torvalds on 09 March 2020, 00:44:44 UTC
Linux 5.6-rc5
Tip revision: 2c523b3
mailbox.txt
* 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:
- 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 {
		...
		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>;
		..
	};
back to top