Hi Sameer > > CPU > > port { > > cpu_endpoint0: endpoint@0 { remote-endpoint = <&codec1_endpoint>; }; > > cpu_endpoint1: endpoint@1 { remote-endpoint = <&codec2_endpoint>; }; > > }; > > > > Codec1 > > port { > > codec1_endpoint: endpoint { remote-endpoint = <&cpu_endpoint0>; }; > > }; > > > > Codec2 > > port { > > codec2_endpoint: endpoint { remote-endpoint = <&cpu_endpoint1>; }; > > }; > > > > This is a workaround. Note that CPU endpoint@1 doesn't exist and a dummy > endpoint needs to be created. Like I mentioned in previous replies, the > number of dummy endpoints that need to be created depends on how many > CODECs user want to connect and it doesn't look scalable. I'm not DT-man, but it sounds you are misunderstanding about port vs endpoint ? "port" is for physical interface, "endpoint" is for connection. If 1 CPU physical interface is connected to 2 Codecs physical interfaces, above is for it in my understanding. Can Audio-Graph-Card2 N:M connection [1][2][3] help you ? Sample is for 2:3 connection, but it should be OK for 1:2. You need v6.8 or later [1] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/tree/sound/soc/generic/audio-graph-card2-custom-sample.dtsi?h=asoc-v6.8#n67 [2] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/tree/sound/soc/generic/audio-graph-card2-custom-sample.dtsi?h=asoc-v6.8#n339 [3] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/tree/sound/soc/generic/audio-graph-card2-custom-sample.dtsi?h=asoc-v6.8#n372 Thank you for your help !! Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto