From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Francois Moine Subject: Re: [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio Date: Fri, 9 Jan 2015 18:38:57 +0100 Message-ID: <20150109183857.53d701a4@armhf> References: <0084acea5a3475a77531d6a77483f36d3469111a.1420628786.git.moinejf@free.fr> <54AE99F5.1010404@ti.com> <20150108174257.557f7ea5@armhf> <54AFA9B0.6040405@ti.com> <20150109123036.4bc4bbf6@armhf> <20150109114529.GH12302@n2100.arm.linux.org.uk> <20150109135401.5b270d46@armhf> <20150109130725.GN12302@n2100.arm.linux.org.uk> <54AFDE8D.3000504@arm.com> <20150109145741.GP12302@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150109145741.GP12302@n2100.arm.linux.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Russell King - ARM Linux Cc: "devicetree@vger.kernel.org" , "alsa-devel@alsa-project.org" , Andrew Jackson , "linux-kernel@vger.kernel.org" , Jyri Sarha , Mark Brown , "dri-devel@lists.freedesktop.org" List-Id: alsa-devel@alsa-project.org T24gRnJpLCA5IEphbiAyMDE1IDE0OjU3OjQxICswMDAwClJ1c3NlbGwgS2luZyAtIEFSTSBMaW51 eCA8bGludXhAYXJtLmxpbnV4Lm9yZy51az4gd3JvdGU6Cgo+IFdlbGwsIGlmIHdlIGxvb2sgYXQg dGhlIEhETUkgc3BlY3MsIHRoZXJlIGlzIGEgZmllbGQgaW4gdGhlIGF1ZGlvIGluZm8KPiBmcmFt ZSAoQ0EgYml0cykgd2hpY2ggaWRlbnRpZmllcyB0aGUgc3BlYWtlciBhbGxvY2F0aW9uIGJldHdl ZW4gdGhlCj4gSERNSSBQQ00gY2hhbm5lbHMgYW5kIHRoZSBwaHlzaWNhbCBzcGVha2Vycy4KPiAK PiBJdCBkZXNjcmliZXMgYSBsaW1pdGVkIHNldCAtIGVzc2VudGlhbGx5IHRob3VnaCwgY2hhbm5l bCAwIGlzIGFsd2F5cwo+IGZyb250IGxlZnQsIGFuZCBjaGFubmVsIDEgaXMgYWx3YXlzIGZyb250 IHJpZ2h0LiAgQ2hhbm5lbCAyIGlzIGFsd2F5cwo+IExGRSwgYW5kIGNoYW5uZWwgMyBpcyBhbHdh eXMgZnJvbnQgY2VudHJlLgo+IAo+IENoYW5uZWwgMCBhbmQgMSBhcmUgYWx3YXlzIGFsbG9jYXRl ZCwgYnV0IGl0J3MgcG9zc2libGUgdG8gaGF2ZSBjaGFubmVscwo+IGFib3ZlIDIgdG8gYmUgYWxs b2NhdGVkIGluZGVwZW5kZW50bHkgb2YgZWFjaCBvdGhlciAoZWcsIHlvdSBjb3VsZCBoYXZlCj4g NywgNiwgMSwgMCBhbGxvY2F0ZWQgdG8gZnJvbnQgcmlnaHQgY2VudHJlLCBmcm9udCBsZWZ0IGNl bnRyZSwgcmlnaHQsCj4gbGVmdCBzcGVha2VycyAtIGluIHRoYXQgb3JkZXIuKQo+IAo+IEFzIHlv dSBwb2ludCBvdXQsIHdlIGRvbid0IGhhdmUgZG9jdW1lbnRhdGlvbiB3aGljaCB0ZWxscyB1cyBr bm93IGhvdwo+IHRoZXNlIFBDTSBjaGFubmVscyBtYXAgdG8gSTJTIGlucHV0cy4KCkkgaGFkIGEg bG9vayBhdCB0aGUgVERBMTk5ODggKHNtYWxsKSBkYXRhc2hlZXQgSSBoYXZlIGFuZCBhdCB0aGUg SERNSQpzcGVjcywgYW5kLCB5ZXMsIHlvdSBhcmUgcmlnaHQ6IG11bHRpIChzdGVyZW8pIGNoYW5u ZWxzIGltcGxpZXMgc3BlYWtlcgptYXBwaW5nLCBhbmQsIHRoZW4sIHRoYXQgdGhlIEkyUyBzdHJl YW1zIGNvbWUgZnJvbSBhIHNhbWUgbWVkaWEgc291cmNlLgoKV2hpbGUsIGFzIHNhaWQgaW4gdGhl IFREQTE5OTg4IGRhdGFzaGVldCwKIlRoZSBJMlMtYnVzIGlucHV0IGludGVyZmFjZSByZWNlaXZl cyBhbiBJMlMtYnVzIHNpZ25hbCBpbmNsdWRpbmcKIHNlcmlhbCBkYXRhLCB3b3JkIHNlbGVjdCBh bmQgc2VyaWFsIGNsb2NrIiwKaXQgd291bGQgYmUgc3RyYW5nZSB0aGF0IHRoZXNlIEkyUyBidXNl cyBjb21lIGZyb20gZGlmZmVyZW50IGF1ZGlvIGRldmljZXMuCgo+IFdoYXQgd2UgZG8ga25vdyBp cyB0aGF0IHRoZXJlIGlzIGEgZml4ZWQgbWFwcGluZyBiZXR3ZWVuIEFQIHBpbnMgYW5kIEkyUwo+ IGNoYW5uZWxzICh3aGljaCBhcmUgbm90IFBDTSBjaGFubmVscyksIGJ1dCBhcyB5b3UgcG9pbnQg b3V0LCB3ZSBkb24ndAo+IGhhdmUgYW55IGRvY3VtZW50YXRpb24gd2hpY2ggZGVzY3JpYmVzIGhv dyB0aGUgSTJTIGNoYW5uZWxzIChlYWNoIHdpdGgKPiB0aGVpciBvd24gTCtSIHdvcmRzKSBtYXAg dG8gdGhlIFBDTSBjaGFubmVscyAtIGFuZCB3ZSBkb24ndCBrbm93IHdoZXRoZXIKPiB0aGUgQ0Ff STJTIGJpdHMgaW4gdGhhdCBzYW1lIHJlZ2lzdGVyIGluIHRoZSBUREE5OTh4IGhhdmUgYW4gZWZm ZWN0IG9uCj4gdGhpcy4KCkhETUkgdGFsa3MgYWJvdXQgTFBDTSAoTGluZWFyIFBDTSkgY2hhbm5l bHMgYW5kIFREQTE5OTg4IHRhbGtzIGFib3V0CkkyUy1idXMgKHN0ZXJlbykgY2hhbm5lbHMuIEZv ciBtZSwgaXQgc2VlbXMgb2J2aW91cyB0aGF0IHRoZXNlIGNoYW5uZWxzCmFyZSBjb3JyZWxhdGVk OgotIExQQ00tMCBpcyBJMlMtYnVzLTAtbGVmdCAoRkwpCi0gTFBDTS0xIGlzIEkyUy1idXMtMC1y aWdodCAoRlIpCi0gTFBDTS0yIGlzIEkyUy1idXMtMS1sZWZ0IChMRkUpCi0gTFBDTS0zIGlzIEky Uy1idXMtMS1yaWdodCAoRkMpCi4uLgoKPiBEb2VzIGFueW9uZSBoYXZlIGEgVERBOTk4eCBzZXR1 cCB3aGljaCBoYXMgYW4gSTJTIHNvdXJjZSBjb25uZWN0ZWQgdG8KPiB0aGUgVERBOTk4eCBJMlMg Y2hhbm5lbCAxLCBhbmQgd2hvIGhhcyBhIEhETUkgc2luayB3aGljaCB3aWxsIGFjY2VwdAo+IHRo ZSBMRkUvRkMgY2hhbm5lbHM/ICBJZiBzbywgcHJvZHVjaW5nIGEgZGVzY3JpcHRpb24gb2YgaG93 IHRoZSBDQV9JMlMKPiBiaXRzIGFuZCBlbmFibGluZyBJMlMgaW5wdXQgcGlucyBpbmZsdWVuY2Vz IHRoZSBtYXBwaW5nIHdvdWxkIGJlIGEgZ29vZAo+IGlkZWEuCgpJIGNvdWxkIG5vdCBmaW5kIGEg ZGVzY3JpcHRpb24gb2YgdGhlc2UgQ0FfSTJTIGJpdHMuCgo+IElmIHdlIGRvbid0IGhhdmUgdGhh dCwgSSdkIHJlY29tbWVuZCBzcGxpdHRpbmcgdGhlIERUIHByb3BlcnR5IGludG8KPiAiYXVkaW8g aW5wdXRzIGZvciBJMlMiIGFuZCAiYXVkaW8gaW5wdXQgZm9yIFNQRElGIiAob25seSBvbmUgY2Fu IGJlCj4gYWN0aXZlIHdpdGggU1BESUYpLgo+IAo+IElmIHdlIHdhbnQgdG8gc3VwcG9ydCBtb3Jl IHRoYW4gb25lIFNQRElGIGlucHV0ICh3aGljaCBtdXN0IGJlIG11dHVhbGx5Cj4gZXhjbHVzaXZl KSBJJ2QgcmVjb21tZW5kIHRvIGxvb2sgYXQgdGhlIE9GIGdyYXBoIHN0dWZmIHdlIHVzZSBpbiBE Uk0gLQo+IG9uZSBwb3J0IGZvciBlYWNoICJtb2RlIiAtIGVnLCBJMlMsIFNQRElGIGluIG9uIEFQ MiwgU1BESUYgaW4gb24gQVAzLgo+IEVhY2ggcG9ydCBub2RlIGNhbiBzcGVjaWZ5IHRoZSBBUCBw aW5zIHdoaWNoIHNob3VsZCBiZSBlbmFibGVkLgoKSSBhZ3JlZS4gVGhlcmUgYXJlIG9uZSBTL1BE SUYgcG9ydCBhbmQgb25lIEkyUyBwb3J0LgoKU28sIHdoaWNoIHN5bnRheD8KCkkgcHJvcG9zZWQ6 CgoJYXVkaW8tcG9ydHMgPSA8MHgwND4sIDwweDAzPjsKCWF1ZGlvLXBvcnQtbmFtZXMgPSAic3Bk aWYiLCAiaTJzIjsKCkRvIHlvdSBiZXR0ZXIgbGlrZToKCglhdWRpby1zcGRpZi1wb3J0ID0gPDB4 MDQ+OwoJYXVkaW8taTJzLXBvcnQgPSA8MHgwMz47CgotLSAKS2VuIGFyIGMnaGVudGHDsQl8CSAg ICAgICoqIEJyZWl6aCBoYSBMaW51eCBhdGF2ISAqKgpKZWYJCXwJCWh0dHA6Ly9tb2luZWpmLmZy ZWUuZnIvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756658AbbAIRgk (ORCPT ); Fri, 9 Jan 2015 12:36:40 -0500 Received: from smtp6-g21.free.fr ([212.27.42.6]:62591 "EHLO smtp6-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752454AbbAIRgj convert rfc822-to-8bit (ORCPT ); Fri, 9 Jan 2015 12:36:39 -0500 Date: Fri, 9 Jan 2015 18:38:57 +0100 From: Jean-Francois Moine To: Russell King - ARM Linux Cc: Andrew Jackson , Jyri Sarha , Mark Brown , Dave Airlie , "alsa-devel@alsa-project.org" , "devicetree@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio Message-ID: <20150109183857.53d701a4@armhf> In-Reply-To: <20150109145741.GP12302@n2100.arm.linux.org.uk> References: <0084acea5a3475a77531d6a77483f36d3469111a.1420628786.git.moinejf@free.fr> <54AE99F5.1010404@ti.com> <20150108174257.557f7ea5@armhf> <54AFA9B0.6040405@ti.com> <20150109123036.4bc4bbf6@armhf> <20150109114529.GH12302@n2100.arm.linux.org.uk> <20150109135401.5b270d46@armhf> <20150109130725.GN12302@n2100.arm.linux.org.uk> <54AFDE8D.3000504@arm.com> <20150109145741.GP12302@n2100.arm.linux.org.uk> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; arm-unknown-linux-gnueabihf) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 9 Jan 2015 14:57:41 +0000 Russell King - ARM Linux 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/