Lines Matching +full:mhuv2 +full:- +full:protocols

1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mailbox/arm,mhuv2.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: ARM MHUv2 Mailbox Controller
10 - Tushar Khandelwal <tushar.khandelwal@arm.com>
11 - Viresh Kumar <viresh.kumar@linaro.org>
15 between 1 and 124 channel windows (each 32-bit wide) to provide unidirectional
19 Given the unidirectional nature of the controller, an MHUv2 mailbox may only
28 protocols. The transport protocols determine the method of data transmission
31 Following are the possible transport protocols.
33 - Data-transfer: Each transfer is made of one or more words, using one or more
36 - Doorbell: Each transfer is made up of single bit flag, using any one of the
49 - arm,mhuv2-tx
50 - arm,mhuv2-rx
52 - compatible
57 - description: Sender mode
59 - const: arm,mhuv2-tx
60 - const: arm,primecell
62 - description: Receiver-mode
64 - const: arm,mhuv2-rx
65 - const: arm,primecell
72 The MHUv2 controller always implements an interrupt in the "receiver"
74 version MHUv2.0, but the later versions do have it.
80 clock-names:
83 arm,mhuv2-protocols:
84 $ref: /schemas/types.yaml#/definitions/uint32-matrix
86 The MHUv2 controller may contain up to 124 channel windows (each 32-bit
88 be used for various transport protocols.
91 used in various transport protocols. The entries in this property shall be
97 for doorbell protocol, and 1 is reserved for data-transfer protocol.
102 doorbell protocol this field signifies the number of 32-bit channel
103 windows that implement the doorbell protocol. For data-transfer protocol,
104 this field signifies the number of 32-bit channel windows that implement
105 the data-transfer protocol.
114 arm,mhuv2-protocols = <0 2>, <1 1>, <1 5>, <1 7>;
117 The above example defines the protocols of an ARM MHUv2 mailbox
120 7 windows (separately) used in data-transfer protocol.
126 - enum: [ 0, 1 ]
127 - minimum: 0
131 '#mbox-cells':
135 doorbell, or data-transfer protocol, and the second argument (only
139 From the example given above for arm,mhuv2-protocols, here is how a client
155 const: arm,mhuv2-rx
158 - interrupts
161 - compatible
162 - reg
163 - '#mbox-cells'
164 - arm,mhuv2-protocols
169 # Multiple transport protocols implemented by the mailbox controllers
170 - |
172 #address-cells = <2>;
173 #size-cells = <2>;
176 #mbox-cells = <2>;
177 compatible = "arm,mhuv2-tx", "arm,primecell";
180 clock-names = "apb_pclk";
182 arm,mhuv2-protocols = <1 5>, <1 2>, <1 5>, <1 7>, <0 2>;
186 #mbox-cells = <2>;
187 compatible = "arm,mhuv2-rx", "arm,primecell";
190 clock-names = "apb_pclk";
192 arm,mhuv2-protocols = <1 1>, <1 7>, <0 2>;
196 compatible = "fsl,imx8qxp-dsp";
199 clock-names = "ipg", "ocram", "core";
200 power-domains = <&pd 0>, <&pd 1>, <&pd 2>, <&pd 3>;
201 mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1";
202 mboxes = <&mhu_tx 2 0>, //data-transfer protocol with 5 windows, mhu-tx
203 <&mhu_tx 3 0>, //data-transfer protocol with 7 windows, mhu-tx
204 <&mhu_rx 2 27>, //doorbell protocol channel 2, doorbell 27, mhu-rx
205 <&mhu_rx 0 0>; //data-transfer protocol with 1 window, mhu-rx
206 memory-region = <&dsp_reserved>;