[alsa-devel] [PATCH] ASoC: tlv320aic3x: Correct S24_3LE support

Peter Ujfalusi peter.ujfalusi at ti.com
Fri Dec 13 14:57:24 CET 2013


On 12/13/2013 03:34 PM, Mark Brown wrote:
> On Fri, Dec 13, 2013 at 03:29:33PM +0200, Peter Ujfalusi wrote:
>> On 12/13/2013 03:04 PM, Mark Brown wrote:
> 
>>> This should be adding the case for the new format rather than replacing
>>> the old one shouldn't it?  They ought to turn out the same on the AIF so
>>> the CODECs shouldn't care about the difference, ideally the core would
>>> hide the difference from them.
> 
>> Not really since the codec has only field to specify the data format. The
>> codec can not support S24_LE (S24_LE is basically S32_LE msbits==24) since we
>> can not say to the codec to ignore the 8bit over the 24 bits of real data.
>> In case of S24_3LE the I2S bus will have 24 clocks/per channel which can not
>> be used to stream S24_LE either.
> 
> No, I'd expect the wire behaviour to be identical for any 24 bit samples
> (that's certainly what most drivers are written for).  The memory layout
> differences shouldn't be visible to CODEC drivers.

We can not change the HW... for example:
twl4030/twl5030: 32 clock cycle/channel and 24 bits used out of that.
tlv320aic3106: 24 clock cycle/channel for 24 bit audio.

The wire behavior is different and this need to be known by the CPU side as well.

-- 
Péter


More information about the Alsa-devel mailing list