The davinci-audio-aic33.c is the audio codec specific to the DM6446 - you cannot use the aic32 version as that is not the chip on the board
I think the TLV chip can be configured for Mono operation (it has mixers in it and filter coefficients that can be programmed to do simple left channel and right channel averaging to produce mono samples). However, I don't know whether it'll duplicate the same sample twice for the left/right channel in the I2S stream - ultimately, the Davinci expects an I2S stream in a single phase, 2-element transfer (right, left on the pos and negative of the WRCLK) One way to do mono samples would be to take the stereo samples you have and do averaging sample by sample (this is how I currently do it, not much overhead to do this, ~200us for a 2048 byte chunk of samples) The other option is to modify the ASP driver and use the internal configurations in the SPCR to 'trick' it for mono - change the number of words in phase 1 to be 1 word (RFRLEN1 = 0), and change the RWDLEN1 to be 32 bits (instead of 16) - this means that you'll be reading in both samples into the DRR in a single shot; the EDMA gets triggered when the 32 bits get read in (these settings can be found in the initial_config struct in the top of davinci-audio-aic33.c) To do the trick, change the DMA A count in the AB count to 2 (it should be at 2 right now anyways) - this will increment the DST index by only 2 each time even though it writes in 4 bytes - these settings can be found in davinci-audio-dma-intfc.c under audio_set_dma_params_capture, and audio_set_dma_params_play Jerry
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
