> -----Original Message----- > From: Mark Brown [mailto:[email protected]] > Sent: Wednesday, November 25, 2009 6:21 AM > To: Miguel Aguilar > Cc: [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; Narnakaje, > Snehaprabha; [email protected] > Subject: Re: Handling two audio codec in the same kernel > > On Tue, Nov 24, 2009 at 10:37:41AM -0600, Miguel Aguilar wrote: > > > * How is the proper way to register both codecs in the same kernel? > > At the minute you can't really. However, if the CODEC for the voice > interface is mostly empty (which I seem to recall was the case?) then > you can skip registering the CODEC and only register the DAI.
Yes, voice codec does not call the snd_soc_register_codec handler. But it does call the snd_soc_register_dai handler. However we have the snd_soc_codec_device structure defined for the voice codec. This structure initializes the probe, remove, suspend and resume handlers for the voice codec. This probe function initializes the voice codec peripheral, powers it on and adds the controls for amixer. However the probe function does not get invoked since we have configured AIC3101 codec as the default codec for .codec_dev in the snd_soc_device structure. Some how, we have to invoke the voice codec probe function. Not sure, if the evm_init() in sound/soc/davinci/davinci-evm.c is the right place to call soc_codec_dev_cq93vc.probe(). It seems to work if I call the .probe() in evm_init(). It looks like we also need to comment out snd_soc_init_card() in the voice codec probe function, since the card would already have registered by the AIC3101 codec. Question related to amixer - should we be seeing controls for both the codecs? How do we change the gain settings specific to a codec? Thanks Sneha > > > * If I have registered in the same kernel, How I can choose the codec > > that will be used in the alsamixer menu? > > The application layer will do this based on which DAI it chooses to play > audio down - each will appear separately to them, as you're doing below. > > > The DMA logic works fine as you see in the examples above. However, only > > the AIC works recording/playback, the voice codec doesn't work. If I > > switch the default codec to Voice Codec it works. > > Initially I'd suggest testing with hw rather than plughw to make sure > the test is isolated to the drivers. _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
