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