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.