Linux Tegra architecture development
 help / color / mirror / Atom feed
From: Sameer Pujar <spujar@nvidia.com>
To: Mark Brown <broonie@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>
Cc: alsa-devel@alsa-project.org,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	devicetree@vger.kernel.org, robh+dt@kernel.org,
	Jon Hunter <jonathanh@nvidia.com>,
	linux-tegra@vger.kernel.org
Subject: Re: Query on audio-graph-card DT binding
Date: Fri, 5 Jan 2024 10:24:18 +0530	[thread overview]
Message-ID: <3faec2e9-8cd9-46f9-8807-801922de0edf@nvidia.com> (raw)
In-Reply-To: <42c0c4fa-585e-4194-bbe4-e0377c87e632@sirena.org.uk>



On 04-01-2024 22:52, Mark Brown wrote:
> On Thu, Jan 04, 2024 at 06:07:22PM +0100, Thierry Reding wrote:
>> On Tue, Dec 26, 2023 at 09:58:02PM +0530, Sameer Pujar wrote:
>>>                /-----> codec1 endpoint
>>>               /
>>> CPU endpoint \
>>>                \-----> codec2 endpoint
>> Can you describe the use-case? Is there a need to switch between codec1
>> and codec2 endpoints or do they receive the same data in parallel all
>> the time?
>> Could this perhaps be described by adding multiple CPU ports with one
>> endpoint each?
> Don't know about the specific use case that Sameer is looking at but to
> me this looks like a surround sound setup where multiple stereo (or
> mono) DACs are wired in parallel, either with a TDM setup or with
> multiple data lines.  There's multiple CODECs all taking input from a
> single host controller.

Yes, it is a TDM use case where the same clock and data line is shared 
with multiple CODECs. Each CODEC is expected to pickup data based on the 
allotted TDM slot.

It is possible to create multiple CPU dummy endpoints and use these in 
DT binding for each CODEC. I am not sure if this is the best way right 
now. There are few things to note here with dummy endpoints. First, it 
leads to bit of duplication of endpoint DAIs and DAI links for these. 
Please note that host controller pins are actually shared with external 
CODECs. So shouldn't DT provide a way to represent this connection? 
Second, ASoC provides a way to represent multiple CODECs on a single DAI 
link in the driver and my concern is to understand if present binding 
can be extended to represent this scenario. Third, one of the user 
wanted to connect 6 CODECs and that is the maximum request I have seen 
so far. I can expose additional dummy CPU DAIs keeping this maximum 
request in mind, but not sure if users would like to extend it further. 
The concern I have is, how can we make this easily extendible and 
simpler to use?

With custom DT bindings it may be simpler to resolve this, but Tegra 
audio presently relies on standard graph remote-endpoints binding. So I 
guess diverging from this may not be preferable?

  reply	other threads:[~2024-01-05  4:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-26 16:28 Query on audio-graph-card DT binding Sameer Pujar
2024-01-03  7:02 ` ASoC: dt-bindings: " Sameer Pujar
2024-01-04 17:07 ` Thierry Reding
2024-01-04 17:22   ` Mark Brown
2024-01-05  4:54     ` Sameer Pujar [this message]
2024-01-05  8:11       ` Thierry Reding
2024-01-05 11:19         ` Sameer Pujar
2024-01-09  2:17           ` Kuninori Morimoto
2024-01-09 11:49             ` Sameer Pujar
2024-01-09 23:15               ` Kuninori Morimoto
2024-01-10  5:01                 ` Sameer Pujar
2024-01-11  0:44                   ` Kuninori Morimoto
2024-01-11  4:28                     ` Sameer Pujar
2024-01-11  4:56                       ` Kuninori Morimoto
2024-01-11  5:09                         ` Sameer Pujar
2024-01-11  5:32                           ` Kuninori Morimoto
2024-01-11  6:49                             ` Sameer Pujar
2024-01-11 22:59                               ` Kuninori Morimoto
2024-01-12  8:09                                 ` Sameer Pujar
2024-01-15  1:43                                   ` Kuninori Morimoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3faec2e9-8cd9-46f9-8807-801922de0edf@nvidia.com \
    --to=spujar@nvidia.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox