Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 148998

Forum Post: RE: AM335x Multiple Audio Channels on MCASP0 Linux

$
0
0

Alright i seemed to have arrived at a solution.  I tried out several things and this wiki:

http://processors.wiki.ti.com/index.php/McBSP_Channel_Swapping

made me think that the dma was having issues.  So i changed the WNUMEVT value in the WFIFOCTL register of the MCASP module to a lower value in hopes that it would fire a signal sooner and allow things to keep up.  Since i have 1 transmitter enabled it has to be a multiple of 1 according to the datasheet so currently i just have it set to 1.  Here is my current config setup:

diff -r 9790044f6d7e arch/arm/mach-omap2/board-am335xevm.c --- a/arch/arm/mach-omap2/board-am335xevm.c Fri Dec 13 14:48:46 2013 -0500 +++ b/arch/arm/mach-omap2/board-am335xevm.c Thu Jan 09 14:09:02 2014 -0500 @@ -147,12 +155,12 @@   .rx_dma_offset = 0x46000000,   .op_mode = DAVINCI_MCASP_IIS_MODE,   .num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction0), - .tdm_slots = 2, + .tdm_slots = 6,   .serial_dir = am335x_iis_serializer_direction0,   .asp_chan_q = EVENTQ_2,   .version = MCASP_VERSION_3, - .txnumevt = 32, - .rxnumevt = 32, + .txnumevt = 1, + .rxnumevt = 1,   .get_context_loss_count = omap_pm_get_dev_context_loss_count,  };

Also, had to update the max channels:

diff -r 9790044f6d7e sound/soc/davinci/davinci-mcasp.c --- a/sound/soc/davinci/davinci-mcasp.c Fri Dec 13 14:48:46 2013 -0500 +++ b/sound/soc/davinci/davinci-mcasp.c Thu Jan 09 14:19:42 2014 -0500 @@ -881,7 +881,7 @@    .name  = "davinci-mcasp.0",    .playback = {     .channels_min = 2, -   .channels_max  = 2, +   .channels_max  = 6,     .rates   = DAVINCI_MCASP_RATES,     .formats = DAVINCI_MCASP_PCM_FMTS,    },

All the audio sounds great from all 6 channels now!  As to why this corrected the issue i can't be completely sure, and if was because the DMA was struggling to keep up I'm wondering if i will encounter issues later on when i have more things happening at once...?

If anyone has suggestions as to what the issue most likely was and why this corrected it i would definitely like to hear it!  I would like to be sure that things will run solid even when the system gets busy with other things : ).


Viewing all articles
Browse latest Browse all 148998

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>