We want to use i2s on the jetson nano production module, the carrier board we use is the JN30B from Auvidea. The i2s device we use is a STM32F412 micro controller.
First I tried the microphone module on the development kit. This works, i was able to record audio. The steps I take to get this works was:
enabling i2s4 on the 40pin header through the Jetson.IO.py (https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/hw_setup_jetson_io.html)
arecord -D hw:tegrasndt210ref,0 -f S16_LE -r 192000 -c 2 -t wav -d 10 out.wav
For the production version of the Jetson Nano, the i2s interface will not work. The attempts I make are:
Follow the guide lines in Welcome — Jetson Linux<br/>Developer Guide 34.1 documentation
Tried to make changes in the registers → not able to get in the u-boot.
Through Jetson.IO enabling the i2s4 like for the development version. Jetson.IO is not supported for the production version. Jetson nano microphone tdm config - #20 by jonathanh
Make with the pinmux spreadsheet template the dtsi files.
What is the correct way to enable and use i2s on the production version of the jetson nano, and how do you select the i2s mode (slave/master)?