Re: Query on audio-graph-card DT binding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10-01-2024 04:45, Kuninori Morimoto wrote:
                /-----> 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 ?

Yes, it is not allowed and there is DTC error. Exploring if there is an extension possible to allow phandle array.

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>; };
         };


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.




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux