xref: /openbmc/linux/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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