12a975ac9SAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22a975ac9SAnson Huang%YAML 1.2 32a975ac9SAnson Huang--- 42a975ac9SAnson Huang$id: http://devicetree.org/schemas/mailbox/fsl,mu.yaml# 52a975ac9SAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 62a975ac9SAnson Huang 72a975ac9SAnson Huangtitle: NXP i.MX Messaging Unit (MU) 82a975ac9SAnson Huang 92a975ac9SAnson Huangmaintainers: 102a975ac9SAnson Huang - Dong Aisheng <aisheng.dong@nxp.com> 112a975ac9SAnson Huang 122a975ac9SAnson Huangdescription: | 132a975ac9SAnson Huang The Messaging Unit module enables two processors within the SoC to 142a975ac9SAnson Huang communicate and coordinate by passing messages (e.g. data, status 152a975ac9SAnson Huang and control) through the MU interface. The MU also provides the ability 162a975ac9SAnson Huang for one processor to signal the other processor using interrupts. 172a975ac9SAnson Huang 182a975ac9SAnson Huang Because the MU manages the messaging between processors, the MU uses 192a975ac9SAnson Huang different clocks (from each side of the different peripheral buses). 202a975ac9SAnson Huang Therefore, the MU must synchronize the accesses from one side to the 212a975ac9SAnson Huang other. The MU accomplishes synchronization using two sets of matching 222a975ac9SAnson Huang registers (Processor A-facing, Processor B-facing). 232a975ac9SAnson Huang 242a975ac9SAnson Huangproperties: 252a975ac9SAnson Huang compatible: 262a975ac9SAnson Huang oneOf: 272a975ac9SAnson Huang - const: fsl,imx6sx-mu 282a975ac9SAnson Huang - const: fsl,imx7ulp-mu 298339642cSPeng Fan - const: fsl,imx8ulp-mu 302a975ac9SAnson Huang - const: fsl,imx8-mu-scu 31960dcc15SPeng Fan - const: fsl,imx8-mu-seco 32241aba6cSPeng Fan - const: fsl,imx93-mu-s4 33a6daa220SPeng Fan - const: fsl,imx8ulp-mu-s4 342a975ac9SAnson Huang - items: 356149a543SPeng Fan - const: fsl,imx93-mu 366149a543SPeng Fan - const: fsl,imx8ulp-mu 376149a543SPeng Fan - items: 382a975ac9SAnson Huang - enum: 392a975ac9SAnson Huang - fsl,imx7s-mu 402a975ac9SAnson Huang - fsl,imx8mq-mu 412a975ac9SAnson Huang - fsl,imx8mm-mu 422a975ac9SAnson Huang - fsl,imx8mn-mu 432a975ac9SAnson Huang - fsl,imx8mp-mu 4451b78620SDong Aisheng - fsl,imx8qm-mu 452a975ac9SAnson Huang - fsl,imx8qxp-mu 462a975ac9SAnson Huang - const: fsl,imx6sx-mu 472a975ac9SAnson Huang - description: To communicate with i.MX8 SCU with fast IPC 482a975ac9SAnson Huang items: 492a975ac9SAnson Huang - const: fsl,imx8-mu-scu 5051b78620SDong Aisheng - enum: 5151b78620SDong Aisheng - fsl,imx8qm-mu 5251b78620SDong Aisheng - fsl,imx8qxp-mu 535823417cSKrzysztof Kozlowski - const: fsl,imx6sx-mu 542a975ac9SAnson Huang 552a975ac9SAnson Huang reg: 562a975ac9SAnson Huang maxItems: 1 572a975ac9SAnson Huang 582a975ac9SAnson Huang interrupts: 59241aba6cSPeng Fan minItems: 1 60241aba6cSPeng Fan maxItems: 2 61241aba6cSPeng Fan 62241aba6cSPeng Fan interrupt-names: 63241aba6cSPeng Fan minItems: 1 64241aba6cSPeng Fan items: 65241aba6cSPeng Fan - const: tx 66241aba6cSPeng Fan - const: rx 672a975ac9SAnson Huang 682a975ac9SAnson Huang "#mbox-cells": 692a975ac9SAnson Huang description: | 702a975ac9SAnson Huang <&phandle type channel> 712a975ac9SAnson Huang phandle : Label name of controller 722a975ac9SAnson Huang type : Channel type 732a975ac9SAnson Huang channel : Channel number 742a975ac9SAnson Huang 75*095730ddSPeng Fan This MU support 5 type of unidirectional channels, each type 76*095730ddSPeng Fan has 4 channels except RST channel which only has 1 channel. 77*095730ddSPeng Fan A total of 17 channels. Following types are 782a975ac9SAnson Huang supported: 792a975ac9SAnson Huang 0 - TX channel with 32bit transmit register and IRQ transmit 802a975ac9SAnson Huang acknowledgment support. 812a975ac9SAnson Huang 1 - RX channel with 32bit receive register and IRQ support 822a975ac9SAnson Huang 2 - TX doorbell channel. Without own register and no ACK support. 832a975ac9SAnson Huang 3 - RX doorbell channel. 84*095730ddSPeng Fan 4 - RST channel 852a975ac9SAnson Huang const: 2 862a975ac9SAnson Huang 872a975ac9SAnson Huang clocks: 882a975ac9SAnson Huang maxItems: 1 892a975ac9SAnson Huang 902a975ac9SAnson Huang fsl,mu-side-b: 912a975ac9SAnson Huang description: boolean, if present, means it is for side B MU. 922a975ac9SAnson Huang type: boolean 932a975ac9SAnson Huang 948c465e22SKrzysztof Kozlowski power-domains: 958c465e22SKrzysztof Kozlowski maxItems: 1 968c465e22SKrzysztof Kozlowski 972a975ac9SAnson Huangrequired: 982a975ac9SAnson Huang - compatible 992a975ac9SAnson Huang - reg 1002a975ac9SAnson Huang - interrupts 1012a975ac9SAnson Huang - "#mbox-cells" 1022a975ac9SAnson Huang 103241aba6cSPeng FanallOf: 104241aba6cSPeng Fan - if: 105241aba6cSPeng Fan properties: 106241aba6cSPeng Fan compatible: 107241aba6cSPeng Fan enum: 108241aba6cSPeng Fan - fsl,imx93-mu-s4 109241aba6cSPeng Fan then: 110241aba6cSPeng Fan properties: 111241aba6cSPeng Fan interrupt-names: 112241aba6cSPeng Fan minItems: 2 113241aba6cSPeng Fan interrupts: 114241aba6cSPeng Fan minItems: 2 115241aba6cSPeng Fan 116241aba6cSPeng Fan else: 117241aba6cSPeng Fan properties: 118241aba6cSPeng Fan interrupts: 119241aba6cSPeng Fan maxItems: 1 120241aba6cSPeng Fan not: 121241aba6cSPeng Fan required: 122241aba6cSPeng Fan - interrupt-names 123241aba6cSPeng Fan 1242a975ac9SAnson HuangadditionalProperties: false 1252a975ac9SAnson Huang 1262a975ac9SAnson Huangexamples: 1272a975ac9SAnson Huang - | 1282a975ac9SAnson Huang #include <dt-bindings/interrupt-controller/arm-gic.h> 1292a975ac9SAnson Huang 1302a975ac9SAnson Huang mailbox@5d1b0000 { 1312a975ac9SAnson Huang compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 1322a975ac9SAnson Huang reg = <0x5d1b0000 0x10000>; 1332a975ac9SAnson Huang interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 1342a975ac9SAnson Huang #mbox-cells = <2>; 1352a975ac9SAnson Huang }; 136