Hi Sameer
/-----> codec1 endpoint /
CPU endpoint \ -----> codec2 endpoint
It sounds "Single CPU - Mult Codec" connection, and if my understanding was correct, current ASoC is not supporting it so far.
Yes, this is a typical TDM use case. __soc_pcm_hw_params() call in soc-pcm.c loops over all CODECs for a given rtd. So is there something else you are referring to which makes ASoC core doesn't support it?
Oops sorry, I was confused. asymmetry Multi CPU/Codec is supported on ASoC / Card2 on for-6.8 branch.
Also the binding properties of "audio-graph-card2" seem to be different from "audio-graph-card". I am looking at a simpler extension of existing bindings for Tegra audio without having to re-write the whole bindings. If "remote-endpoint" can take phandle array it would be simpler from DT point of view.
Yes, "card2" and "card" are similar but different. I'm not DT-man, but I think remote-endpoint phandle array is not allowed ? If my understanding was correct, you need to use multi endpoint in such case instead of phandle array.
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>; }; };
Thank you for your help !!
Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto