Hello,
After I checked the frequency of the mic from the documentation and saw that there was no problem with that, I connected the mic module to the pins of the devkit module. I enabled the i2s by using jetson-io.py and set the mixer controls as in this comment [1]. Then, I run the command for recording, and I got the same error (same buzzing sound). After that, I bought another i2s mic, connected it to the devkit pins, and tried again the command for recording. This time everything was ok, I succeded to record using the new mic.
When I saw that the new mic is working on the devkit module with the original carrier board, I’ve just connected the mic to my custom carrier board with the production module. The settings that are in the description of this post were ok. The pinmux changes that I’ve made were good. The i2s was enabled and I didn’t have to do anything else. Just modify the pinmux and flash the dtb/image to the jetson.
These settings are good:
Jetson nano signal name <-> Customer Usage <-> Pin Direction
I2S0_DIN <-> I2S4B_SDATA_IN <-> Input
I2S0_FS <-> I2S4B_LRCK <-> Output
I2S0_SCLK <-> I2S4B_SCLK <-> Output
grep dap4 /sys/kernel/debug/tegra_pinctrl_reg
Bank: 1 Reg: 0x70003144 Val: 0x00000000 → dap4_fs_pj4
Bank: 1 Reg: 0x70003148 Val: 0x00000044 → dap4_din_pj5
Bank: 1 Reg: 0x7000314c Val: 0x00000015 → dap4_dout_pj6
Bank: 1 Reg: 0x70003150 Val: 0x00000000 → dap4_sclk_pj7
I’ve also made the mixer control setting from this comment (steps 4-8) [1]. Now I’ve got a clear sound from the mic using this command:
arecord -D hw:tegrasndt210ref,0 -r 44100 -f S32_LE -c 1 -d 10 -vv test.wav
The problem was the mic module. After I replaced it, everything was fine.
Thanks for the help, and have a great week.