Audio Codec for RT5640 is not working with BSP version L4T36.3 - Jetson AGX Orin

The Analog output and input devices are showing in the settings menu but I am not getting audio playback on my headphones.

We had not made any changes related to this in L4T34.5.1. It worked with that. But with L4T36.3 we have unable to get audio playback on headphones and also it (CVB_RT) is not listing under amixer controls.

Are there any specific changes we need to make.


I am waiting for your inputs. Any update on this.

May I know what is the list of commands used for the playback testing.

Please provide the output of below command in a file

amixer -c APE contents


Below is the log captured for " amixer -c APE contents".
amixer_log.txt (324.6 KB)

I am testing through GUI.

Thanks for the log.

The configs look fine. May I know did you connected Intel front panel board for connecting headphone?.

Also check the below command during playback
cat /proc/asound/APE/pcm0p/sub0/hw_params


Thanks for the reply.
We are testing on our custom carrier board. We have followed the audio codec same as devkit.

Below is the response of “cat /proc/asound/APE/pcm0p/sub0/hw_params

The pcm0p device is active and audio playback is active from the recent log.

If it’s custom board, Can you share the info on the codec used and the configuration made for the codec through mixer control for the playback.

Does your custom board uses Speaker/Headset/Lineout for the audio playback?


we are using “ALC5640-VB-CG”. we have not made any changes in BSP related to this. we are only trying to play sound through GUI settings.

Let us please know if any configuration must be made for codec through mixer control for the playback.

Our custom board uses Lineout for the audio playback.

Got it, BSP doesn’t support Lineout mixer control as Jetson devkit supports the Headset path.

Make sure below DT change added to sound {} node

            nvidia-audio-card,widgets =
			"Headphone",    "CVB-RT Headphone Jack",
			"Microphone",   "CVB-RT Mic Jack",
			"Speaker",      "CVB-RT Int Spk",
			"Microphone",   "CVB-RT Int Mic";

		nvidia-audio-card,routing =
			"CVB-RT Headphone Jack",     "CVB-RT HPOL",
			"CVB-RT Headphone Jack",     "CVB-RT HPOR",
			"CVB-RT Int Spk",            "CVB-RT SPOLP",
			"CVB-RT Int Spk",            "CVB-RT SPORP",
			"CVB-RT Int Spk",            "CVB-RT LOUTL",
			"CVB-RT Int Spk",            "CVB-RT LOUTR",
			"CVB-RT DMIC1",              "CVB-RT Int Mic",
			"CVB-RT DMIC2",              "CVB-RT Int Mic";

After DT build and flash, try below mixer commands on target, please assign right I2S instance number in below command.

amixer -qc "APE" cset name="I2S<instance no> Mux" "ADMAIF1"
amixer -qc "APE" cset name="CVB-RT DAC MIXL INF1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT DAC MIXR INF1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT Stereo DAC MIXL DAC L1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT Stereo DAC MIXR DAC R1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT LOUT MIX DAC L1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT LOUT MIX DAC R1 Switch" "on"
amixer -qc "APE" cset name="CVB-RT DAC1 Playback Volume" "175,175"
amixer -qc "APE" cset name="CVB-RT OUT Playback Switch" "on"
amixer -qc "APE" cset name="CVB-RT OUT Playback Volume" "31"

Also give a try with below commandline playback before GUI.

aplay -D hw:“APE”,0 <\wavefile>


I applied the changes you mentioned but it didn’t work.
I applied the changes in files “hardware/nvidia/t23x/nv-public/overlay/tegra234-p3737-0000+p3701-0000-dynamic.dts and
hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3737-0000.dts”. Do I need to change in any other file.

I am getting error when I run mixer commands.

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