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... [2] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/tree/sound... [3] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/tree/sound...
Thank you for your help !!
Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto