mirror of https://gitee.com/openkylin/linux.git
55 lines
2.0 KiB
Plaintext
55 lines
2.0 KiB
Plaintext
NXP i.MX Messaging Unit (MU)
|
|
--------------------------------------------------------------------
|
|
|
|
The Messaging Unit module enables two processors within the SoC to
|
|
communicate and coordinate by passing messages (e.g. data, status
|
|
and control) through the MU interface. The MU also provides the ability
|
|
for one processor to signal the other processor using interrupts.
|
|
|
|
Because the MU manages the messaging between processors, the MU uses
|
|
different clocks (from each side of the different peripheral buses).
|
|
Therefore, the MU must synchronize the accesses from one side to the
|
|
other. The MU accomplishes synchronization using two sets of matching
|
|
registers (Processor A-facing, Processor B-facing).
|
|
|
|
Messaging Unit Device Node:
|
|
=============================
|
|
|
|
Required properties:
|
|
-------------------
|
|
- compatible : should be "fsl,<chip>-mu", the supported chips include
|
|
imx6sx, imx7s, imx8qxp, imx8qm.
|
|
The "fsl,imx6sx-mu" compatible is seen as generic and should
|
|
be included together with SoC specific compatible.
|
|
- reg : Should contain the registers location and length
|
|
- interrupts : Interrupt number. The interrupt specifier format depends
|
|
on the interrupt controller parent.
|
|
- #mbox-cells: Must be 2.
|
|
<&phandle type channel>
|
|
phandle : Label name of controller
|
|
type : Channel type
|
|
channel : Channel number
|
|
|
|
This MU support 4 type of unidirectional channels, each type
|
|
has 4 channels. A total of 16 channels. Following types are
|
|
supported:
|
|
0 - TX channel with 32bit transmit register and IRQ transmit
|
|
acknowledgment support.
|
|
1 - RX channel with 32bit receive register and IRQ support
|
|
2 - TX doorbell channel. Without own register and no ACK support.
|
|
3 - RX doorbell channel.
|
|
|
|
Optional properties:
|
|
-------------------
|
|
- clocks : phandle to the input clock.
|
|
- fsl,mu-side-b : Should be set for side B MU.
|
|
|
|
Examples:
|
|
--------
|
|
lsio_mu0: mailbox@5d1b0000 {
|
|
compatible = "fsl,imx8qxp-mu";
|
|
reg = <0x0 0x5d1b0000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
|
|
#mbox-cells = <2>;
|
|
};
|