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 
> <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
--- 
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