>Среда, 29 июня 2016, 1:06 +03:00 от Nicolin Chen <nicoleotsuka@xxxxxxxxx>: > >On Tue, Jun 28, 2016 at 10:59:32PM +0300, Alexander Shiyan wrote: >> >Вторник, 28 июня 2016, 21:20 +03:00 от Nicolin Chen < nicoleotsuka@xxxxxxxxx >: >> > >> >On Sat, Jun 25, 2016 at 07:59:22AM +0300, Alexander Shiyan wrote: >> >> The i.MX51 datasheet says: >> >> Chapter 56.1.2.4 I2S Mode >> >> ... >> >> When I2S modes are entered (I2S master (01) or I2S slave (10)), >> >> the following settings are recommended: >> >> ... >> >> - TX Frame Rate should be 2 i.e. (STCCR[12:8] = 1) >> >> - RX Frame Rate should be 2 i.e. (SRCCR[12:8] = 1) >> >> >> >> Chapter 56.3.3.12 SSI Transmit and Receive Clock Control Registers (STCCR & SRCCR) >> >> ... >> >> Bits 12-8 DC4-DC0 >> >> Frame Rate Divider Control. These bits are used to control the divide ratio >> >> for the programmable frame rate dividers. The divide ratio works on the word >> >> clock. In Normal mode, this ratio determines the word transfer rate. >> >> In Network mode, this ratio sets the number of words per frame. The divide >> >> ratio ranges from 1 to 32 in Normal mode and from 2 to 32 in Network mode. >> >> In Normal mode, a divide ratio of 1 (DC=00000) provides continuous periodic >> >> data word transfer. A bit-length frame sync must be used in this case. >> >> >> >> Function fsl_ssi_hw_params() setup Normal mode for MONO output, >> >> so with DC=0, SSI enters to continuous periodic data word transfer. >> >> To fix this, setup DC for any I2S mode. >> > >> >The change looks fine and didn't show any problem when I tested it. >> >But I am wondering what's the failed user case here so we need this >> >patch to fix? (The mono playback works without this patch as well.) >> >> Probably this works fine without patch if FSclk == BITclk * size. > >I acked this patch since it's more likely a correct configuration >according to the reference manual while still want to know what's >your failed case. Could you please tell me what were the FSclk, >BITclk and size of your case? Hello. Here is my oscillograms with/without patch: Bclk=12 MHz, sound is just a "cat /dev/urandom > /dev/dsp", i.e. FS=8 KHz, MONO. Upper (yellow) line is TXDATA, Lower (blue) is FS. Measurement without patch: https://cloud.mail.ru/public/Rcsv/xr88V5Sa1 Measurement with patch: https://cloud.mail.ru/public/NCwn/DQnzioQEL Thanks. --- _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel