Lines Matching +full:protocol +full:- +full:node
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>
15 between 1 and 124 channel windows (each 32-bit wide) to provide unidirectional
24 If the interrupts property is present in device tree node, then its treated as
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
38 and the entire window shall be used in doorbell protocol. Optionally, data
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
93 one of the transport protocol being implemented over some channel
96 The first field of a tuple signifies the transfer protocol, 0 is reserved
97 for doorbell protocol, and 1 is reserved for data-transfer protocol.
101 the protocol would be used and should be set to a non zero value. For
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>;
119 windows are used in doorbell protocol (64 doorbells), followed by 1, 5 and
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
136 relevant in doorbell protocol, should be 0 otherwise) represents the
139 From the example given above for arm,mhuv2-protocols, here is how a client
140 node can reference them.
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>;