File Index
Files and directories
Sign in
FILE

fsl,mu.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mailbox/fsl,mu.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NXP i.MX Messaging Unit (MU)
  8
  9maintainers:
 10  - Dong Aisheng <aisheng.dong@nxp.com>
 11
 12description: |
 13  The Messaging Unit module enables two processors within the SoC to
 14  communicate and coordinate by passing messages (e.g. data, status
 15  and control) through the MU interface. The MU also provides the ability
 16  for one processor to signal the other processor using interrupts.
 17
 18  Because the MU manages the messaging between processors, the MU uses
 19  different clocks (from each side of the different peripheral buses).
 20  Therefore, the MU must synchronize the accesses from one side to the
 21  other. The MU accomplishes synchronization using two sets of matching
 22  registers (Processor A-facing, Processor B-facing).
 23
 24properties:
 25  compatible:
 26    oneOf:
 27      - const: fsl,imx6sx-mu
 28      - const: fsl,imx7ulp-mu
 29      - const: fsl,imx8ulp-mu
 30      - const: fsl,imx8-mu-scu
 31      - const: fsl,imx8-mu-seco
 32      - const: fsl,imx8ulp-mu-s4
 33      - const: fsl,imx93-mu-s4
 34      - const: fsl,imx95-mu
 35      - const: fsl,imx95-mu-ele
 36      - const: fsl,imx95-mu-v2x
 37      - items:
 38          - const: fsl,imx93-mu
 39          - const: fsl,imx8ulp-mu
 40      - items:
 41          - enum:
 42              - fsl,imx7s-mu
 43              - fsl,imx8mq-mu
 44              - fsl,imx8mm-mu
 45              - fsl,imx8mn-mu
 46              - fsl,imx8mp-mu
 47              - fsl,imx8qm-mu
 48              - fsl,imx8qxp-mu
 49          - const: fsl,imx6sx-mu
 50      - description: To communicate with i.MX8 SCU with fast IPC
 51        items:
 52          - const: fsl,imx8-mu-scu
 53          - enum:
 54              - fsl,imx8qm-mu
 55              - fsl,imx8qxp-mu
 56          - const: fsl,imx6sx-mu
 57      - items:
 58          - enum:
 59              - fsl,imx94-mu
 60          - const: fsl,imx95-mu
 61
 62  reg:
 63    maxItems: 1
 64
 65  interrupts:
 66    minItems: 1
 67    maxItems: 2
 68
 69  interrupt-names:
 70    minItems: 1
 71    items:
 72      - const: tx
 73      - const: rx
 74
 75  "#mbox-cells":
 76    description: |
 77      <&phandle type channel>
 78      phandle   : Label name of controller
 79      type      : Channel type
 80      channel   : Channel number
 81
 82      This MU support 6 type of unidirectional channels, each type
 83      has 4 channels except RST channel which only has 1 channel.
 84      A total of 21 channels.  Following types are
 85      supported:
 86      0 - TX channel with 32bit transmit register and IRQ transmit
 87          acknowledgment support.
 88      1 - RX channel with 32bit receive register and IRQ support
 89      2 - TX doorbell channel. Without own register and no ACK support.
 90      3 - RX doorbell channel.
 91      4 - RST channel
 92      5 - Tx doorbell channel. With S/W ACK from the other side.
 93    const: 2
 94
 95  clocks:
 96    maxItems: 1
 97
 98  fsl,mu-side-b:
 99    description: boolean, if present, means it is for side B MU.
100    type: boolean
101
102  power-domains:
103    maxItems: 1
104
105  ranges: true
106
107  '#address-cells':
108    const: 1
109
110  '#size-cells':
111    const: 1
112
113patternProperties:
114  "^sram@[a-f0-9]+":
115    $ref: /schemas/sram/sram.yaml#
116    unevaluatedProperties: false
117
118required:
119  - compatible
120  - reg
121  - interrupts
122  - "#mbox-cells"
123
124allOf:
125  - if:
126      properties:
127        compatible:
128          enum:
129            - fsl,imx93-mu-s4
130    then:
131      properties:
132        interrupt-names:
133          minItems: 2
134        interrupts:
135          minItems: 2
136
137    else:
138      properties:
139        interrupts:
140          maxItems: 1
141      not:
142        required:
143          - interrupt-names
144
145  - if:
146      not:
147        properties:
148          compatible:
149            contains:
150              const: fsl,imx95-mu
151    then:
152      patternProperties:
153        "^sram@[a-f0-9]+": false
154
155additionalProperties: false
156
157examples:
158  - |
159    #include <dt-bindings/interrupt-controller/arm-gic.h>
160
161    mailbox@5d1b0000 {
162        compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
163        reg = <0x5d1b0000 0x10000>;
164        interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
165        #mbox-cells = <2>;
166    };
167
168  - |
169    #include <dt-bindings/interrupt-controller/arm-gic.h>
170
171    mailbox@445b0000 {
172        compatible = "fsl,imx95-mu";
173        reg = <0x445b0000 0x10000>;
174        ranges;
175        interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
176        #address-cells = <1>;
177        #size-cells = <1>;
178        #mbox-cells = <2>;
179
180        sram@445b1000 {
181            compatible = "mmio-sram";
182            reg = <0x445b1000 0x400>;
183            ranges = <0x0 0x445b1000 0x400>;
184            #address-cells = <1>;
185            #size-cells = <1>;
186
187            scmi-sram-section@0 {
188                compatible = "arm,scmi-shmem";
189                reg = <0x0 0x80>;
190            };
191
192            scmi-sram-section@80 {
193                compatible = "arm,scmi-shmem";
194                reg = <0x80 0x80>;
195            };
196        };
197    };
~/ Read-only file preview.