I2S Jetson Nano is it working?

Hi guys please help me understand (noob here), I’ve been trying to get the I2s from the J41 header on my Jetson Nano A02 working with not success, after reading some post (Audio I2S on 40 Pin Connector - #26 by ABSOLUTLEY_DIAPPOINTED Enabling I2S Audio on Jetson Nano GPIO Header ) on this issue and I’ve started to think that or eighter I don’t get I2S or my Jetson is broken. Apparently, the command “aplay -l” should show the different cards, well in my case this is what comes out 1 card the HDMI:

**** List of PLAYBACK Hardware Devices ****

card 0: tegrahda [tegra-hda], device 3: HDMI 0 [HDMI 0]

Subdevices: 1/1

Subdevice #0: subdevice #0

I managed to get the pin ready for I2S using jetson-io.py (I believe)

nano@nano-desktop:~$ sudo grep “Name:|J:|BB:” /sys/kernel/debug/tegra_gpio

Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL

J: 2:1 00 00 00 00 00 00 000000

BB: 6:3 01 00 00 00 00 00 000000

Everyone uses amixer, etc to get it to play something, and I don’t know why I don’t have any device different from the HDMI☹ I want to see signals on my oscilloscope.

I hope you can help me.

My Jetpack is 4.6.2 L4T 32.7.2

Please check NVIDIA Jetson Linux Developer Guide : Audio Setup and Development | NVIDIA Docs to see i can find some clues to debug your issue.

Thanks for the Reply Kayccc.
I’m getting the following output:
“tegra-asoc: sound: ASoC: CODEC DAI sgtl5000 not registered” and “tegra-xudc-new 700d0000.xudc: setup request failed: -22re” when checking the ASoc in dmesg.
I’m going to read more on the link you shared with me to see if I can fix it. but any tips, knoweldge is really welcome :D to help close this issue.

As an update, I managed to get the I2S working, I had to set the custom DTB using jetson-io to compatible with Adafruit UDA1334A

then manually configured pin 38 for IS24b_din.

After that to test audio output, I downloaded from Sample .wav download | File Examples Download a 1MB audio sample and renamed it to test.wav

Then to find what was the sound card name I used aplay -l which gave two cards

so to play the test.wav I used aplay -D hw:tegrasndt210ref,0 test.wav
and to record an audio from the microphone arecord -D hw:tegrasndt210ref,0 -c 1 -r 44100 -f S16_LE -d 10 cap.wav
The modules I used are TENSTAR MAX98357 I2S 3W Class D Amplifier and Omnidirectional Microphone Module I2S Interface INMP441 MEMS High

for microphone volume control

amixer -c tegrasndt210ref cset name='MVC2 Mux' I2S4
amixer -c tegrasndt210ref cset name='ADMAIF2 Mux' MVC2
amixer -c tegrasndt210ref sset 'MVC2 input bit format' 32
amixer -c tegrasndt210ref cset name='MVC2 Vol' 16000
arecord -D hw:tegrasndt210ref,1 -r 48000 -f S32_LE -c 2 -d 10 cap.wav

for volume control:

amixer -c tegrasndt210ref cset name='I2S4 Mux' MVC1
amixer -c tegrasndt210ref cset name='MVC1 Mux' ADMAIF1
amixer -c tegrasndt210ref cset name='MVC1 Vol' 12000
aplay -D hw:tegrasndt210ref,0 cap.wav

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.