From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Francois Moine Subject: Re: [PATCH] ASoC: generic: add generic compound card with DT support Date: Thu, 2 Jan 2014 18:50:55 +0100 Message-ID: <20140102185055.76eb576e@armhf> References: <20131231113138.102044cf@armhf> <52C466E1.3030302@metafoo.de> <20140101210814.31e3f3a9@armhf> <52C4766B.8080000@metafoo.de> <20140102102647.6efec89d@armhf> <20140102111056.GT31886@sirena.org.uk> <20140102124331.2bcfc172@armhf> <20140102115618.GW31886@sirena.org.uk> <20140102134437.1e39da55@armhf> <20140102131045.GZ31886@sirena.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by alsa0.perex.cz (Postfix) with ESMTP id 7F5FF2608E8 for ; Thu, 2 Jan 2014 18:51:47 +0100 (CET) In-Reply-To: <20140102131045.GZ31886@sirena.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Mark Brown Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org, Lars-Peter Clausen , Liam Girdwood , linux-kernel@vger.kernel.org List-Id: alsa-devel@alsa-project.org T24gVGh1LCAyIEphbiAyMDE0IDEzOjEwOjQ1ICswMDAwCk1hcmsgQnJvd24gPGJyb29uaWVAa2Vy bmVsLm9yZz4gd3JvdGU6Cgo+IE9uIFRodSwgSmFuIDAyLCAyMDE0IGF0IDAxOjQ0OjM3UE0gKzAx MDAsIEplYW4tRnJhbmNvaXMgTW9pbmUgd3JvdGU6Cj4gCj4gPiBJIHN0aWxsIGRvbid0IHVuZGVy c3RhbmQuIFRoZXJlIGlzIGFscmVhZHkgc3VjaCBjYXNlcyBpbiB0aGUgQ3Vib3g6Cj4gPiB0aGUg Uy9QRElGIG91dHB1dCBmcm9tIHRoZSBraXJrd29vZCBhdWRpbyBjb250cm9sbGVyIGlzIGNvbm5l Y3RlZCB0bwo+ID4gYm90aCB0aGUgSERNSSB0cmFuc21pdHRlciBhbmQgdGhlIFMvUERJRiBUT1NM SU5LLiBTbywgaW4gdGhlIGF1ZGlvCj4gPiBjb250cm9sbGVyLCB0aGUgcG9ydCBAMSBkZWZpbmVz IHRoZSBTL1BESUYgREFJIGFuZCB0aGUgZW5kcG9pbnRzIEAwIGFuZAo+ID4gQDEgcG9pbnQgdG8g dGhlIHJlbW90ZSBEQUlzLCBjcmVhdGluZyAyIHNuZCBEQUkgbGlua3M6Cj4gCj4gPiAJcG9ydEAx IHsKPiA+IAkJYXVkaW9faGRtaV9zcGRpZjogZW5kcG9pbnRAMCB7Cj4gPiAJCQlyZW1vdGUtZW5k cG9pbnQgPSA8JmhkbWlfc3BkaWZfYXVkaW8+Owo+ID4gCQl9Owo+ID4gCQlhdWRpb19zcGRpZjog ZW5kcG9pbnRAMSB7Cj4gPiAJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnNwZGlmX2F1ZGlvPjsKPiA+ IAkJfTsKPiA+IAl9Owo+IAo+IE9oLCBzbyB0aGUgZW5kcG9pbnRzIGFyZSB2aXJ0dWFsIGFuZCB0 aGF0J3Mgc3VwcG9zZWQgdG8gYmUgdGhyZWUgdGhpbmdzCj4gd2lyZWQgdG9nZXRoZXIgcmF0aGVy IHRoYW4gYSBzaW5nbGUgZGV2aWNlIHdpdGggbXVsdGlwbGUgbGlua3M/ICBUaGF0J3MKPiByZWFs bHkgbm90IHZlcnkgY2xlYXIgZnJvbSByZWFkaW5nIHRoZSBhYm92ZSBhbmQgc2VlbXMgY3VtYmVy c29tZSAtCj4gZXZlcnkgZGV2aWNlIHdpbGwgd2FudCB0byBleHBsaWNpdGx5IGlkZW50aWZ5IGV2 ZXJ5IG90aGVyIGRldmljZSBvbiB0aGUKPiBsaW5rIGFuZCBhbnkgY29uZmlndXJhdGlvbiBpcyBn b2luZyB0byBlaXRoZXIgbmVlZCB0byBiZSByZXBsaWNhdGVkIG9uCj4gZXZlcnkgZGV2aWNlIG9y IHdlJ2xsIG5lZWQgdG8gY2hlY2sgbG90cyBvZiBwbGFjZXMgZm9yIHRoZSBjb25maWd1YXRpb24u Cj4gSXQgc2VlbXMgbGlrZSB0aGlzIHdpbGwgYmUgaGFyZCB0byB3b3JrIHdpdGguCgpObywgdGhl ICdlbmRwb2ludCcgPD0+ICdyZW1vdGUtZW5kcG9pbnQnIGlzIGEgcG9pbnQgdG8gcG9pbnQgcmVs YXRpb24uCkV2ZW4gaWYgdGhlIHNvdXJjZXMgYW5kIHNpbmtzIGFyZSBub3QgZXhwbGljaXRseSBk ZWZpbmVkLCB0aGUgd2F5CnRoZSBzdHJlYW0gZmxvd3MgaXMgZWFzeSB0byBmaW5kOiB0aGUgbWFp biBzb3VyY2UgaXMgYWx3YXlzIGluIHRoZQonYXVkaW8tY29udHJvbGxlcicgbm9kZQoKCXNvdW5k IHsKCQljb21wYXRpYmxlID0gIm1lZGlhLWF1ZGlvIjsKCQlhdWRpby1jb250cm9sbGVyID0gPCZh dWRpbzE+OwoJfTsKCmFuZCwgdGhlbiwgdGhlIGNvbnRyb2xsZXIgcG9ydHMgYXJlIHNvdXJjZXMg KENQVSBEQUlzKSBhbmQgdGhlCmFzc29jaWF0ZWQgcmVtb3RlIHBvcnRzIGFyZSBzaW5rcyAoQ09E RUMgREFJcykuCgpXaXRoIG1hbnkgbGV2ZWxzLCBvbmNlIHRoZSByZW1vdGUgKHNpbmspIHBvcnRz IGFyZSBpZGVudGlmaWVkLCBpbiB0aGUKZGV2aWNlcyB3aGVyZSBzdWNoIHNpbmtzIGV4aXN0LCB0 aGUgcmVtYWluaW5nIHBvcnRzIGFyZSBzb3VyY2VzLgoKVXN1YWxseSwgdGhlIGRldmljZXMgZG9u J3QgaGF2ZSB0byBrbm93IHRvIHdoaWNoIG90aGVyIGRldmljZSB0aGV5IGFyZQpjb25uZWN0ZWQs IGFuZCwgeWVzLCB0aGUgcmV2ZXJzZSBwb2ludGVyIHNpbmsgdG8gc291cmNlIGlzIG5vdCB1c2Vm dWwuCgpCdXQgdGhlIHdheSAobGluaykgdGhlIGF1ZGlvIHN0cmVhbSBjb21lcyBmcm9tIG1heSBi ZSBpbXBvcnRhbnQgdG8Ka25vdy4gVGhpcyBpcyB0aGUgY2FzZSBmb3IgdGhlIEhETUkgQ09ERUMg d2hpY2ggbXVzdCB0ZWxsIHRoZSBIRE1JCnRyYW5zbWl0dGVyIGZyb20gd2hpY2ggaGFyZHdhcmUg cG9ydChzKSAoJ3JlZycpIGl0IG1heSBnZXQgdGhlIGF1ZGlvCnN0cmVhbS4gVGhhdCdzIHdoeSwg dGhlIEhETUkgZW5jb2RlciBoYXMgdHdvIGVuZHBvaW50cyBpbiBpdHMgYXVkaW8KcG9ydCwgZWFj aCBlbmRwb2ludCBiZWluZyBhIGRpZmZlcmVudCBDT0RFQyBEQUkuCgotLSAKS2VuIGFyIGMnaGVu dGHDsQl8CSAgICAgICoqIEJyZWl6aCBoYSBMaW51eCBhdGF2ISAqKgpKZWYJCXwJCWh0dHA6Ly9t b2luZWpmLmZyZWUuZnIvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9y ZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vYWxzYS1k ZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752124AbaABRwI (ORCPT ); Thu, 2 Jan 2014 12:52:08 -0500 Received: from smtpfb1-g21.free.fr ([212.27.42.9]:41059 "EHLO smtpfb1-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751210AbaABRwE convert rfc822-to-8bit (ORCPT ); Thu, 2 Jan 2014 12:52:04 -0500 Date: Thu, 2 Jan 2014 18:50:55 +0100 From: Jean-Francois Moine To: Mark Brown Cc: Lars-Peter Clausen , Liam Girdwood , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [alsa-devel] [PATCH] ASoC: generic: add generic compound card with DT support Message-ID: <20140102185055.76eb576e@armhf> In-Reply-To: <20140102131045.GZ31886@sirena.org.uk> References: <20131231113138.102044cf@armhf> <52C466E1.3030302@metafoo.de> <20140101210814.31e3f3a9@armhf> <52C4766B.8080000@metafoo.de> <20140102102647.6efec89d@armhf> <20140102111056.GT31886@sirena.org.uk> <20140102124331.2bcfc172@armhf> <20140102115618.GW31886@sirena.org.uk> <20140102134437.1e39da55@armhf> <20140102131045.GZ31886@sirena.org.uk> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.22; 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 Thu, 2 Jan 2014 13:10:45 +0000 Mark Brown wrote: > On Thu, Jan 02, 2014 at 01:44:37PM +0100, Jean-Francois Moine wrote: > > > I still don't understand. There is already such cases in the Cubox: > > the S/PDIF output from the kirkwood audio controller is connected to > > both the HDMI transmitter and the S/PDIF TOSLINK. So, in the audio > > controller, the port @1 defines the S/PDIF DAI and the endpoints @0 and > > @1 point to the remote DAIs, creating 2 snd DAI links: > > > port@1 { > > audio_hdmi_spdif: endpoint@0 { > > remote-endpoint = <&hdmi_spdif_audio>; > > }; > > audio_spdif: endpoint@1 { > > remote-endpoint = <&spdif_audio>; > > }; > > }; > > Oh, so the endpoints are virtual and that's supposed to be three things > wired together rather than a single device with multiple links? That's > really not very clear from reading the above and seems cumbersome - > every device will want to explicitly identify every other device on the > link and any configuration is going to either need to be replicated on > every device or we'll need to check lots of places for the configuation. > It seems like this will be hard to work with. No, the 'endpoint' <=> 'remote-endpoint' is a point to point relation. Even if the sources and sinks are not explicitly defined, the way the stream flows is easy to find: the main source is always in the 'audio-controller' node sound { compatible = "media-audio"; audio-controller = <&audio1>; }; and, then, the controller ports are sources (CPU DAIs) and the associated remote ports are sinks (CODEC DAIs). With many levels, once the remote (sink) ports are identified, in the devices where such sinks exist, the remaining ports are sources. Usually, the devices don't have to know to which other device they are connected, and, yes, the reverse pointer sink to source is not useful. But the way (link) the audio stream comes from may be important to know. This is the case for the HDMI CODEC which must tell the HDMI transmitter from which hardware port(s) ('reg') it may get the audio stream. That's why, the HDMI encoder has two endpoints in its audio port, each endpoint being a different CODEC DAI. -- Ken ar c'hentaƱ | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/