devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean-Francois Moine <moinejf@free.fr>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	Andrew Jackson <Andrew.Jackson@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jyri Sarha <jsarha@ti.com>, Mark Brown <broonie@kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio
Date: Fri, 9 Jan 2015 18:38:57 +0100	[thread overview]
Message-ID: <20150109183857.53d701a4@armhf> (raw)
In-Reply-To: <20150109145741.GP12302@n2100.arm.linux.org.uk>

On Fri, 9 Jan 2015 14:57:41 +0000
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:

> Well, if we look at the HDMI specs, there is a field in the audio info
> frame (CA bits) which identifies the speaker allocation between the
> HDMI PCM channels and the physical speakers.
> 
> It describes a limited set - essentially though, channel 0 is always
> front left, and channel 1 is always front right.  Channel 2 is always
> LFE, and channel 3 is always front centre.
> 
> Channel 0 and 1 are always allocated, but it's possible to have channels
> above 2 to be allocated independently of each other (eg, you could have
> 7, 6, 1, 0 allocated to front right centre, front left centre, right,
> left speakers - in that order.)
> 
> As you point out, we don't have documentation which tells us know how
> these PCM channels map to I2S inputs.

I had a look at the TDA19988 (small) datasheet I have and at the HDMI
specs, and, yes, you are right: multi (stereo) channels implies speaker
mapping, and, then, that the I2S streams come from a same media source.

While, as said in the TDA19988 datasheet,
"The I2S-bus input interface receives an I2S-bus signal including
 serial data, word select and serial clock",
it would be strange that these I2S buses come from different audio devices.

> What we do know is that there is a fixed mapping between AP pins and I2S
> channels (which are not PCM channels), but as you point out, we don't
> have any documentation which describes how the I2S channels (each with
> their own L+R words) map to the PCM channels - and we don't know whether
> the CA_I2S bits in that same register in the TDA998x have an effect on
> this.

HDMI talks about LPCM (Linear PCM) channels and TDA19988 talks about
I2S-bus (stereo) channels. For me, it seems obvious that these channels
are correlated:
- LPCM-0 is I2S-bus-0-left (FL)
- LPCM-1 is I2S-bus-0-right (FR)
- LPCM-2 is I2S-bus-1-left (LFE)
- LPCM-3 is I2S-bus-1-right (FC)
...

> Does anyone have a TDA998x setup which has an I2S source connected to
> the TDA998x I2S channel 1, and who has a HDMI sink which will accept
> the LFE/FC channels?  If so, producing a description of how the CA_I2S
> bits and enabling I2S input pins influences the mapping would be a good
> idea.

I could not find a description of these CA_I2S bits.

> If we don't have that, I'd recommend splitting the DT property into
> "audio inputs for I2S" and "audio input for SPDIF" (only one can be
> active with SPDIF).
> 
> If we want to support more than one SPDIF input (which must be mutually
> exclusive) I'd recommend to look at the OF graph stuff we use in DRM -
> one port for each "mode" - eg, I2S, SPDIF in on AP2, SPDIF in on AP3.
> Each port node can specify the AP pins which should be enabled.

I agree. There are one S/PDIF port and one I2S port.

So, which syntax?

I proposed:

	audio-ports = <0x04>, <0x03>;
	audio-port-names = "spdif", "i2s";

Do you better like:

	audio-spdif-port = <0x04>;
	audio-i2s-port = <0x03>;

-- 
Ken ar c'hentañ	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-01-09 17:38 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-07 11:06 [PATCH v9 0/4] ASoC: tda998x: add a codec to the HDMI transmitter Jean-Francois Moine
2015-01-07  9:10 ` [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio Jean-Francois Moine
2015-01-07 14:39   ` Andrew Jackson
2015-01-07 17:08     ` Jean-Francois Moine
2015-01-07 17:18       ` Andrew Jackson
2015-01-07 17:33         ` Mark Brown
     [not found]   ` <0084acea5a3475a77531d6a77483f36d3469111a.1420628786.git.moinejf-GANU6spQydw@public.gmane.org>
2015-01-08 14:53     ` Jyri Sarha
     [not found]       ` <54AE99F5.1010404-l0cyMroinI0@public.gmane.org>
