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. But dummy CPU with Multi-CPU/Codec connection helps you ? I'm not 100% sure though... See ${LINUX}/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
DT looks like
[Multi-CPU/Codec] +-+ +-+ cpu <--| |<-@--------->| |-> codec1 dummy <--| | | |-> codec2 +-+ +-+
Use Multi-CPU/Codec connection with dummy.
audio-graph-card2 { compatible = "audio-graph-card2"; links = <&mcpu>;
multi { ports@0 { /* [Multi-CPU] */ mcpu: port@0 { mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>; }; }; port@1 { mcpu1_ep: endpoint { remote-endpoint = <&cpu_ep>; }; }; port@2 { mcpu2_ep: endpoint { remote-endpoint = <&dummy_ep>; }; }; };
/* [Multi-Codec] */ ports@1 { port@0 { mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>; }; }; port@1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; }; port@2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; }; }; }; };
test_cpu { compatible = "test-cpu"; port { dummy_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; }; };
Thank you for your help !!
Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto