Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 3486

Device Tree • Adding an i2s MEMS microphone to rpi4b

$
0
0
Hi,
I have a Rpi4b to which I am trying to add an i2s MEMS microphone. I found a few people on the internet sharing a dts file for such a device. I followed one specific example (https://github.com/PaulCreaserML/rpi-i2 ... /README.md, compiling the dts file with dtc, copying the dtbo file in /boot/overlays and adding dtparam=i2s=on and dtoverlay=rpi-i2s-mic to config.txt.
The device added in such a way is listed when typing arecord -l only on a very recent version of bookworm 64 bit with the following version of kernel 6.6.51+rpt-rpi-v8. vclog works and lsmod lists snd_soc_bcm2835_i2s, snd_soc_simple_card_utils and snd_soc_simple_card,snd_soc_dmic. Also, if I use dtc -I fs -O dtb -o base.dtb /proc/device-tree, the output indicates that there is an i2s mic in the tree and the sound section includes the i2s microphone as per the added dts file.
I tried the same approach on the Bullseye 64 bit with desktop and all features with kernel 6.1.21-v8+. arecord -l does not list the microphone. vclog does not work, I get a bus error, so no information to use. dmesg does not generate any kind of error. lsmod does not help much either but all seems to indicate that the i2s device is not added to the system. I am not sure what is missing. If I use dtc -I fs -O dtb -o base.dtb /proc/device-tree the output file is not very good looking as if it were a mixture of binary and text and I am getting a whole set of warnings such as base.dtb: Warning (power_domains_property): /soc/dsi@7e209000:power-domains: cell 0 is not a phandle reference. I did not do anything to the Bullseye version other than trying to add the i2s device. Some tools do not seem to work properly on my setup.
Is there any way to get vclog to work? How to get a proper output of the base device tree? Which commands could I use to investigate other than those above? I am not sure why the tools do not seem to work on Bullseye so it makes it difficult to investigate. I read the Raspberry pi documentation about using dtmerge but I have not yet tried.
Any help would be appreciated!
Best regards,
JF

Statistics: Posted by jfh999 — Sun Nov 03, 2024 5:43 pm — Replies 4 — Views 57



Viewing all articles
Browse latest Browse all 3486

Trending Articles