On Sun, May 13, 2018 at 1:53 PM, Winfried Ritsch <ritsch@xxxxxx> wrote: > I try to get digital audio input for 16 TDM channels on a "mcasp" on a > beaglebone working, no I2C, no SPI,... no controls, without writing a kernel > driver. Did some (re)search, I dont understand everything, just guess from > the documentations found: > > There is the simple-audio-card, described in simple-audio-card.txt in the > kernel documentation, which "only" needs to write a proper device-tree overlay > nowadays for uboot-devicetree overlay on an beaglebone. > > I stuck now writing the overlay, choosing a proper codec for the devicetree > file, so here my question: > > Is there a simple audio-codec I can reference for this usage ? > > simple_audio_card.txt says: > > Required dai-link subnodes: > > - cpu : CPU sub-node > - codec : CODEC sub-node > > > the fragment would contain: > > sound_master: simple-audio-card,cpu { > sound-dai = <&mcasp0>; > clocks = <&clk_mcasp0>; > }; > simple-audio-card,codec { > sound-dai = <&??????>; > }; > > > Also any hints to further documentation is also appreciated. > > Background info: > Try to generate an bitblock and framesync which clock in 16 slots of 16 > bits for digital microphone array which does not have any controls using the > mcasp0 on a beaglebone green. > > mfg > winfried ritsch > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Alsa-user mailing list > Alsa-user@xxxxxxxxxxxxxxxxxxxxx > https://lists.sourceforge.net/lists/listinfo/alsa-user Hi there, I think this might be able to help: https://medium.com/@caleb_22836/how-to-get-the-mx6-ssi-port-up-and-running-in-tdm-mode-dbce02a15e81. You'll need to rebuild the kernel, if you're not familiar with doing that... there are tutorials. It's easy on a fast enough linux computer. The important part that I think you need (from Arnaud) is this patch labeled: "ASoC: soc_utils: add devicetree bindings to dummy driver" (https://github.com/ccrome/linux-mx6-ssi-test) There is already a dummy driver in the kernel, but it has no device tree bindings. That patch adds it. Once that's all installed, and you've enabled the device in the kernel build, then you can try adding the right bits to the device tree. Something vaguely like this, but I'm not at all sure... it's not tested... +/ { + codec_test: codec_test { + compatible = "linux,snd-soc-dummy"; + #sound-dai-cells = <0>; + }; + + + sound@2 { + compatible = "simple-audio-card"; + simple-audio-card,name = "loopback-ssi-test"; + simple-audio-card,format="dsp_a"; + + simple-audio-card,frame-master = <&sound2_ssi>; <---- change for your mcbsp/mcasp + simple-audio-card,bitclock-master = <&sound2_ssi>; <---- change + sound2_ssi: simple-audio-card,cpu { + sound-dai = <&ssi3>; <---- change for your mcasp + system-clock-frequency = <1536000>; <--- same here? I don't know + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <16>; + }; + sound2codec: simple-audio-card,codec { + sound-dai = <&codec_test>; + }; + }; + Something sorta like that maybe. Sorry I don't know better :-) -Caleb ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user