Staging
v0.7.0
https://github.com/torvalds/linux
Raw File
Tip revision: 8fe28cb58bcb235034b64cbbb7550a8a43fd88be authored by Linus Torvalds on 23 December 2018, 23:55:59 UTC
Linux 4.20
Tip revision: 8fe28cb
arm-mhu.txt
ARM MHU Mailbox Driver
======================

The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has
3 independent channels/links to communicate with remote processor(s).
 MHU links are hardwired on a platform. A link raises interrupt for any
received data. However, there is no specified way of knowing if the sent
data has been read by the remote. This driver assumes the sender polls
STAT register and the remote clears it after having read the data.
The last channel is specified to be a 'Secure' resource, hence can't be
used by Linux running NS.

Mailbox Device Node:
====================

Required properties:
--------------------
- compatible:		Shall be "arm,mhu" & "arm,primecell"
- reg:			Contains the mailbox register address range (base
			address and length)
- #mbox-cells		Shall be 1 - the index of the channel needed.
- interrupts:		Contains the interrupt information corresponding to
			each of the 3 links of MHU.

Example:
--------

	mhu: mailbox@2b1f0000 {
		#mbox-cells = <1>;
		compatible = "arm,mhu", "arm,primecell";
		reg = <0 0x2b1f0000 0x1000>;
		interrupts = <0 36 4>, /* LP-NonSecure */
			     <0 35 4>, /* HP-NonSecure */
			     <0 37 4>; /* Secure */
		clocks = <&clock 0 2 1>;
		clock-names = "apb_pclk";
	};

	mhu_client: scb@2e000000 {
		compatible = "fujitsu,mb86s70-scb-1.0";
		reg = <0 0x2e000000 0x4000>;
		mboxes = <&mhu 1>; /* HP-NonSecure */
	};
back to top