Hi Pablo, > On 10 janv. 2016, at 01:48, Pablo Fonovich <[email protected]> wrote: > > Hi Robin: > with printk statements, i've isolated the error to this instruction: > > ret = snd_soc_dai_set_sysclk(codec_dai, 0, sysclk, SND_SOC_CLOCK_OUT); > > but i don't know what is wrong... the sysclk variable is: > > unsigned int sysclk = ((struct snd_soc_card_drvdata_davinci *) > snd_soc_card_get_drvdata(soc_card))->sysclk; > Just linke in the evm_hw_params
What value of sysclk are you providing ? > > I've noticed that you used: > > ret = snd_soc_dai_set_sysclk(cpu_dai, 0, 0, SND_SOC_CLOCK_IN); > > If i'm getting it right, this is to set the cpu_dai sysclock, but i dont get > why you used 0 in the frequency parameter. Also you never used the function > to set the codec_dai sysclk... Is it not necessary? I'll try commenting this > line In my case, MCLK is provided to the chipset by an external crystal. Thus there is no sysclk for me. BCLK and LRCLK are also provided by the chipset to McASP. Best, Robin > > > > > 2016-01-09 11:55 GMT-03:00 Pablo Fonovich <[email protected] > <mailto:[email protected]>>: > Hi Robin: > I intend to implement a portable multitrack recorder, that's why i choose > this codec, it has many inputs and outputs, good sample rate and bit > resolution, and all in a single chip. > I can't find wendelin's mail direction, so i think i'll just write to that > posts, but they are a bit old i think. I have already looked at them, but i > was more confused by that time, perhaps now i can understand a bit more. > > If i find out anything i will continue posting here, so if someone is > interested in this project can look at ti... > > Please if you find any documentation tell me! > > Thanks > > 2016-01-08 19:51 GMT-03:00 Robin Scheibler <[email protected] > <mailto:[email protected]>>: > Maybe also this can help: > http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059433.html > > <http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059433.html> > > R > >> On 8 janv. 2016, at 23:49, Robin Scheibler <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hi Pablo, >> >> I don’t know for 4.2. Try to read the sound/alsa/soc/davinci/davinci-mcasp.c >> file to understand which functionalities are implemented. I used the kernel >> from Robert C Nelson’s repo on github. >> >> After a quick search on google, I saw you are not the first person to >> attempt to connect this codec to the BBB. >> http://www.spinics.net/lists/alsa-devel/msg41291.html >> <http://www.spinics.net/lists/alsa-devel/msg41291.html> >> Maybe you can try to contact this Wendelin Klimann. >> >> BTW, this PCM3168 seems like a very neat chip. What exactly are you building >> ? >> >> Cheers, >> Robin >> >>> On 8 janv. 2016, at 23:17, Pablo Fonovich <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Thanks Robin, >>> Im using latest stable kernel, think is 4.2, i can check when i get home... >>> i will add printk statements, as you suggested... >>> Another question. I inted to use one mcasp serializer for 4 channels... in >>> the am335x datasheet it seems possible, so i configured 4 tdm slots in the >>> device tree instead of 2, but if i try to record with -c 6 it says again >>> the "channels count non available". Do you know if its possible? its quite >>> frustrating to work without propper documentation, but in need this project >>> to get my title... >>> >>> And last thing, where you able to get alsamixer working? >>> Thanks very much >>> >>> 2016-01-08 19:03 GMT-03:00 Robin Scheibler <[email protected] >>> <mailto:[email protected]>>: >>> Hi Pablo, >>> >>> What is the kernel version you are using ? I have finally used kernel 3.14 >>> because in 3.8 it seems that the mcasp driver implementation could not >>> support more than two channels. >>> >>> I was in the same position as you. I mostly dug as much as possible from TI >>> documentation and also read the drivers for other chipsets in the kernel >>> code. Then, I also used >>> the sitara am355xx data sheet to understand how McASP works. It took me >>> quite some time to piece together how things work. Still now I do not fully >>> understand. The problem is that there is no proper documentation for the >>> ALSA SoC wrt embedded platforms such as the BBB. >>> >>> Note that the TI example code might not be for exactly the same kernel >>> version you are using. There might be discrepancies. >>> >>> I suggest you run a search on the source code to find where the error >>> “ASoC: machine hw_params failed” is generated. You can add printk >>> statements in your code so that you can later check in the kernel log that >>> things are happening as you expect. >>> >>> Cheers, >>> Robin >>> >>>> On 8 janv. 2016, at 01:25, Pablo Fonovich <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> sorry, the message also states: >>>> >>>> arecord: set_params:1297: Unable to install hw params: >>>> ACCESS: RW_INTERLEAVED >>>> FORMAT: S24_LE >>>> SUBFORMAT: STD >>>> SAMPLE_BITS: 32 >>>> FRAME_BITS: 128 >>>> CHANNELS: 4 >>>> RATE: 96000 >>>> PERIOD_TIME: (21333 21334) >>>> PERIOD_SIZE: 2048 >>>> PERIOD_BYTES: 32768 >>>> PERIODS: 4 >>>> BUFFER_TIME: (85333 85334) >>>> BUFFER_SIZE: 8192 >>>> BUFFER_BYTES: 131072 >>>> TICK_TIME: 0 >>>> # aplay -f S24_LE -r 96000 ../Yam*wav >>>> Warning: format is changed to S16_LE >>>> Playing WAVE '../Yamaha-TG100-Ocarina-C5.wav' : Signed 16 bit Little >>>> Endian, Rate 44100 Hz, Stereo >>>> [ 102.291787] davinci_evm sound: ASoC: machine hw_params failed: -524 >>>> aplay: set_params:1297: Unable to install hw params: >>>> ACCESS: RW_INTERLEAVED >>>> FORMAT: S16_LE >>>> SUBFORMAT: STD >>>> SAMPLE_BITS: 16 >>>> FRAME_BITS: 32 >>>> CHANNELS: 2 >>>> RATE: 44100 >>>> PERIOD_TIME: (125011 125012) >>>> PERIOD_SIZE: 5513 >>>> PERIOD_BYTES: 22052 >>>> PERIODS: 4 >>>> BUFFER_TIME: (500045 500046) >>>> BUFFER_SIZE: 22052 >>>> BUFFER_BYTES: 88208 >>>> TICK_TIME: 0 >>>> >>>> >>>> 2016-01-07 21:24 GMT-03:00 Pablo Fonovich <[email protected] >>>> <mailto:[email protected]>>: >>>> Thanks very much, that was a problem. But now another error appears: >>>> "davinci_evm sound: ASoC: machine hw_params failed: -524". Do you know >>>> what it means, or where can i find the meaning? I assume this means there >>>> is something wrong when i created the pcm3168_hw_params in the alsa >>>> machine layer... but i don't know the problem... where did you look for >>>> info? only in that TI guide? I attach my files, and if is not much trouble >>>> for you i would be grateful if you help me... >>>> >>>> i've noticed that some functions you used in davinci_evm.c where not >>>> explained in that guide... and it's very difficult for a noob like me in >>>> this subject for understainding what to do... I've just based my pcm3168.c >>>> in another driver, and i really don't quite understand much of what is >>>> going on, nor found any simple documentation about it. If you could give >>>> me some hints it would be great! >>>> >>>> Thanks very much.. >>>> >>>> 2016-01-07 17:30 GMT-03:00 Robin Scheibler <[email protected] >>>> <mailto:[email protected]>>: >>>> Hi Pablo, >>>> >>>> With McASP it is not possible to capture less than 2 channels. Try with -c >>>> 2 argument. >>>> >>>> Best, >>>> Robin >>>> >>>>> On 7 janv. 2016, at 20:16, [email protected] >>>>> <mailto:[email protected]> wrote: >>>>> >>>>> Hi Robin: >>>>> >>>>> I'm doing a similar project, but with a PCM3168 codec... I also followed >>>>> the guide >>>>> http://processors.wiki.ti.com/index.php/Sitara_Linux_Audio_DAC_Example >>>>> <http://processors.wiki.ti.com/index.php/Sitara_Linux_Audio_DAC_Example> >>>>> Anyway there are lots of things that are not very clear for me... >>>>> <http://processors.wiki.ti.com/index.php/Sitara_Linux_Audio_DAC_Example> >>>>> >>>>> In my case, i use codec as clock slave, and synch, so the problem you had >>>>> should not affect to me... But when i try to record it says: >>>>> >>>>> arecord -D hw:0,0 -f S24_LE -c 1 -r 96000 -t wav test.wav >>>>> Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 96000 Hz, >>>>> Mono >>>>> arecord: set_params:1239: Channels count non available >>>>> >>>>> Could you help me? >>>>> >>>>> On Sunday, May 24, 2015 at 4:38:43 AM UTC-3, Robin Scheibler wrote: >>>>> Dear all, >>>>> >>>>> I have created a custom cape around the STA321MP >>>>> <http://www.st.com/web/en/catalog/sense_power/FM125/CL935/SC534/PF251500d.d24> >>>>> chip from ST Microelectronics. It has 6 MEMS microphones and outputs >>>>> them on an I2S bus with 3 data lines. I am trying to use mcasp0 on the >>>>> boneblack side to receive the data. I am now to the point where the codec >>>>> configuration happens correctly (I can see the i2s signals with a logic >>>>> analyzer) and a soundcard is detected. However, when I try to record >>>>> sound with arecord, I get the following error: >>>>> >>>>> root@beaglebone:~# arecord -l >>>>> **** List of CAPTURE Hardware Devices **** >>>>> card 0: EVM [STA321MP EVM], device 0: STA321MP sta321mp-audio-0 [] >>>>> Subdevices: 1/1 >>>>> Subdevice #0: subdevice #0 >>>>> root@beaglebone:~# arecord -D hw:0,0 -f S24_LE -c 6 -r 44100 -t wav >>>>> test.wav >>>>> Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 44100 Hz, >>>>> Channels 6 >>>>> arecord: pcm_read:1801: read error: Input/output error >>>>> >>>>> Let me know provide more details. >>>>> The codec is frame and bit clocks master >>>>> The connection to mcasp0 is the following: >>>>> Bit clock <=> P9_12 (mcasp0_aclkr_mux3) >>>>> Frame sync clock (L/R) <=> P9_27 (mcasp0_fsr) >>>>> Data <=> P9_28 (mcasp0_axr2) >>>>> Data <=> P9_30 (mcasp0_axr0) >>>>> Data <=> P9_25 (mcasp0_axr3) >>>>> I am using kernel 3.14.41 (because 3.8 doesn't have support for mcasp >>>>> with >2 channels) >>>>> I am using dtb-builder to add my device to the device tree >>>>> All the code I have added to the kernel (codec and machine code) and to >>>>> the device tree is on github. Here are the links to the specific changes >>>>> I have made. >>>>> >>>>> kernel: >>>>> https://github.com/fakufaku/linux/commit/3a6680960412ef0fc3fbcc6f2c0021350039cc92 >>>>> >>>>> <https://github.com/fakufaku/linux/commit/3a6680960412ef0fc3fbcc6f2c0021350039cc92> >>>>> device tree: >>>>> https://github.com/fakufaku/dtb-rebuilder/commit/127dbf3c82c78cc602058308ed72978b170c99a6 >>>>> >>>>> <https://github.com/fakufaku/dtb-rebuilder/commit/127dbf3c82c78cc602058308ed72978b170c99a6> >>>>> It is my first time trying to code audio driver so please be indulgent :) >>>>> I have spent a lot of time on this but it seems I am now completely >>>>> stuck. I'd really appreciate some help. I'd be happy to provide more >>>>> clarifications on anything. >>>>> >>>>> One thing I do not understand is if I need to add mixer bindings. And >>>>> also the audio routing (jack vs codec pins, etc). >>>>> >>>>> Thank you in advance! >>>>> Robin >>>>> >>>>> -- >>>>> For more options, visit http://beagleboard.org/discuss >>>>> <http://beagleboard.org/discuss> >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "BeagleBoard" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe >>>>> <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected] >>>>> <mailto:[email protected]>. >>>>> For more options, visit https://groups.google.com/d/optout >>>>> <https://groups.google.com/d/optout>. >>>> >>>> >>>> -- >>>> For more options, visit http://beagleboard.org/discuss >>>> <http://beagleboard.org/discuss> >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "BeagleBoard" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe >>>> <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected] >>>> <mailto:[email protected]>. >>>> For more options, visit https://groups.google.com/d/optout >>>> <https://groups.google.com/d/optout>. >>>> >>>> >>>> >>>> -- >>>> For more options, visit http://beagleboard.org/discuss >>>> <http://beagleboard.org/discuss> >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "BeagleBoard" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe >>>> <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected] >>>> <mailto:[email protected]>. >>>> For more options, visit https://groups.google.com/d/optout >>>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <http://beagleboard.org/discuss> >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "BeagleBoard" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe >>> <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <http://beagleboard.org/discuss> >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "BeagleBoard" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe >>> <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >> > > > -- > For more options, visit http://beagleboard.org/discuss > <http://beagleboard.org/discuss> > --- > You received this message because you are subscribed to a topic in the Google > Groups "BeagleBoard" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe > <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > > -- > For more options, visit http://beagleboard.org/discuss > <http://beagleboard.org/discuss> > --- > You received this message because you are subscribed to a topic in the Google > Groups "BeagleBoard" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe > <https://groups.google.com/d/topic/beagleboard/pptZ_9PTqMY/unsubscribe>. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
