| 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>; |
| }; |