Hi,
I am working with DM365 processor and we have interfaced one audio codec in i2s mode. I am operating DM365 as Master.
I am working with 2.6.37 kernel.
I have received the audio driver from the vendor and i have developed the required machine driver.
when i test the code with aplay.
i am seeing that the i2s starts and immediately calls shutdown.
the AUDIO FORMAT i configured is
#define AUDIO_FORMAT (SND_SOC_DAIFMT_I2S | \ SND_SOC_DAIFMT_CBS_CFS)
Could anyone help me in finding what i am doing wrong.
Please find the log below.
root@dm365:~# aplay -v test.wavdavinci_i2s_startup Playing WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono davinci_i2s_set_dai_fmt davinci_i2s_hw_params davinci_i2s_prepare davinci_mcbsp_stop toggle_clock davinci_i2s_trigger davinci_mcbsp_start toggle_clock Plug PCM: Route conversion PCM (sformat=S16_LE) Transformation table: 0 <- 0 1 <- 0Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : U8 subformat : STD channels : 1 rate : 8000 exact rate : 8000 (8000/1) msbits : 8 buffer_size : 16000 period_size : 1000 period_time : 125000 tstamp_mode : NONE period_step : 1 avail_min : 1000 period_event : 0 start_threshold : 16000 stop_threshold : 16000 silence_threshold: 0 silence_size : 0 boundary : 2097152000Slave: Hardware PCM card 0 'DaVinci DM365 Garuda' device 0 subdevice 0Its setup is: stream : PLAYBACK access : MMAP_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 8000 exact rate : 8000 (8000/1) msbits : 16 buffer_size : 16000 period_size : 1000 period_time : 125000 tstamp_mode : NONE period_step : 1 avail_min : 1000 period_event : 0 start_threshold : 16000 stop_threshold : 16000 silence_threshold: 0 silence_size : 0 boundary : 2097152000 appl_ptr : 0 hw_ptr : 0 davinci_i2s_trigger davinci_mcbsp_stop toggle_clock davinci_i2s_shutdown davinci_mcbsp_stop toggle_clock
Thank you, Sreedhar.
I tried to configure theDM365 and AiC3x codec in I2S mode and configured the DM365 in master/slave mode.
still i am not able to play the audio using aplay.
Could anyone please help me where could be the problem, i am really stuck with this issue for sometime.
The above test i performed on DM365 Leopard Board. DM365 Communication board.
Any suggestion? I am stuck with this problem.
I have not seen any reply. Please let me know if more information is required.
Sreedhar,
You need to get your hands dirty with the driver code to understand why you are seeing such a behavior. I would suggest, put more prints in the driver and see why it is failing.
Regards, Sudhakar
Does this help with your question? If not, please send back more information. If it answers your question, please click the Verify Answer button below.
Hi Sudhakar,
I have played the audio with Aic3x as master and DM365 as Slave in I2S mode. I changed the board and it starts working.
But DM365 as Master and Aic3x as Slave in I2S is not working, probably i need to do some hardware changes for this to work.
The captured waveform is not w.r.t to the I2S standard mode.
data is observed without 1-bit delay from the L and R Phase Pulse. In the XCR register (XDATDLY) 1 bit delay is programmed.
Could you please tell me whether by changing the AUDIO_FORMAT alone can help in davinci-evm.c.
existing code:
-- #define AUDIO_FORMAT (SND_SOC_DAIFMT_DSP_B | \ SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_IB_NF)
changed code:
++ #define AUDIO_FORMAT (SND_SOC_DAIFMT_I2S | \ SND_SOC_DAIFMT_CBM_CFM )
I have programmed LJS I2S mode.
it is working fine.
Thank you.