Hi,
We are trying to interface AIC3107 audio codec to OMAP L138 using MCBSP1.
Following is information on base kernel version I used:
PSP version : "DaVinci-PSP-SDK-03.21.00.04"
Kernel Version : 2.6.37
For our project we have interfaced audio codec with MCBSP1.
The kernel has AIC3X codec driver, mcasp and mcbsp drivers.
By default the kernel associates AIC3X codec with mcasp. It uses ALSA architecture.
Available MCBSP driver is not ALSA complaint and does not have "snd_soc_dai_ops" implemented.
These are the major changes that are to made to get it working for our system
I have not yet ported tlvaic3107 codec files in this kernel. I am expecting that with available aic3x codec driver I should be able to atleast capture and record some audio as the basic codec architecture is same.
For making mcbsp ALSA compiant i understand we need to initialize "davinci_pcm_dma_params" struct params for capture and playback in mcbsp driver. I have made modifications for this in mcbsp.c driver file. Also I have implemented "davinci_mcbsp_dai_ops" into mcbsp driver.
Attached are the driver files I have modified.
As a setup we have connected OMAPL138 board(MCBSP1) with AIC3107 audio codec evm.
We can see codec registration and mapping with mcbsp1. A sound card gets listed.
Following is a snap from kernel bootup log:
=====================================
asoc: tlv320aic3x-hifi <-> davinci-mcbsp.1 mapping ok
ALSA device list:
#0: DA850/OMAP-L138 EVM
=====================================
Following are test results:
---------------------------
I used arecord and aplay applications to record and play audio files.
When I try to record an audio file, I dont see anything being recorded in the ouput audio file. However
using the ocilloscope I probed data(DOUT) and clock(WCLK, BCLK) lines on the AIC3107 evm and I can see activity on these lines.
When I try to play a file I can see activity on WCLK and BCLK lines but the DIN line stays low(no activity).
Seems something is wrong with mcbsp driver on OMAPL138, as it is not able to dump recorded data into a file. Neither it is able to read from and file and send it to AIC3107 evm.
Appreciate help on this issue !!
Thanks,
Snehal