[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150113195415.GV12302@n2100.arm.linux.org.uk>
Date: Tue, 13 Jan 2015 19:54:15 +0000
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Jyri Sarha <jsarha@...com>
Cc: Jean-Francois Moine <moinejf@...e.fr>,
Philipp Zabel <p.zabel@...gutronix.de>,
Andrew Jackson <Andrew.Jackson@....com>,
Mark Brown <broonie@...nel.org>,
Dave Airlie <airlied@...il.com>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio
On Tue, Jan 13, 2015 at 09:41:01PM +0200, Jyri Sarha wrote:
> On 01/13/2015 09:26 PM, Russell King - ARM Linux wrote:
> >SCLK: _~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
> > WS: __~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~________________________________~
> >I2S1: llmm............................llmm............................llm
> >I2S2: llmm............................llmm............................llm
> >I2S3: llmm............................llmm............................llm
> >I2S4: llmm............................llmm............................llm
> >
> >So, what I'm saying is that it is_impossible_ to drive the TDA998x using
> >multiple I2S streams which are not produced by the same I2S block.
>
> This is besides the point, but it is possible that one of the multiple I2S
> blocks is the bit-clock and frame-clock master to the i2s bus and the others
> are slaves to it (banging their bits according to SCLK and WS of the I2S
> master). However, in this situation there really is only one i2s bus with
> multiple data pins.
>
> Just my 0.02€ to this discussion.
Right, that's about the only way it could work.
To represent that in DT, I would imagine we'd need something like this:
#address-cells = <1>;
#size-cells = <0>;
...
port@1 { /* AP1,2 = I2S */
#address-cells = <1>;
#size-cells = <0>;
port-type = "i2s";
reg = <0x01>; /* WS */
tda998x_i2s1: endpoint@2 {
reg = <0x02>; /* AP1 */
remote-endpoint = <&audio1_i2s>;
};
tda998x_i2s2: endpoint@4 {
reg = <0x04>; /* AP2 */
remote-endpoint = <&audio2_i2s>;
};
};
where audio1_i2s is operating in master mode, and audio2_i2s is
operating in slave mode for both WS and SCLK.
If we can agree on that, then I'm happy with the proposed binding.
(Remember that #address-cells and #size-cells are required in the
parent where we have reg= in the child.)
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists