[alsa-devel] [PATCH 1/4] ASoC: pxa-ssp: enhance I2S and add Left_J support

Daniel Ribeiro drwyrm at gmail.com
Thu Jun 11 00:24:09 CEST 2009

Hi Eric,

Em Ter, 2009-06-09 às 17:39 +0800, Eric Miao escreveu:
> frame_width = sample_width * channel ( = LRCLK for I2S )
> is no longer (and ever) correct.
> E.g. the frame width could be 64fs, meaning a whole frame is
> consisting
> of 64 bitclks - that's saying, sample width from 1 - 64 are possible,
> For typical 16-bit sample width I2S format, the envelope for each
> sample
> is 32 bitclks, and offseting by 1 bitclk starts the 16-bit sample.

I'm working on supporting I2S right now, and I found some issues with
this enveloping thing.

First, it doesn't work on pxa2xx. DMYSTOP on pxa2xx is only 0-3.

Second, is enveloping needed at all? The patch you sent supports 32bits
frames for 2*16bits samples or 64bits frames for 2*32bits samples using

We already use FSRT for DSP_A, and if this works on littleton I2S we
should just stick with FSRT (and frame_width = sample_width * channels)
to keep the code simple.

> And the TDM mode is actually special for PXA-SSP to emulate the I2S
> protocol, it's no way generic TDM in a common sense. So talking about
> set_tdm_slots(), I'd really like to hide into the format setting code
> of I2S/Left_J to avoid further confusion.

TDM is needed for frames larger than 32 bits on any dai format. Its not
something specific to I2S.

Daniel Ribeiro
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Esta =?ISO-8859-1?Q?=E9?= uma parte de mensagem
 assinada digitalmente
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20090610/fe48fb25/attachment.sig 

More information about the Alsa-devel mailing list