2015-01-08 16:42         ` Jean-Francois Moine
2015-01-08 20:04           ` Mark Brown
2015-01-09  9:25             ` Andrew Jackson
2015-01-09 10:13           ` Jyri Sarha
2015-01-09 11:30             ` Jean-Francois Moine
2015-01-09 11:45               ` Russell King - ARM Linux
2015-01-09 12:54                 ` Jean-Francois Moine
2015-01-09 13:07                   ` Russell King - ARM Linux
     [not found]                     ` <20150109130725.GN12302-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2015-01-09 13:58                       ` Andrew Jackson
2015-01-09 14:57                         ` Russell King - ARM Linux
2015-01-09 17:38                           ` Jean-Francois Moine [this message]
2015-01-09 20:01                             ` Russell King - ARM Linux
     [not found]                               ` <20150109200127.GD12302-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2015-01-10 15:47                                 ` [alsa-devel] " Jean-Francois Moine
2015-01-12  9:25                               ` Philipp Zabel
2015-01-12 12:25                                 ` Russell King - ARM Linux
2015-01-12 13:59                                   ` Philipp Zabel
2015-01-12 14:04                                     ` Russell King - ARM Linux
2015-01-12 17:13                                       ` Jean-Francois Moine
2015-01-12 17:57                                         ` Russell King - ARM Linux
2015-01-12 19:14                                           ` Jean-Francois Moine
2015-01-13 12:21                                           ` Philipp Zabel
2015-01-13 12:27                                             ` Russell King - ARM Linux
2015-01-13 15:54                                               ` Jean-Francois Moine
2015-01-13 16:03                                                 ` Russell King - ARM Linux
2015-01-13 19:02                                                   ` Jean-Francois Moine
2015-01-13 19:26                                                     ` Russell King - ARM Linux
2015-01-13 19:41                                                       ` Jyri Sarha
2015-01-13 19:54                                                         ` Russell King - ARM Linux
2015-01-14  7:55                                                           ` Jean-Francois Moine
2015-01-14 12:12                                                             ` Russell King - ARM Linux
2015-01-14 10:46                                                           ` Philipp Zabel
2015-01-14 12:50                                                             ` Mark Brown
2015-01-14 14:23                                                               ` Russell King - ARM Linux
2015-01-07 10:00 ` [PATCH v9 2/4] drm/i2c: tda998x: Change drvdata for audio extension Jean-Francois Moine
2015-01-07 10:51 ` [PATCH v9 3/4] ASoC: tda998x: add a codec to the HDMI transmitter Jean-Francois Moine
2015-01-07 15:10   ` Andrew Jackson
2015-01-07 15:41     ` Russell King - ARM Linux
2015-01-07 18:02       ` Jean-Francois Moine
2015-01-09 10:24         ` Jyri Sarha
2015-01-09 11:15           ` Jean-Francois Moine
2015-01-09 11:19           ` Russell King - ARM Linux
2015-01-09 11:45             ` Jean-Francois Moine
2015-01-09 11:48               ` Russell King - ARM Linux
2015-01-07 17:34     ` Mark Brown
2015-01-08 14:55   ` Jyri Sarha
2015-01-09 17:39   ` Andrew Jackson
     [not found]     ` <54B0123C.9070800-5wv7dgnIgG8@public.gmane.org>
2015-01-09 17:54       ` Mark Brown
2015-01-13  9:24     ` Jean-Francois Moine
2015-01-11 21:03   ` Jyri Sarha
2015-01-13  7:41     ` Jean-Francois Moine
2015-01-07 11:01 ` [PATCH v9 4/4] drm/i2c: tda998x: set cts_n according to the sample width Jean-Francois Moine
2015-01-08 14:53 ` [PATCH v9 0/4] ASoC: tda998x: add a codec to the HDMI transmitter Jyri Sarha
2015-01-08 20:05   ` Mark Brown
2015-01-09 10:15     ` Jyri Sarha

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=20150109183857.53d701a4@armhf \
    --to=moinejf@free.fr \
    --cc=Andrew.Jackson@arm.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jsarha@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    /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;
as well as URLs for NNTP newsgroup(s).