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.

Reply via email to