Hi: im using 24Mhz, that is provided by de beaglebone... i used printk to see that sysclk value and it is correct... i get the value as is stated in the evm_hw_params function. I dont see why the function returns error... but is there a list of error codes to see what -524 means? Thanks very much El ene 10, 2016 1:55 PM, "Robin Scheibler" <[email protected]> escribió:
> 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]>: > >> 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]>: >> >>> Maybe also this can help: >>> >>> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059433.html >>> >>> R >>> >>> On 8 janv. 2016, at 23:49, Robin Scheibler <[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 >>> 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]> >>> 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]>: >>> >>>> 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]> >>>> 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]>: >>>> >>>>> 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]>: >>>>> >>>>>> 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] 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 >>>>>> 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 >>>>>>> >>>>>>> device tree: >>>>>>> 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 >>>>>> --- >>>>>> 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 >>>>>> . >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> For more options, visit 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 >>>>>> . >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> >>>> >>>> -- >>>> For more options, visit 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. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> >>>> -- >>>> For more options, visit 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. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> -- >>> For more options, visit 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. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> >>> -- >>> For more options, visit 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. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > > -- > For more options, visit 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. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > > > -- > For more options, visit 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. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit 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.
