Hello I want to record 8 channels from TIDA-01454 CMB into a Beaglebone AI. As the CMB is built with two PCM1864 ADCs and it is also a Beagle board, I followed this guide(https://www.ti.com/lit/an/sprac97/sprac97.pdf) with some changes(channels_max=16).
I have managed to record audio from 4 of the 8 microphones that the CMB has(I just tap the mic to check if that one is working). However I want to record the 8 channels. Currently the working microphones are MIC1, MIC4, MIC5 and MIC8, although I would say there is much noise.The CMB has 4 data output pins, I suppose each one transmits 2 channels, so the problem is that each pin is getting mono instead of stereo. This might be because a problem in DTS, therefore this is my dts file:
pcm5102a: pcm5102a {
#sound-dai-cells = <0>;
compatible = "ti,pcm5102a";
status = "okay";
};
sound {compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "PCM5102a";
simple-audio-card,bitclock-master = <&sound1_master>;
simple-audio-card,frame-master = <&sound1_master>;
simple-audio-card,bitclock-inversion;
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sound1_master: simple-audio-card,codec {
#sound-dai-cells = <0>;
sound-dai = <&pcm5102a>;
//clocks = <&mcasp1_fck>;
//clock-names = "mclk";
};
};
&mcasp1 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mcasp1_pins>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
num-serializer = <4>;
serial-dir = < /* 1 TX 2 RX 0 unused */
2 2 0 0 0 0 0 0 0 0 2 2
>;
rx-num-evt = <4>;
tx-num-evt = <4>;
};
The serial-dir is that way because I use mcasp1_axr0, mcasp1_axr1, mcasp1_10 and mcasp1_axr11 ,those are the ones available in Beaglbone AI. I connected the pins DATA1-MiniDSP, DATA2-MiniDSP, DATA3-MiniDSP and DATA4-MiniDSP in J5(of the CMB) to these pins in my Beaglebone:
P9.18b 173 fast rx 0 mcasp 0 d0 mcasp@48460000 (mcasp1_pins)
P9.17b 174 fast rx 0 mcasp 0 d1 mcasp@48460000 (mcasp1_pins)
P9.30 183 fast rx 0 mcasp 0 d10 mcasp@48460000 (mcasp1_pins)
P9.28 184 fast rx 0 mcasp 0 d11 mcasp@48460000 (mcasp1_pins)
I also conected DATA1-MiniDSP, LRCLK and BCLK to an external I2S DAC to make a test and I could hear MIC1 and MIC2. So I can assure that outputs are coming in stereo. My problem is that when connect the outputs to Beaglebone and record, I just get 1 of those 2 channels for each DOUT. I checked all of them just in case with the external I2S DAC:
Data 1 is giving MIC1 and MIC2
Data 2 is giving MIC5 and MIC6
Data 3 is giving MIC3 and MIC4
Data 4 is giving MIC7 and MIC8
So what is wrong? How can I get all the mics?