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 the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to