1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/fsl,mu.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: NXP i.MX Messaging Unit (MU) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Dong Aisheng <aisheng.dong@nxp.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The Messaging Unit module enables two processors within the SoC to 14c66ec88fSEmmanuel Vadot communicate and coordinate by passing messages (e.g. data, status 15c66ec88fSEmmanuel Vadot and control) through the MU interface. The MU also provides the ability 16c66ec88fSEmmanuel Vadot for one processor to signal the other processor using interrupts. 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot Because the MU manages the messaging between processors, the MU uses 19c66ec88fSEmmanuel Vadot different clocks (from each side of the different peripheral buses). 20c66ec88fSEmmanuel Vadot Therefore, the MU must synchronize the accesses from one side to the 21c66ec88fSEmmanuel Vadot other. The MU accomplishes synchronization using two sets of matching 22c66ec88fSEmmanuel Vadot registers (Processor A-facing, Processor B-facing). 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadotproperties: 25c66ec88fSEmmanuel Vadot compatible: 26c66ec88fSEmmanuel Vadot oneOf: 27c66ec88fSEmmanuel Vadot - const: fsl,imx6sx-mu 28c66ec88fSEmmanuel Vadot - const: fsl,imx7ulp-mu 29*5956d97fSEmmanuel Vadot - const: fsl,imx8ulp-mu 30c66ec88fSEmmanuel Vadot - const: fsl,imx8-mu-scu 31c66ec88fSEmmanuel Vadot - items: 32c66ec88fSEmmanuel Vadot - enum: 33c66ec88fSEmmanuel Vadot - fsl,imx7s-mu 34c66ec88fSEmmanuel Vadot - fsl,imx8mq-mu 35c66ec88fSEmmanuel Vadot - fsl,imx8mm-mu 36c66ec88fSEmmanuel Vadot - fsl,imx8mn-mu 37c66ec88fSEmmanuel Vadot - fsl,imx8mp-mu 382eb4d8dcSEmmanuel Vadot - fsl,imx8qm-mu 39c66ec88fSEmmanuel Vadot - fsl,imx8qxp-mu 40c66ec88fSEmmanuel Vadot - const: fsl,imx6sx-mu 41c66ec88fSEmmanuel Vadot - description: To communicate with i.MX8 SCU with fast IPC 42c66ec88fSEmmanuel Vadot items: 43c66ec88fSEmmanuel Vadot - const: fsl,imx8-mu-scu 442eb4d8dcSEmmanuel Vadot - enum: 452eb4d8dcSEmmanuel Vadot - fsl,imx8qm-mu 462eb4d8dcSEmmanuel Vadot - fsl,imx8qxp-mu 476be33864SEmmanuel Vadot - const: fsl,imx6sx-mu 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot reg: 50c66ec88fSEmmanuel Vadot maxItems: 1 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot interrupts: 53c66ec88fSEmmanuel Vadot maxItems: 1 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot "#mbox-cells": 56c66ec88fSEmmanuel Vadot description: | 57c66ec88fSEmmanuel Vadot <&phandle type channel> 58c66ec88fSEmmanuel Vadot phandle : Label name of controller 59c66ec88fSEmmanuel Vadot type : Channel type 60c66ec88fSEmmanuel Vadot channel : Channel number 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot This MU support 4 type of unidirectional channels, each type 63c66ec88fSEmmanuel Vadot has 4 channels. A total of 16 channels. Following types are 64c66ec88fSEmmanuel Vadot supported: 65c66ec88fSEmmanuel Vadot 0 - TX channel with 32bit transmit register and IRQ transmit 66c66ec88fSEmmanuel Vadot acknowledgment support. 67c66ec88fSEmmanuel Vadot 1 - RX channel with 32bit receive register and IRQ support 68c66ec88fSEmmanuel Vadot 2 - TX doorbell channel. Without own register and no ACK support. 69c66ec88fSEmmanuel Vadot 3 - RX doorbell channel. 70c66ec88fSEmmanuel Vadot const: 2 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot clocks: 73c66ec88fSEmmanuel Vadot maxItems: 1 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot fsl,mu-side-b: 76c66ec88fSEmmanuel Vadot description: boolean, if present, means it is for side B MU. 77c66ec88fSEmmanuel Vadot type: boolean 78c66ec88fSEmmanuel Vadot 796be33864SEmmanuel Vadot power-domains: 806be33864SEmmanuel Vadot maxItems: 1 816be33864SEmmanuel Vadot 82c66ec88fSEmmanuel Vadotrequired: 83c66ec88fSEmmanuel Vadot - compatible 84c66ec88fSEmmanuel Vadot - reg 85c66ec88fSEmmanuel Vadot - interrupts 86c66ec88fSEmmanuel Vadot - "#mbox-cells" 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel VadotadditionalProperties: false 89c66ec88fSEmmanuel Vadot 90c66ec88fSEmmanuel Vadotexamples: 91c66ec88fSEmmanuel Vadot - | 92c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot mailbox@5d1b0000 { 95c66ec88fSEmmanuel Vadot compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 96c66ec88fSEmmanuel Vadot reg = <0x5d1b0000 0x10000>; 97c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 98c66ec88fSEmmanuel Vadot #mbox-cells = <2>; 99c66ec88fSEmmanuel Vadot }; 100