I’m not successful in getting the Orin Nano Dev kit to output I2S audio to a simple external MAX98357 DAC. I’ve successfully tested the MAX98357 with a Raspberry Pi but only get noise or clicks from the Orin.
Jetpack 6.2 fixes the problems I had with running:
sudo /opt/nvidia/jetson-io/jetson-io.py
So I’m able to select compatible hardware “Adafruit UDA1334A” and confirm that the GPIO pins are configured for I2S:
40pin header:
(12) i2s2_sclk → BCLK
(35) i2s2_fs → LRCLK
(40) i2s2_dout → DOUT
The DAC is connected to GND and 5V.
My APE settings are:
amixer -c APE cget name=“I2S2 BCLK Ratio”
: values=64
amixer -c APE cget name=“I2S2 Client Bit Format”
: values=16
amixer -c APE cget name=“I2S2 Client Channels”
: values=2
amixer -c APE cget name=“I2S2 FSYNC Width”
: values=32
amixer -c APE cget name=“I2S2 Loopback”
: values=off
amixer -c APE cget name=“I2S2 Mux”
: values=1 (ADMAIF1)
amixer -c APE cget name=“I2S2 Playback Audio Bit Format”
: values=1 (16)
amixer -c APE cget name=“I2S2 Playback Audio Channels”
: values=2
amixer -c APE cget name=“I2S2 Playback FIFO Threshold”
: values=3
amixer -c APE cget name=“I2S2 Playback Mono To Stereo”
: values=0
amixer -c APE cget name=“I2S2 Playback Stereo To Mono”
: values=0
amixer -c APE cget name=“I2S2 Sample Rate”
: values=48000
amixer -c APE cget name=“I2S2 codec frame mode”
: values=1 (i2s)
amixer -c APE cget name=“I2S2 codec master mode”
: values=0 (None)
But when testing all I get is an initial click:
speaker-test -D hw:APE,0 -r 48000 -c 2 -F S16_LE -t sine -f 1000
According to the documentation APE,0 (card 1, device 0) should map to ADMAIF1.
I confirmed that the overlay is selected in the boot loader (abbreviated from /boot/extlinux/extlinux.conf):
DEFAULT JetsonIO
LABEL JetsonIO
MENU LABEL Custom Header Config:
LINUX /boot/Image
FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0005-nv-super.dtb
INITRD /boot/initrd
APPEND ${cbootargs} root=PARTUUID=734aafce-28e8-46a9-b048-eeaab46bba46 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 nospectre_bhb video=efifb:off console=tty0 nv-auto-config
OVERLAYS /boot/tegra234-p3767-0000+p3509-a02-audio-adafruit-uda1334a.dtbo