Other Parts Discussed in Thread: TVP5158
I'm attempting to get tvp5158 capture working in the 2.6.32 kernel, using the DM365 "MCVIP" driver. I've gone through all of the driver / kernel code many times and I've come to the conclusion that nobody actually uses it for audio on a DM365. The #ifdef code for TVP5158 audio is not for the DM365, but rather DM6467. I've taken a stab at correcting this, but I have a few questions and would be very thankful if someone with more knowledge of the davinci line and ASoC audio drivers could weigh in.
In the kernel / lsp mcvip patch, there are two snd_soc_dai structures with a name of "davinci-i2s". One is in davinci-mcasp.c and the other is in davinci-i2s.c. Which should be used? I'm assuming that I should be using davinci-i2s.c's snd_soc_dai, since that is what the tlv320aic3x uses on the DM365.
Since both the audio and video on the tvp5158 share the same I2C address, there is a conflict in the linux kernel. As such, I've changed the driver in an attempt to combine them.. saving the i2c handles created during the video probe and reusing them during the audio probe. This actually works, but I'm crashing the kernel during boot because socdev->dev is null. From backtracking, I'm having some difficulty figuring out where this is supposed to be set. It looks like it should happen in the platform bus but, for some reason, is not.
So, in short, I'd like to know if I should be using davinci-i2s.c's dai or davinci-mcasp.c's dai. I'd also like to know if anyone else was able to get tvp5158 audio on a DM365.
Anshuman, is this really the latest DM365 MCVIP driver? It feels like the wrong archive was uploaded.