Rt5640 no sound on Jetson Orin 16GB

I2S0 pinmux configuration :

Device tree :

sound {
nvidia-audio-card,mclk-fs = <0x100>;
nvidia-audio-card,routing = "CVB-RT Headphone Jack\0CVB-RT HPOL\0CVB-RT Headphone Jack\0CVB-RT HPOR\0CVB-RT IN1P\0CVB-RT Mic Jack\0CVB-RT IN2P\0CVB-RT Mic Jack\0CVB-RT Int Spk\0CVB-RT SPOLP\0CVB-RT Int Spk\0CVB-RT SPORP> nvidia-audio-card,widgets = “Headphone\0CVB-RT Headphone Jack\0Microphone\0CVB-RT Mic Jack\0Speaker\0CVB-RT Int Spk\0Microphone\0CVB-RT Int Mic”;
iommus = <0x05 0x02>;
iommu-resv-regions = <0x00 0x00 0x00 0x40000000 0x00 0x60000000 0xffffffff 0xffffffff>;
status = “okay”;
compatible = “nvidia,tegra186-ape”;
nvidia-audio-card,name = “NVIDIA Jetson Orin NX APE”;
clocks = <0x02 0x5d 0x02 0x68 0x02 0x07>;
clock-names = “pll_a\0pll_a_out0\0extern1”;
assigned-clocks = <0x02 0x68 0x02 0x07>;
assigned-clock-parents = <0x02 0x5d 0x02 0x68>;
phandle = <0x323>;

after I use below commands :

$ sudo fdtoverlay -i kernel_tegra234-p3767-0000-p3768-0000-a0.dtb -o kernel_tegra234-p3767-0000-p3768-0000-a0.dtb tegra234-p3737-audio-codec-rt5640.dtbo
then modified rt5640 node from i2c@31e0000 to i2c@3160000<

$ sudo i2cdetect -y -r 3160000.i2c
image

$ lsmod | grep rt5640
image<

audio path :

amixer -c APE cset name=“CVB-RT OUT MIXL DAC L1 Switch” on
amixer -c APE cset name=“CVB-RT OUT MIXR DAC R1 Switch” on
amixer -c APE cset name=“CVB-RT HPO MIX HPVOL Switch” on
amixer -c APE cset name=“CVB-RT HP Channel Switch” on,on
amixer -c APE cset name=“CVB-RT HP Playback Volume” 5,5

when I use aplay .wav, there are no sound output from Headphone.
how can I do ?

tegra234-p3737-audio-codec-rt5640.dtbo (3.1 KB)

Please check Audio Setup and Development — Jetson Linux Developer Guide documentation (nvidia.com) to see if can help.

Hi, kayccc

$ dmesg | grep “ASoC”
image

There are no error mesg

$ sudo cat /sys/kernel/debug/asoc/components

I am not sure where I need to check.
something like hardware connection, pinmux or device tree ?

Hi DerekL

Please note that this is just a reference and not intended to be used on Orin NX. I believe you have connected RT5640 codec to 40-pin GPIO header and Tegra I2S2 interface is used. Not sure if you are using correct I2S reference in the overlay.

Are you able to set these controls?
Also you need to update overlay DT for I2S2 usage with RT5640 codec.

Thanks,
Sameer.

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