Lines Matching +full:remote +full:- +full:endpoint
1 // SPDX-License-Identifier: GPL-2.0
3 * audio-graph-card2-custom-sample1.dtsi
8 * This sample indicates how to use audio-graph-card2 and its
9 * custom driver. "audio-graph-card2-custom-sample" is the custome driver
10 * which is using audio-graph-card2.
15 * #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample1.dtsi"
23 * "compatible" on each test-component. see below
26 * - compatible = "test-cpu";
27 * + compatible = "test-cpu-verbose";
32 * - compatible = "test-codec";
33 * + compatible = "test-codec-verbose";
39 * because test-component driver (test-cpu/test-codec) is supporting
43 * linux/sound/soc/generic/test-component.c :: test_dai_formats
46 audio-graph-card2-custom-sample-1 {
48 * You can use audio-graph-card2 directly by using
50 * compatible = "audio-graph-card2";
52 compatible = "audio-graph-card2-custom-sample";
53 label = "card2-custom-sample-1";
64 * cpu1_0 <-@-----> codec1_0
69 * [Semi-Multi]
73 * <sm> +-+
74 * cpu1_1 <--@---->| |-> codec1_1
75 * | |-> codec1_2
76 * +-+
81 * [Multi-CPU/Codec-A]
83 * +-+ <mcpuA> +-+
84 * cpu1_2 <-| |<---@------>| |-> codec1_3
85 * cpu1_3 <-| | | |-> codec1_4
86 * +-+ +-+
91 * [Multi-CPU/Codec-B]
93 * +-+ <mcpuB> +-+
94 * | |<---@------>| |
96 * cpu1_4 <-| |<---------->| |-> codec1_5
97 * cpu1_5 <-| |<---+------>| |-> codec1_6
98 * +-+ \----->| |-> codec1_7
99 * +-+
104 * [Multi-CPU/Codec-C]
106 * +-+ <mcpuC> +-+
107 * | |<---@------>| |
109 * cpu1_6 <-| |<---------->| |-> codec1_8
110 * cpu1_7 <-| |<-----+---->| |-> codec1_9
111 * cpu1_8 <-| |<----/ +-+
112 * +-+
118 #address-cells = <1>;
119 #size-cells = <0>;
122 * [Semi-Multi]
124 * <sm> +---+
125 * cpu1_1 <---@--->|X A|-> codec1_1
126 * | B|-> codec1_2
127 * +---+
131 #address-cells = <1>;
132 #size-cells = <0>;
133 …port@0 { reg = <0>; smcodec_ep: endpoint { remote-endpoint = <&cpu1_1_ep>; };};/* (X) to pair …
134 …port@1 { reg = <1>; smcodec_A_ep: endpoint { remote-endpoint = <&codec1_1_ep>; };};/* (A) Multi El…
135 …port@2 { reg = <2>; smcodec_B_ep: endpoint { remote-endpoint = <&codec1_2_ep>; };};/* (B) Multi El…
139 * [Multi-CPU-A]
141 * +---+ <mcpuA> +---+
142 * cpu1_2 <-|A X|<---@---->|x a|-> codec1_3
143 * cpu1_3 <-|B | | b|-> codec1_4
144 * +---+ +---+
148 #address-cells = <1>;
149 #size-cells = <0>;
150 …mcpuA: port@0 { reg = <0>; mcpu_A_ep: endpoint { remote-endpoint = <&mcodec_A_ep>; };}; /* (X) to…
151 …port@1 { reg = <1>; mcpu_AA_ep: endpoint { remote-endpoint = <&cpu1_2_ep>; };}; /* (A) Multi Ele…
152 …port@2 { reg = <2>; mcpu_AB_ep: endpoint { remote-endpoint = <&cpu1_3_ep>; };}; /* (B) Multi Ele…
156 * [Multi-Codec-A]
158 * +---+ <mcpuA> +---+
159 * cpu1_2 <-|A X|<-@------>|x a|-> codec1_3
160 * cpu1_3 <-|B | | b|-> codec1_4
161 * +---+ +---+
165 #address-cells = <1>;
166 #size-cells = <0>;
167 …port@0 { reg = <0>; mcodec_A_ep: endpoint { remote-endpoint = <&mcpu_A_ep>; };}; /* (x) to pair…
168 …port@1 { reg = <1>; mcodec_Aa_ep: endpoint { remote-endpoint = <&codec1_3_ep>; };}; /* (a) Multi E…
169 …port@2 { reg = <2>; mcodec_Ab_ep: endpoint { remote-endpoint = <&codec1_4_ep>; };}; /* (b) Multi E…
173 * [Multi-CPU-B]
175 * +---+ <mcpuB> +---+
176 * | X|<---@---->|x |
178 * cpu1_4 <-|A 1|<-------->|3 a|-> codec1_5
179 * cpu1_5 <-|B 2|<---+---->|4 b|-> codec1_6
180 * +---+ \--->|5 c|-> codec1_7
181 * +---+
185 #address-cells = <1>;
186 #size-cells = <0>;
189 mcpu_BX_ep: endpoint { remote-endpoint = <&mcodec_Bx_ep>; }; /* (X) to pair */
192 #address-cells = <1>;
193 #size-cells = <0>;
195 …mcpu_BA_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_4_ep>; }; /* (A) Multi Element */
196 …mcpu_B1_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_B3_ep>; }; /* (1) connected Codec…
199 #address-cells = <1>;
200 #size-cells = <0>;
202 …mcpu_BB_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_5_ep>; }; /* (B) Multi Element */
203 …mcpu_B2_0_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_B4_ep>; }; /* (2) connected Codec…
204 …mcpu_B2_1_ep: endpoint@2 { reg = <2>; remote-endpoint = <&mcodec_B5_ep>; }; /* (2) connected Codec…
209 * [Multi-Codec-B]
211 * +---+ <mcpuB> +---+
212 * | X|<-@------>|x |
214 * cpu1_4 <-|A 1|<-------->|3 a|-> codec1_5
215 * cpu1_5 <-|B 2|<---+---->|4 b|-> codec1_6
216 * +---+ \--->|5 c|-> codec1_7
217 * +---+
221 #address-cells = <1>;
222 #size-cells = <0>;
225 mcodec_Bx_ep: endpoint { remote-endpoint = <&mcpu_BX_ep>; }; /* (x) to pair */
228 #address-cells = <1>;
229 #size-cells = <0>;
231 … mcodec_Ba_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_5_ep>;}; /* (a) Multi Element */
232 … mcodec_B3_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B1_ep>; }; /* (3) connected CPU */
235 #address-cells = <1>;
236 #size-cells = <0>;
238 … mcodec_Bb_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_6_ep>; }; /* (b) Multi Element */
239 … mcodec_B4_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B2_0_ep>;}; /* (4) connected CPU */
242 #address-cells = <1>;
243 #size-cells = <0>;
245 … mcodec_Bc_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_7_ep>; }; /* (c) Multi Element */
246 … mcodec_B5_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B2_1_ep>;}; /* (5) connected CPU */
251 * [Multi-CPU-C]
253 * +---+ <mcpuC> +---+
254 * | X|<-@------>|x |
256 * cpu1_6 <-|A 1|<-------->|4 a|-> codec1_8
257 * cpu1_7 <-|B 2|<-----+-->|5 b|-> codec1_9
258 * cpu1_8 <-|C 3|<----/ +---+
259 * +---+
263 #address-cells = <1>;
264 #size-cells = <0>;
267 mcpu_CX_ep: endpoint { remote-endpoint = <&mcodec_Cx_ep>; }; /* (X) to pair */
270 #address-cells = <1>;
271 #size-cells = <0>;
273 … mcpu_CA_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_6_ep>; }; /* (A) Multi Element */
274 …mcpu_C1_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C4_ep>; }; /* (1) connected Codec */
277 #address-cells = <1>;
278 #size-cells = <0>;
280 …mcpu_CB_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_7_ep>; }; /* (B) Multi Element */
281 …mcpu_C2_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C5_0_ep>; }; /* (2) connected Codec…
284 #address-cells = <1>;
285 #size-cells = <0>;
287 …mcpu_CC_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_8_ep>; }; /* (C) Multi Element */
288 …mcpu_C3_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C5_1_ep>; }; /* (3) connected Codec…
293 * [Multi-Codec-C]
295 * +---+ <mcpuC> +---+
296 * | X|<-@------>|x |
298 * cpu1_6 <-|A 1|<-------->|4 a|-> codec1_8
299 * cpu1_7 <-|B 2|<-----+-->|5 b|-> codec1_9
300 * cpu1_8 <-|C 3|<----/ +---+
301 * +---+
305 #address-cells = <1>;
306 #size-cells = <0>;
309 mcodec_Cx_ep: endpoint { remote-endpoint = <&mcpu_CX_ep>; }; /* (x) to pair */
312 #address-cells = <1>;
313 #size-cells = <0>;
315 … mcodec_Ca_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_8_ep>;}; /* (a) Multi Element */
316 … mcodec_C4_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_C1_ep>; }; /* (4) connected CPU */
319 #address-cells = <1>;
320 #size-cells = <0>;
322 …mcodec_Cb_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_9_ep>;}; /* (b) Multi Element */
323 …mcodec_C5_0_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_C2_ep>; }; /* (5) connected CPU */
324 …mcodec_C5_1_ep: endpoint@2 { reg = <2>; remote-endpoint = <&mcpu_C3_ep>; }; /* (5) connected CPU */
333 * if you want. see test-compatible for more detail.
336 * - compatible = "test-cpu";
337 * + compatible = "test-cpu-verbose";
339 compatible = "test-cpu";
341 #address-cells = <1>;
342 #size-cells = <0>;
344 bitclock-master;
345 frame-master;
348 cpu1_0: port@0 { reg = <0>; cpu1_0_ep: endpoint { remote-endpoint = <&codec1_0_ep>;}; };
349 /* [Semi-Multi] */
350 sm: port@1 { reg = <1>; cpu1_1_ep: endpoint { remote-endpoint = <&smcodec_ep>; }; };
351 /* [Multi-CPU-A] */
352 port@2 { reg = <2>; cpu1_2_ep: endpoint { remote-endpoint = <&mcpu_AA_ep>; }; };
353 port@3 { reg = <3>; cpu1_3_ep: endpoint { remote-endpoint = <&mcpu_AB_ep>; }; };
354 /* [Multi-CPU-B] */
355 port@4 { reg = <4>; cpu1_4_ep: endpoint { remote-endpoint = <&mcpu_BA_ep>; }; };
356 port@5 { reg = <5>; cpu1_5_ep: endpoint { remote-endpoint = <&mcpu_BB_ep>; }; };
357 /* [Multi-CPU-C] */
358 port@6 { reg = <6>; cpu1_6_ep: endpoint { remote-endpoint = <&mcpu_CA_ep>; }; };
359 port@7 { reg = <7>; cpu1_7_ep: endpoint { remote-endpoint = <&mcpu_CB_ep>; }; };
360 port@8 { reg = <8>; cpu1_8_ep: endpoint { remote-endpoint = <&mcpu_CC_ep>; }; };
367 * if you want. see test-compatible for more detail.
370 * - compatible = "test-codec";
371 * + compatible = "test-codec-verbose";
373 compatible = "test-codec";
376 #address-cells = <1>;
377 #size-cells = <0>;
380 port@0 { reg = <0>; codec1_0_ep: endpoint { remote-endpoint = <&cpu1_0_ep>; }; };
381 /* [Semi-Multi] */
382 port@1 { reg = <1>; codec1_1_ep: endpoint { remote-endpoint = <&smcodec_A_ep>; }; };
383 port@2 { reg = <2>; codec1_2_ep: endpoint { remote-endpoint = <&smcodec_B_ep>; }; };
384 /* [Multi-Codec-0] */
385 port@3 { reg = <3>; codec1_3_ep: endpoint { remote-endpoint = <&mcodec_Aa_ep>; }; };
386 port@4 { reg = <4>; codec1_4_ep: endpoint { remote-endpoint = <&mcodec_Ab_ep>; }; };
387 /* [Multi-Codec-1] */
388 port@5 { reg = <5>; codec1_5_ep: endpoint { remote-endpoint = <&mcodec_Ba_ep>; }; };
389 port@6 { reg = <6>; codec1_6_ep: endpoint { remote-endpoint = <&mcodec_Bb_ep>; }; };
390 port@7 { reg = <7>; codec1_7_ep: endpoint { remote-endpoint = <&mcodec_Bc_ep>; }; };
391 /* [Multi-Codec-2] */
392 port@8 { reg = <8>; codec1_8_ep: endpoint { remote-endpoint = <&mcodec_Ca_ep>; }; };
393 port@9 { reg = <9>; codec1_9_ep: endpoint { remote-endpoint = <&mcodec_Cb_ep>; }; };