Lines Matching +full:mhu +full:- +full:rx

1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Tushar Khandelwal <tushar.khandelwal@arm.com>
11 - Viresh Kumar <viresh.kumar@linaro.org>
14 The Arm Message Handling Unit (MHU) Version 2 is a mailbox controller that has
15 between 1 and 124 channel windows (each 32-bit wide) to provide unidirectional
20 be written to or read from. If a pair of MHU controllers is implemented
27 An MHU controller must be specified along with the supported transport
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
39 may be transmitted through a shared memory region, wherein the MHU is used
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
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
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.
111 mhu: mailbox@2b1f0000 {
114 arm,mhuv2-protocols = <0 2>, <1 1>, <1 5>, <1 7>;
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
142 mboxes = <&mhu 0 5>; // Channel Window Group 0, doorbell 5.
143 mboxes = <&mhu 1 7>; // Channel Window Group 1, doorbell 7.
144 mboxes = <&mhu 2 0>; // Channel Window Group 2, data transfer protocol with 1 window.
145 mboxes = <&mhu 3 0>; // Channel Window Group 3, data transfer protocol with 5 windows.
146 mboxes = <&mhu 4 0>; // Channel Window Group 4, data transfer protocol with 7 windows.
155 const: arm,mhuv2-rx
158 - interrupts
161 - compatible
162 - reg
163 - '#mbox-cells'
164 - arm,mhuv2-protocols
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>;