703 lines · plain
1// SPDX-License-Identifier: GPL-2.02/*3 * audio-graph-card2-custom-sample.dtsi4 *5 * Copyright (C) 2020 Renesas Electronics Corp.6 * Copyright (C) 2020 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>7 *8 * This sample indicates how to use audio-graph-card2 and its9 * custom driver. "audio-graph-card2-custom-sample" is the custome driver10 * which is using audio-graph-card2.11 *12 * You can easily use this sample by adding below line on your DT file,13 * and add new CONFIG to your .config.14 *15 * #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample.dtsi"16 *17 * CONFIG_SND_AUDIO_GRAPH_CARD218 * CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE19 * CONFIG_SND_TEST_COMPONENT20 *21 *22 * You can indicate more detail each device behavior as debug if you modify23 * "compatible" on each test-component. see below24 *25 * test_cpu {26 * - compatible = "test-cpu";27 * + compatible = "test-cpu-verbose";28 * ...29 * };30 *31 * test_codec {32 * - compatible = "test-codec";33 * + compatible = "test-codec-verbose";34 * ...35 * };36 *37 *38 * Below sample doesn't use "format" property,39 * because test-component driver (test-cpu/test-codec) is supporting40 * snd_soc_dai_ops :: .auto_selectable_formats.41 * see42 * snd_soc_runtime_get_dai_fmt()43 * linux/sound/soc/generic/test-component.c :: test_dai_formats44 */45/ {46 /*47 * @ : used at links48 *49 * [Normal]50 * cpu0 <-@-----------------> codec051 *52 * [Semi-Multi]53 *54 * CPU:Codec = 1:N55 *56 * +-+57 * cpu7 <-@------->| |-> codec1258 * | |-> codec1359 * +-+60 *61 * [Multi-CPU/Codec-0]62 * +-+ +-+63 * cpu1 <--| |<-@--------->| |-> codec164 * cpu2 <--| | | |-> codec265 * +-+ +-+66 *67 * [Multi-CPU/Codec-1]68 *69 * +-+ +-+70 * | |<-@--------->| |71 * | | | |72 * cpu8 <--| |<----------->| |-> codec1473 * cpu9 <--| |<---+------->| |-> codec1574 * +-+ \------>| |-> codec1675 * +-+76 *77 * [Multi-CPU/Codec-2]78 *79 * +-+ +-+80 * | |<-@--------->| |81 * | | | |82 * cpu10 <-| |<----------->| |-> codec1783 * cpu11 <-| |<-----+----->| |-> codec1884 * cpu12 <-| |<----/ +-+85 * +-+86 *87 * [DPCM]88 *89 * CPU3/CPU4 are converting rate to 4410090 *91 * FE BE92 * ****93 * cpu3 <-@--* *--@-> codec394 * cpu4 <-@--* * (44.1kHz)95 * ****96 *97 * [DPCM-Multi]98 *99 * --NOTE--100 * Multi-FE is not supported by ASoC.101 *102 * FE BE103 * **** +-+104 * cpu5 <-@--* *--@-> | | -> codec4105 * cpu6 <-@--* * | | -> codec5106 * **** +-+107 *108 * [Codec2Codec]109 * +-@-> codec6110 * |111 * +---> codec7112 *113 * [Codec2Codec-Multi]114 *115 * --NOTE--116 * Multi connect N:M is not supported by ASoC.117 *118 * +-+119 * +-@->| |-> codec8120 * | | |-> codec9121 * | +-+122 * | +-+123 * +--->| |-> codec10124 * | |-> codec11125 * +-+126 */127 audio-graph-card2-custom-sample {128 /*129 * You can use audio-graph-card2 directly by using130 *131 * compatible = "audio-graph-card2";132 */133 compatible = "audio-graph-card2-custom-sample";134 135 /* for [DPCM] */136 /* BE FE */137 routing = "TC DAI3 Playback", "DAI3 Playback",138 "TC DAI3 Playback", "DAI4 Playback",139 "DAI3 Capture", "TC DAI3 Capture",140 "DAI4 Capture", "TC DAI3 Capture",141 /* for [DPCM-Multi] */142 /* BE FE */143 "TC DAI4 Playback", "DAI5 Playback",144 "TC DAI5 Playback", "DAI5 Playback",145 "TC DAI4 Playback", "DAI6 Playback",146 "TC DAI5 Playback", "DAI6 Playback",147 "DAI5 Capture", "TC DAI4 Capture",148 "DAI5 Capture", "TC DAI5 Capture",149 "DAI6 Capture", "TC DAI4 Capture",150 "DAI6 Capture", "TC DAI5 Capture",151 /* for [Codec2Codec] */152 "TC OUT", "TC DAI7 Playback",153 "TC DAI6 Capture", "TC IN",154 /* for [Codec2Codec-Multi] */155 "TC OUT", "TC DAI10 Playback",156 "TC DAI8 Capture", "TC IN",157 "TC OUT", "TC DAI11 Playback",158 "TC DAI9 Capture", "TC IN";159 160 links = <161 /*162 * [Normal]: cpu side only163 * cpu0/codec0164 */165 &cpu0166 167 /*168 * [Semi-Multi]169 * cpu7/codec12/codec13170 */171 &sm0172 173 /*174 * [Multi-CPU/Codec-0]: cpu side only175 * cpu1/cpu2/codec1/codec2176 */177 &mcpu0178 179 /*180 * [Multi-CPU/Codec-1]: cpu side only181 * cpu8/cpu9/codec14/codec15/codec16182 *183 * Because it will reach to the maximum of sound minor number,184 * disable it so far.185 * If you want to try it, please disable some other one instead.186 */187 //&mcpu1188 189 /*190 * [Multi-CPU/Codec-2]: cpu side only191 * cpu10/cpu11/cpu12/codec17/codec18192 *193 * Because it will reach to the maximum of sound minor number,194 * disable it so far.195 * If you want to try it, please disable some other one instead.196 */197 //&mcpu2198 199 /*200 * [DPCM]: both FE / BE201 * cpu3/cpu4/codec3202 */203 &fe00 &fe01 &be0204 205 /*206 * [DPCM-Multi]: both FE / BE207 * cpu5/cpu6/codec4/codec5208 */209 &fe10 &fe11 &be1210 211 /*212 * [Codec2Codec]: cpu side only213 * codec6/codec7214 */215 &c2c216 217 /*218 * [Codec2Codec-Multi]: cpu side only219 * codec8/codec9/codec10/codec11220 */221 &c2c_m222 >;223 224 multi {225 #address-cells = <1>;226 #size-cells = <0>;227 228 /*229 * [Multi-CPU-0]230 *231 * +---+ +---+232 * cpu1 <--|A X|<-@------->|x a|-> codec1233 * cpu2 <--|B | | b|-> codec2234 * +---+ +---+235 */236 ports@0 {237 reg = <0>;238 #address-cells = <1>;239 #size-cells = <0>;240 mcpu0: port@0 { reg = <0>; mcpu00_ep: endpoint { remote-endpoint = <&mcodec00_ep>; };};/* (X) to pair */241 port@1 { reg = <1>; mcpu01_ep: endpoint { remote-endpoint = <&cpu1_ep>; };};/* (A) Multi Element */242 port@2 { reg = <2>; mcpu02_ep: endpoint { remote-endpoint = <&cpu2_ep>; };};/* (B) Multi Element */243 };244 245 /*246 * [Multi-Codec-0]247 *248 * +---+ +---+249 * cpu1 <--|A X|<-@------->|x a|-> codec1250 * cpu2 <--|B | | b|-> codec2251 * +---+ +---+252 */253 ports@1 {254 reg = <1>;255 #address-cells = <1>;256 #size-cells = <0>;257 port@0 { reg = <0>; mcodec00_ep: endpoint { remote-endpoint = <&mcpu00_ep>; };};/* (x) to pair */258 port@1 { reg = <1>; mcodec01_ep: endpoint { remote-endpoint = <&codec1_ep>; };};/* (a) Multi Element */259 port@2 { reg = <2>; mcodec02_ep: endpoint { remote-endpoint = <&codec2_ep>; };};/* (b) Multi Element */260 };261 262 /*263 * [DPCM-Multi]::BE264 *265 * FE BE266 * **** +---+267 * cpu5 <-@--* *-----@--->|x a|-> codec4268 * cpu6 <-@--* * | b|-> codec5269 * **** +---+270 */271 ports@2 {272 reg = <2>;273 #address-cells = <1>;274 #size-cells = <0>;275 port@0 { reg = <0>; mbe_ep: endpoint { remote-endpoint = <&be10_ep>; };};/* (x) to pair */276 port@1 { reg = <1>; mbe1_ep: endpoint { remote-endpoint = <&codec4_ep>; };};/* (a) Multi Element */277 port@2 { reg = <2>; mbe2_ep: endpoint { remote-endpoint = <&codec5_ep>; };};/* (b) Multi Element */278 };279 280 /*281 * [Codec2Codec-Multi]::CPU282 *283 * +---+284 * +-@->|X A|-> codec8285 * | | B|-> codec9286 * | +---+287 * | +---+288 * +--->|x a|-> codec10289 * | b|-> codec11290 * +---+291 */292 ports@3 {293 reg = <3>;294 #address-cells = <1>;295 #size-cells = <0>;296 port@0 { reg = <0>; mc2c0_ep: endpoint { remote-endpoint = <&c2cmf_ep>; };};/* (X) to pair */297 port@1 { reg = <1>; mc2c00_ep: endpoint { remote-endpoint = <&codec8_ep>; };};/* (A) Multi Element */298 port@2 { reg = <2>; mc2c01_ep: endpoint { remote-endpoint = <&codec9_ep>; };};/* (B) Multi Element */299 };300 301 /*302 * [Codec2Codec-Multi]::Codec303 *304 * +---+305 * +-@->|X A|-> codec8306 * | | B|-> codec9307 * | +---+308 * | +---+309 * +--->|x a|-> codec10310 * | b|-> codec11311 * +---+312 */313 ports@4 {314 reg = <4>;315 #address-cells = <1>;316 #size-cells = <0>;317 port@0 { reg = <0>; mc2c1_ep: endpoint { remote-endpoint = <&c2cmb_ep>; };};/* (x) to pair */318 port@1 { reg = <1>; mc2c10_ep: endpoint { remote-endpoint = <&codec10_ep>; };};/* (a) Multi Element */319 port@2 { reg = <2>; mc2c11_ep: endpoint { remote-endpoint = <&codec11_ep>; };};/* (b) Multi Element */320 };321 322 /*323 * [Semi-Multi]324 *325 * +---+326 * cpu7 <-@------->|X A|-> codec12327 * | B|-> codec13328 * +---+329 */330 ports@5 {331 reg = <5>;332 #address-cells = <1>;333 #size-cells = <0>;334 port@0 { reg = <0>; smcodec0_ep: endpoint { remote-endpoint = <&cpu7_ep>; };};/* (X) to pair */335 port@1 { reg = <1>; smcodec1_ep: endpoint { remote-endpoint = <&codec12_ep>; };};/* (A) Multi Element */336 port@2 { reg = <2>; smcodec2_ep: endpoint { remote-endpoint = <&codec13_ep>; };};/* (B) Multi Element */337 };338 339 /*340 * [Multi-CPU-1]341 *342 * +---+ +---+343 * | X|<-@------->|x |344 * | | | |345 * cpu8 <--|A 1|<--------->|3 a|-> codec14346 * cpu9 <--|B 2|<---+----->|4 b|-> codec15347 * +---+ \---->|5 c|-> codec16348 * +---+349 */350 ports@6 {351 reg = <6>;352 #address-cells = <1>;353 #size-cells = <0>;354 mcpu1: port@0 { reg = <0>; mcpu10_ep: endpoint { remote-endpoint = <&mcodec10_ep>; };}; /* (X) to pair */355 port@1 {356 #address-cells = <1>;357 #size-cells = <0>;358 reg = <1>;359 mcpu11_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu8_ep>; }; /* (A) Multi Element */360 mcpu11_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec11_ep_0>; }; /* (1) connected Codec */361 };362 port@2 {363 #address-cells = <1>;364 #size-cells = <0>;365 reg = <2>;366 mcpu12_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu9_ep>; }; /* (B) Multi Element */367 mcpu12_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec12_ep_0>; }; /* (2) connected Codec */368 mcpu12_ep_1: endpoint@2 { reg = <2>; remote-endpoint = <&mcodec13_ep_0>; }; /* (2) connected Codec */369 };370 };371 372 /*373 * [Multi-Codec-1]374 *375 * +---+ +---+376 * | X|<-@------->|x |377 * | | | |378 * cpu8 <--|A 1|<--------->|3 a|-> codec14379 * cpu9 <--|B 2|<---+----->|4 b|-> codec15380 * +---+ \---->|5 c|-> codec16381 * +---+382 */383 ports@7 {384 reg = <7>;385 #address-cells = <1>;386 #size-cells = <0>;387 port@0 { reg = <0>; mcodec10_ep: endpoint { remote-endpoint = <&mcpu10_ep>; };}; /* (x) to pair */388 port@1 {389 #address-cells = <1>;390 #size-cells = <0>;391 reg = <1>;392 mcodec11_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec14_ep>; }; /* (a) Multi Element */393 mcodec11_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu11_ep_0>; }; /* (3) connected CPU */394 };395 port@2 {396 #address-cells = <1>;397 #size-cells = <0>;398 reg = <2>;399 mcodec12_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec15_ep>; }; /* (b) Multi Element */400 mcodec12_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu12_ep_0>; }; /* (4) connected CPU */401 };402 port@3 {403 #address-cells = <1>;404 #size-cells = <0>;405 reg = <3>;406 mcodec13_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec16_ep>; }; /* (c) Multi Element */407 mcodec13_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu12_ep_1>; }; /* (5) connected CPU */408 };409 };410 411 /*412 * [Multi-CPU-2]413 *414 * +---+ +---+415 * | X|<-@------->|x |416 * | | | |417 * cpu10 <-|A 1|<--------->|4 a|-> codec17418 * cpu11 <-|B 2|<-----+--->|5 b|-> codec18419 * cpu12 <-|C 3|<----/ +---+420 * +---+421 */422 ports@8 {423 reg = <8>;424 #address-cells = <1>;425 #size-cells = <0>;426 mcpu2: port@0 { reg = <0>; mcpu20_ep: endpoint { remote-endpoint = <&mcodec20_ep>; };}; /* (X) to pair */427 port@1 {428 #address-cells = <1>;429 #size-cells = <0>;430 reg = <1>;431 mcpu21_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu10_ep>; }; /* (A) Multi Element */432 mcpu21_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec21_ep_0>; }; /* (1) connected Codec */433 };434 port@2 {435 #address-cells = <1>;436 #size-cells = <0>;437 reg = <2>;438 mcpu22_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu11_ep>; }; /* (B) Multi Element */439 mcpu22_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec22_ep_0>; }; /* (2) connected Codec */440 };441 port@3 {442 #address-cells = <1>;443 #size-cells = <0>;444 reg = <3>;445 mcpu23_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu12_ep>; }; /* (C) Multi Element */446 mcpu23_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec22_ep_1>; }; /* (3) connected Codec */447 };448 };449 450 /*451 * [Multi-Codec-2]452 *453 * +---+ +---+454 * | X|<-@------->|x |455 * | | | |456 * cpu10 <-|A 1|<--------->|4 a|-> codec17457 * cpu11 <-|B 2|<-----+--->|5 b|-> codec18458 * cpu12 <-|C 3|<----/ +---+459 * +---+460 */461 ports@9 {462 reg = <9>;463 #address-cells = <1>;464 #size-cells = <0>;465 port@0 { reg = <0>; mcodec20_ep: endpoint { remote-endpoint = <&mcpu20_ep>; };}; /* (x) to pair */466 port@1 {467 #address-cells = <1>;468 #size-cells = <0>;469 reg = <1>;470 mcodec21_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec17_ep>; }; /* (a) Multi Element */471 mcodec21_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu21_ep_0>; }; /* (4) connected CPU */472 };473 port@2 {474 #address-cells = <1>;475 #size-cells = <0>;476 reg = <2>;477 mcodec22_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec18_ep>; }; /* (b) Multi Element */478 mcodec22_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu22_ep_0>; }; /* (5) connected CPU */479 mcodec22_ep_1: endpoint@2 { reg = <2>; remote-endpoint = <&mcpu23_ep_0>; }; /* (5) connected CPU */480 };481 };482 };483 484 dpcm {485 #address-cells = <1>;486 #size-cells = <0>;487 488 ports@0 {489 reg = <0>;490 491 #address-cells = <1>;492 #size-cells = <0>;493 /*494 * [DPCM]::FE495 *496 * FE BE497 * ****498 * cpu3 <-@(fe00)--* *--(be0)@--> codec3499 * cpu4 <-@(fe01)--* * (44.1kHz)500 * ****501 */502 fe00: port@0 { reg = <0>; fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };503 fe01: port@1 { reg = <1>; fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };504 505 /*506 * [DPCM-Multi]::FE507 *508 * FE BE509 * **** +-+510 * cpu5 <-@(fe10)--* *---(be1)@-->| |-> codec4511 * cpu6 <-@(fe11)--* * | |-> codec5512 * **** +-+513 */514 fe10: port@2 { reg = <2>; fe10_ep: endpoint { remote-endpoint = <&cpu5_ep>; }; };515 fe11: port@3 { reg = <3>; fe11_ep: endpoint { remote-endpoint = <&cpu6_ep>; }; };516 };517 518 ports@1 {519 reg = <1>;520 521 #address-cells = <1>;522 #size-cells = <0>;523 /*524 * [DPCM]::BE525 *526 * FE BE527 * ****528 * cpu3 <-@(fe00)--* *--(be0)@--> codec3529 * cpu4 <-@(fe01)--* * (44.1kHz)530 * ****531 */532 be0: port@0 { reg = <0>; be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };533 534 /*535 * [DPCM-Multi]::BE536 *537 * FE BE538 * **** +-+539 * cpu5 <-@(fe10)--* *---(be1)@-->| |-> codec4540 * cpu6 <-@(fe11)--* * | |-> codec5541 * **** +-+542 */543 be1: port@1 { reg = <1>; be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };544 };545 };546 547 codec2codec {548 #address-cells = <1>;549 #size-cells = <0>;550 /*551 * [Codec2Codec]552 *553 * +-@(c2c)-> codec6554 * |555 * +--------> codec7556 */557 ports@0 {558 reg = <0>;559 560 #address-cells = <1>;561 #size-cells = <0>;562 563 /* use default settings */564 c2c: port@0 { reg = <0>; c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; };565 port@1 { reg = <1>; c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; };566 };567 568 /*569 * [Codec2Codec-Multi]570 *571 * +-+572 * +-@(c2c_m)-->| |-> codec8573 * | | |-> codec9574 * | +-+575 * | +-+576 * +----------->| |-> codec10577 * | |-> codec11578 * +-+579 */580 ports@1 {581 reg = <1>;582 583 #address-cells = <1>;584 #size-cells = <0>;585 586 /* use original settings */587 rate = <48000>;588 c2c_m: port@0 { reg = <0>; c2cmf_ep: endpoint { remote-endpoint = <&mc2c0_ep>; }; };589 port@1 { reg = <1>; c2cmb_ep: endpoint { remote-endpoint = <&mc2c1_ep>; }; };590 };591 };592 };593 594 test_cpu {595 /*596 * update compatible to indicate more detail behaviour597 * if you want. see test-compatible for more detail.598 *599 * ex)600 * - compatible = "test-cpu";601 * + compatible = "test-cpu-verbose";602 */603 compatible = "test-cpu";604 ports {605 #address-cells = <1>;606 #size-cells = <0>;607 608 bitclock-master;609 frame-master;610 /* [Normal] */611 cpu0: port@0 { reg = <0>; cpu0_ep: endpoint { remote-endpoint = <&codec0_ep>; }; };612 613 /* [Multi-CPU-0] */614 port@1 { reg = <1>; cpu1_ep: endpoint { remote-endpoint = <&mcpu01_ep>; }; };615 port@2 { reg = <2>; cpu2_ep: endpoint { remote-endpoint = <&mcpu02_ep>; }; };616 617 /* [DPCM]::FE */618 port@3 { reg = <3>; cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };619 port@4 { reg = <4>; cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };620 621 /* [DPCM-Multi]::FE */622 port@5 { reg = <5>; cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; };623 port@6 { reg = <6>; cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; };624 625 /* [Semi-Multi] */626 sm0: port@7 { reg = <7>; cpu7_ep: endpoint { remote-endpoint = <&smcodec0_ep>; }; };627 628 /* [Multi-CPU-1] */629 port@8 { reg = <8>; cpu8_ep: endpoint { remote-endpoint = <&mcpu11_ep>; }; };630 port@9 { reg = <9>; cpu9_ep: endpoint { remote-endpoint = <&mcpu12_ep>; }; };631 /* [Multi-CPU-2] */632 port@a { reg = <10>; cpu10_ep: endpoint { remote-endpoint = <&mcpu21_ep>; }; };633 port@b { reg = <11>; cpu11_ep: endpoint { remote-endpoint = <&mcpu22_ep>; }; };634 port@c { reg = <12>; cpu12_ep: endpoint { remote-endpoint = <&mcpu23_ep>; }; };635 };636 };637 638 test_codec {639 /*640 * update compatible to indicate more detail behaviour641 * if you want. see test-compatible for more detail.642 *643 * ex)644 * - compatible = "test-codec";645 * + compatible = "test-codec-verbose";646 */647 compatible = "test-codec";648 ports {649 #address-cells = <1>;650 #size-cells = <0>;651 652 /*653 * prefix can be added to *component*,654 * see audio-graph-card2::routing655 */656 prefix = "TC";657 658 /* [Normal] */659 port@0 { reg = <0>; codec0_ep: endpoint { remote-endpoint = <&cpu0_ep>; }; };660 661 /* [Multi-Codec-0] */662 port@1 { reg = <1>; codec1_ep: endpoint { remote-endpoint = <&mcodec01_ep>; }; };663 port@2 { reg = <2>; codec2_ep: endpoint { remote-endpoint = <&mcodec02_ep>; }; };664 665 /* [DPCM]::BE */666 port@3 {667 convert-rate = <44100>;668 reg = <3>; codec3_ep: endpoint { remote-endpoint = <&be00_ep>; };669 };670 671 /* [DPCM-Multi]::BE */672 port@4 { reg = <4>; codec4_ep: endpoint { remote-endpoint = <&mbe1_ep>; }; };673 port@5 { reg = <5>; codec5_ep: endpoint { remote-endpoint = <&mbe2_ep>; }; };674 675 /* [Codec2Codec] */676 port@6 { bitclock-master;677 frame-master;678 reg = <6>; codec6_ep: endpoint { remote-endpoint = <&c2cf_ep>; }; };679 port@7 { reg = <7>; codec7_ep: endpoint { remote-endpoint = <&c2cb_ep>; }; };680 681 /* [Codec2Codec-Multi] */682 port@8 { bitclock-master;683 frame-master;684 reg = <8>; codec8_ep: endpoint { remote-endpoint = <&mc2c00_ep>; }; };685 port@9 { reg = <9>; codec9_ep: endpoint { remote-endpoint = <&mc2c01_ep>; }; };686 port@a { reg = <10>; codec10_ep: endpoint { remote-endpoint = <&mc2c10_ep>; }; };687 port@b { reg = <11>; codec11_ep: endpoint { remote-endpoint = <&mc2c11_ep>; }; };688 689 /* [Semi-Multi] */690 port@c { reg = <12>; codec12_ep: endpoint { remote-endpoint = <&smcodec1_ep>; }; };691 port@d { reg = <13>; codec13_ep: endpoint { remote-endpoint = <&smcodec2_ep>; }; };692 693 /* [Multi-Codec-1] */694 port@e { reg = <14>; codec14_ep: endpoint { remote-endpoint = <&mcodec11_ep>; }; };695 port@f { reg = <15>; codec15_ep: endpoint { remote-endpoint = <&mcodec12_ep>; }; };696 port@10 { reg = <16>; codec16_ep: endpoint { remote-endpoint = <&mcodec13_ep>; }; };697 /* [Multi-Codec-2] */698 port@11 { reg = <17>; codec17_ep: endpoint { remote-endpoint = <&mcodec21_ep>; }; };699 port@12 { reg = <18>; codec18_ep: endpoint { remote-endpoint = <&mcodec22_ep>; }; };700 };701 };702};703