~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
  7 title: NXP i.MX Messaging Unit (MU)
  8 
  9 maintainers:
 10   - Dong Aisheng <aisheng.dong@nxp.com>
 11 
 12 description: |
 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 
 24 properties:
 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 
 58   reg:
 59     maxItems: 1
 60 
 61   interrupts:
 62     minItems: 1
 63     maxItems: 2
 64 
 65   interrupt-names:
 66     minItems: 1
 67     items:
 68       - const: tx
 69       - const: rx
 70 
 71   "#mbox-cells":
 72     description: |
 73       <&phandle type channel>
 74       phandle   : Label name of controller
 75       type      : Channel type
 76       channel   : Channel number
 77 
 78       This MU support 6 type of unidirectional channels, each type
 79       has 4 channels except RST channel which only has 1 channel.
 80       A total of 21 channels.  Following types are
 81       supported:
 82       0 - TX channel with 32bit transmit register and IRQ transmit
 83           acknowledgment support.
 84       1 - RX channel with 32bit receive register and IRQ support
 85       2 - TX doorbell channel. Without own register and no ACK support.
 86       3 - RX doorbell channel.
 87       4 - RST channel
 88       5 - Tx doorbell channel. With S/W ACK from the other side.
 89     const: 2
 90 
 91   clocks:
 92     maxItems: 1
 93 
 94   fsl,mu-side-b:
 95     description: boolean, if present, means it is for side B MU.
 96     type: boolean
 97 
 98   power-domains:
 99     maxItems: 1
100 
101   ranges: true
102 
103   '#address-cells':
104     const: 1
105 
106   '#size-cells':
107     const: 1
108 
109 patternProperties:
110   "^sram@[a-f0-9]+":
111     $ref: /schemas/sram/sram.yaml#
112     unevaluatedProperties: false
113 
114 required:
115   - compatible
116   - reg
117   - interrupts
118   - "#mbox-cells"
119 
120 allOf:
121   - if:
122       properties:
123         compatible:
124           enum:
125             - fsl,imx93-mu-s4
126     then:
127       properties:
128         interrupt-names:
129           minItems: 2
130         interrupts:
131           minItems: 2
132 
133     else:
134       properties:
135         interrupts:
136           maxItems: 1
137       not:
138         required:
139           - interrupt-names
140 
141   - if:
142       not:
143         properties:
144           compatible:
145             const: fsl,imx95-mu
146     then:
147       patternProperties:
148         "^sram@[a-f0-9]+": false
149 
150 additionalProperties: false
151 
152 examples:
153   - |
154     #include <dt-bindings/interrupt-controller/arm-gic.h>
155 
156     mailbox@5d1b0000 {
157         compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
158         reg = <0x5d1b0000 0x10000>;
159         interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
160         #mbox-cells = <2>;
161     };
162 
163   - |
164     #include <dt-bindings/interrupt-controller/arm-gic.h>
165 
166     mailbox@445b0000 {
167         compatible = "fsl,imx95-mu";
168         reg = <0x445b0000 0x10000>;
169         ranges;
170         interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
171         #address-cells = <1>;
172         #size-cells = <1>;
173         #mbox-cells = <2>;
174 
175         sram@445b1000 {
176             compatible = "mmio-sram";
177             reg = <0x445b1000 0x400>;
178             ranges = <0x0 0x445b1000 0x400>;
179             #address-cells = <1>;
180             #size-cells = <1>;
181 
182             scmi-sram-section@0 {
183                 compatible = "arm,scmi-shmem";
184                 reg = <0x0 0x80>;
185             };
186 
187             scmi-sram-section@80 {
188                 compatible = "arm,scmi-shmem";
189                 reg = <0x80 0x80>;
190             };
191         };
192     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php