6db4831e98
Android 14
44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
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 */
|
|
};
|