Hello,
On the dm365 with 2.6.32.17 kernel (from the dvsdk 4.02) on a custom board I'm using i2s driver in sound/soc to transfer the sound data to digital input of a GSM module. I need the dm365 to be a master on i2s bus so I had to do some changes in the driver, which are based mainly on the commit a4c8ea2ddaed2f461606c2828b19786524b551ac in arago repository. Now I'm able to play sound with aplay, but the waveform is played on the half of its frequency (4khz instead of 8khz). I checked it with the scope and I can see that the McBSP_FSX signal is correct (8khz) but each sample is doubled on the data line, which gaves me the frequency reduction. As far as I understand the datasheet of the McBSP this is not caused by the hw, but probably by the DMA.
McBSP registers state during the playing is following:
SPCR 0x02300000
RCR 0x00000000
XCR 0x00440040
SRGR 0x303C0FF8
MCR 0x00000000
RCER 0x00000000
XCER 0x00000000
PCR 0x00000A0C
The dma transfers are served in the davinci-pcm.c file but I don't understand it fully, yet. Maybe the problem can be hidden in the SNDRV_PCM_INFO_INTERLEAVED flag for the snd_pcm_hardware?
Could please someone who is familiar with the sound/soc driver for the dm365 give me any advice how to make the McBSP to behave properly?
best regards
Jan