Re: [PATCH v9 1/4] drm/i2c: tda998x: Add DT support for audio

From: Andrew Jackson
Date: Fri Jan 09 2015 - 08:59:07 EST


On 01/09/15 13:07, Russell King - ARM Linux wrote:
> On Fri, Jan 09, 2015 at 01:54:01PM +0100, Jean-Francois Moine wrote:
>> On Fri, 9 Jan 2015 11:45:29 +0000
>> Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:
>>> I think we need to understand exactly how the 998x map I2S inputs to the
>>> HDMI channels to avoid making a mistake with the binding; remember, the
>>> binding isn't something that can be easily "bug fixed" at a later date
>>> as anything we come up with now has to be supported long term by the
>>> kernel.
>>
>> The DT describes the hardware configuration.
>
> You're missing my point.
>
> How does the driver know which of the I2S pins to enable in I2S mode?

[snip]

> My question is: how do we know which I2S inputs to enable, or are
> you suggesting that all I2S inputs should be enabled if operating in
> I2S mode irrespective of whether they may be active?
>

Isn't it the case that for I2S:

* Word Select (WS) is always required to disambiguate left/right. So WS need
not be specified in any device tree configuration.

* The audio inputs depend on a particular board but at least one is
required. Fortunately, the TDA998x devices have all the same pin/input
numbering so they /could/ be described as i2s0, i2s1, i2s2 and i2s3 as
per J-F's earlier email. But tt isn't clear from my reading of the
TDA19988 datasheet (for example) whether one can skip channels (so
does channel 0 always have to be present?). If the channels must
be enabled from 0 then one could simply specify the number of inputs.
(The datasheets that I have don't indicate whether there's any
channel remapping performed internally by the TDA998x).

* What the driver does need to take account of is the number of inputs
that are active so that the sound CODEC can be properly configured.


Andrew


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/