Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

ST Microelectronics Mailbox Driver

Each ST Mailbox IP currently consists of 4 instances of 32 channels.  Messages
are passed between Application and Remote processors using shared memory.

Controller
----------

Required properties:
- compatible		: Should be "st,stih407-mailbox"
- reg			: Offset and length of the device's register set
- mbox-name		: Name of the mailbox
- #mbox-cells:		: Must be 2
			  <&phandle instance channel direction>
			    phandle   : Label name of controller
			    instance  : Instance number
			    channel   : Channel number

Optional properties
- interrupts		: Contains the IRQ line for a Rx mailbox

Example:

mailbox0: mailbox@0  {
	compatible	= "st,stih407-mailbox";
	reg		= <0x08f00000 0x1000>;
	interrupts	= <GIC_SPI 1 IRQ_TYPE_NONE>;
	#mbox-cells	= <2>;
	mbox-name	= "a9";
};

Client
------

Required properties:
- compatible		: Many (See the client docs)
- reg			: Shared (between Application and Remote) memory address
- mboxes		: Standard property to specify a Mailbox (See ./mailbox.txt)
			  Cells must match 'mbox-cells' (See Controller docs above)

Optional properties
- mbox-names		: Name given to channels seen in the 'mboxes' property.

Example:

mailbox_test {
	compatible	= "mailbox-test";
	reg		= <0x[shared_memory_address], [shared_memory_size]>;
	mboxes		= <&mailbox2 0 1>, <&mailbox0 2 1>;
	mbox-names	= "tx",	"rx";
};