Arecord fails with pcm_read error

Hi,

I am trying to integrate tlv320aic32x6 with xavier agx dev kit followed instructions as detailed here
asoc-driver-for-jetson-products

codec is connected via i2c1 and i2s2 on 40-pin header.

Speakers works fine, but when I try to record using arecord, getting pcm_read error

nvidia@nvidia-desktop:/mnt/ssd/Jetson-L4T/hardware$ arecord  -D plughw:APE,0 -c 2 -d 2 -t wav -f dat  /tmp/tmp_file2.wav
Recording WAVE '/tmp/tmp_file2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2178: read error: Input/output error
`cat /sys/kernel/debug/tracing/trace_pipe
         arecord-4479    [000] .... 22757.527503: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
         arecord-4479    [000] .... 22757.528047: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 2 power, 2 path, 0 neighbour
         arecord-4479    [000] .... 22757.528072: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE
         arecord-4479    [001] .... 22767.681764: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
         arecord-4479    [001] .... 22767.682154: snd_soc_dapm_path: *ADMAIF1 XBAR-Capture -> (direct) -> tegra-dlink-44-capture
         arecord-4479    [001] .... 22767.682157: snd_soc_dapm_path: *ADMAIF1 XBAR-Capture -> (direct) -> ADMAIF1 Capture
         arecord-4479    [001] .... 22767.682286: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 2 power, 2 path, 2 neighbour
         arecord-4479    [001] .... 22767.685124: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE`

Looks like DAPM routes are missing, could you please help us setting the missing routes? Attached device-tree, dmesg, amixer controls, registers
dt.log (455.8 KB)
kernel_log (77.5 KB)
reg_dump (1.7 KB)
settings.txt (809.0 KB)

tried below, still getting error.
amixer -c APE sset 'I2S2 Mux' 'ADMAIF1'

below are the routes

              nvidia-audio-card,widgets =
		        "Line",         "TLV Line In",
		        "Headphone",    "TLV Headphone",
		        "Microphone",   "TLV Mic";

                nvidia-audio-card,routing =
		        "TLV Headphone", "TLV LOR",
		        "TLV Headphone", "TLV LOL",
		    	"TLV Left DAC", "TLV Playback",
		    	"TLV Right DAC", "TLV Playback",
		    	"TLV IN1_L", "TLV Mic",
		    	"TLV IN1_R", "TLV Mic",
		    	"TLV IN2_L", "TLV Mic",
		    	"TLV IN2_R", "TLV Mic",
		    	"TLV IN3_L", "TLV Mic",
		    	"TLV IN3_R", "TLV Mic",
		    	"TLV Capture", "TLV Left ADC",
		    	"TLV Capture", "TLV Right ADC",
		    	"TLV Line In", "TLV Left ADC",
		    	"TLV Line In", "TLV Right ADC";

Hi Vijayaca,
AGX has onboard codec which is connected to ADMAIF1 for playback and capture with alsa configuration in userspace. When you try to use same ADMAIF1 instance it might not work. Please try the below command which uses different ADMAIF instance after reboot of target

amixer -c APE sset ‘I2S2 Mux’ ‘ADMAIF4’
arecord -D plughw:APE,3 -c 2 -d 2 -t wav -f dat /tmp/tmp_file2.wav

Hi Kumar,

Thanks for quick response , I tried the setting , getting the same result.

nvidia@nvidia-desktop:/mnt/ssd$ amixer -c APE sset 'I2S2 Mux' 'ADMAIF4'
Simple mixer control 'I2S2 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF13' 'ADMAIF14' 'ADMAIF15' 'ADMAIF16' 'I2S1' 'I2S2' 'I2S3' 'I2S4' 'I2S5' 'I2S6' 'SFC1' 'SFC2' 'SFC3' 'SFC4' 'MIXER1-1' 'MIXER1-2' 'MIXER1-3' 'MIXER1-4' 'MIXER1-5' 'AMX1' 'AMX2' 'AMX3' 'AMX4' 'ARAD1' 'AFC1' 'AFC2' 'AFC3' 'AFC4' 'AFC5' 'AFC6' 'OPE1' 'SPKPROT1' 'MVC1' 'MVC2' 'IQC1-1' 'IQC1-2' 'IQC2-1' 'IQC2-2' 'DMIC1' 'DMIC2' 'DMIC3' 'DMIC4' 'ADX1-1' 'ADX1-2' 'ADX1-3' 'ADX1-4' 'ADX2-1' 'ADX2-2' 'ADX2-3' 'ADX2-4' 'ADX3-1' 'ADX3-2' 'ADX3-3' 'ADX3-4' 'ADX4-1' 'ADX4-2' 'ADX4-3' 'ADX4-4' 'ADMAIF17' 'ADMAIF18' 'ADMAIF19' 'ADMAIF20' 'ASRC1-1' 'ASRC1-2' 'ASRC1-3' 'ASRC1-4' 'ASRC1-5' 'ASRC1-6'
  Item0: 'ADMAIF4'
nvidia@nvidia-desktop:/mnt/ssd$ arecord -D plughw:APE,3 -c 2 -d 2 -t wav -f dat /tmp/tmp_file2.wav
Recording WAVE '/tmp/tmp_file2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2178: read error: Input/output error

	    	
[sudo] password for nvidia: 
root@nvidia-desktop:/mnt/ssd# for i in `find /sys/kernel/debug/tracing/events -name "enable" | grep snd_soc_`; do echo 1 > $i; done
root@nvidia-desktop:/mnt/ssd# cat /sys/kernel/debug/tracing/trace_pipe
         arecord-3421    [000] ....   274.282213: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
         arecord-3421    [000] ....   274.282820: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 2 power, 2 path, 0 neighbour
         arecord-3421    [000] ....   274.282866: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE
         arecord-3421    [001] ....   284.396160: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
         arecord-3421    [001] ....   284.397078: snd_soc_dapm_path: *ADMAIF4 XBAR-Capture -> (direct) -> tegra-dlink-47-capture
         arecord-3421    [001] ....   284.397101: snd_soc_dapm_path: *ADMAIF4 XBAR-Capture -> (direct) -> ADMAIF4 Capture
         arecord-3421    [001] ....   284.397553: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 2 power, 2 path, 2 neighbour
         arecord-3421    [001] ....   284.400512: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE

Below is the trace of working aplay :

           <...>-3557    [001] ....  1039.084033: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
           <...>-3557    [001] ....  1039.084380: snd_soc_dapm_widget_power: widget=ADMAIF1 Playback val=1
           <...>-3557    [001] ....  1039.084390: snd_soc_dapm_widget_power: widget=ADMAIF1 XBAR-Playback val=1
           <...>-3557    [001] ....  1039.084393: snd_soc_dapm_path: *ADMAIF1 XBAR-RX <- (direct) <- ADMAIF1 XBAR-Playback
           <...>-3557    [001] ....  1039.084394: snd_soc_dapm_widget_power: widget=ADMAIF1 XBAR-RX val=1
           <...>-3557    [001] ....  1039.084397: snd_soc_dapm_path:  I2S2 Mux <- ARAD1 <- ARAD1 XBAR-RX
           <...>-3557    [001] ....  1039.084398: snd_soc_dapm_path:  I2S2 Mux <- ADX4-4 <- ADX4-4 XBAR-RX
           <...>-3557    [001] ....  1039.084400: snd_soc_dapm_path:  I2S2 Mux <- ADX4-3 <- ADX4-3 XBAR-RX
           <...>-3557    [001] ....  1039.084401: snd_soc_dapm_path:  I2S2 Mux <- ADX4-2 <- ADX4-2 XBAR-RX
           <...>-3557    [001] ....  1039.084402: snd_soc_dapm_path:  I2S2 Mux <- ADX4-1 <- ADX4-1 XBAR-RX
           <...>-3557    [001] ....  1039.084403: snd_soc_dapm_path:  I2S2 Mux <- AMX4 <- AMX4 XBAR-RX
           <...>-3557    [001] ....  1039.084404: snd_soc_dapm_path:  I2S2 Mux <- ADX3-4 <- ADX3-4 XBAR-RX
           <...>-3557    [001] ....  1039.084405: snd_soc_dapm_path:  I2S2 Mux <- ADX3-3 <- ADX3-3 XBAR-RX
           <...>-3557    [001] ....  1039.084406: snd_soc_dapm_path:  I2S2 Mux <- ADX3-2 <- ADX3-2 XBAR-RX
           <...>-3557    [001] ....  1039.084407: snd_soc_dapm_path:  I2S2 Mux <- ADX3-1 <- ADX3-1 XBAR-RX
           <...>-3557    [001] ....  1039.084408: snd_soc_dapm_path:  I2S2 Mux <- AMX3 <- AMX3 XBAR-RX
           <...>-3557    [001] ....  1039.084409: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-6 <- ASRC1-6 XBAR-RX
           <...>-3557    [001] ....  1039.084411: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-5 <- ASRC1-5 XBAR-RX
           <...>-3557    [001] ....  1039.084412: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-4 <- ASRC1-4 XBAR-RX
           <...>-3557    [001] ....  1039.084413: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-3 <- ASRC1-3 XBAR-RX
           <...>-3557    [001] ....  1039.084414: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-2 <- ASRC1-2 XBAR-RX
           <...>-3557    [001] ....  1039.084415: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-1 <- ASRC1-1 XBAR-RX
           <...>-3557    [001] ....  1039.084416: snd_soc_dapm_path:  I2S2 Mux <- I2S6 <- I2S6 XBAR-RX
           <...>-3557    [001] ....  1039.084417: snd_soc_dapm_path:  I2S2 Mux <- DMIC4 <- DMIC4 XBAR-RX
           <...>-3557    [001] ....  1039.084418: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF20 <- ADMAIF20 XBAR-RX
           <...>-3557    [001] ....  1039.084419: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF19 <- ADMAIF19 XBAR-RX
           <...>-3557    [001] ....  1039.084420: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF18 <- ADMAIF18 XBAR-RX
           <...>-3557    [001] ....  1039.084421: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF17 <- ADMAIF17 XBAR-RX
           <...>-3557    [001] ....  1039.084422: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF16 <- ADMAIF16 XBAR-RX
           <...>-3557    [001] ....  1039.084423: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF15 <- ADMAIF15 XBAR-RX
           <...>-3557    [001] ....  1039.084424: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF14 <- ADMAIF14 XBAR-RX
           <...>-3557    [001] ....  1039.084425: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF13 <- ADMAIF13 XBAR-RX
           <...>-3557    [001] ....  1039.084430: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF12 <- ADMAIF12 XBAR-RX
           <...>-3557    [001] ....  1039.084431: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF11 <- ADMAIF11 XBAR-RX
           <...>-3557    [001] ....  1039.084432: snd_soc_dapm_path:  I2S2 Mux <- ADX2-4 <- ADX2-4 XBAR-RX
           <...>-3557    [001] ....  1039.084433: snd_soc_dapm_path:  I2S2 Mux <- ADX2-3 <- ADX2-3 XBAR-RX
           <...>-3557    [001] ....  1039.084435: snd_soc_dapm_path:  I2S2 Mux <- ADX2-2 <- ADX2-2 XBAR-RX
           <...>-3557    [001] ....  1039.084436: snd_soc_dapm_path:  I2S2 Mux <- ADX2-1 <- ADX2-1 XBAR-RX
           aplay-3557    [001] ....  1039.084437: snd_soc_dapm_path:  I2S2 Mux <- AMX2 <- AMX2 XBAR-RX
           aplay-3557    [001] ....  1039.084438: snd_soc_dapm_path:  I2S2 Mux <- ADX1-4 <- ADX1-4 XBAR-RX
           aplay-3557    [001] ....  1039.084440: snd_soc_dapm_path:  I2S2 Mux <- ADX1-3 <- ADX1-3 XBAR-RX
           aplay-3557    [001] ....  1039.084441: snd_soc_dapm_path:  I2S2 Mux <- ADX1-2 <- ADX1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084442: snd_soc_dapm_path:  I2S2 Mux <- ADX1-1 <- ADX1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084443: snd_soc_dapm_path:  I2S2 Mux <- AMX1 <- AMX1 XBAR-RX
           aplay-3557    [001] ....  1039.084444: snd_soc_dapm_path:  I2S2 Mux <- DMIC3 <- DMIC3 XBAR-RX
           aplay-3557    [001] ....  1039.084445: snd_soc_dapm_path:  I2S2 Mux <- DMIC2 <- DMIC2 XBAR-RX
           aplay-3557    [001] ....  1039.084446: snd_soc_dapm_path:  I2S2 Mux <- DMIC1 <- DMIC1 XBAR-RX
           aplay-3557    [001] ....  1039.084447: snd_soc_dapm_path:  I2S2 Mux <- IQC2-2 <- IQC2-2 XBAR-RX
           aplay-3557    [001] ....  1039.084448: snd_soc_dapm_path:  I2S2 Mux <- IQC2-1 <- IQC2-1 XBAR-RX
           aplay-3557    [001] ....  1039.084450: snd_soc_dapm_path:  I2S2 Mux <- IQC1-2 <- IQC1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084451: snd_soc_dapm_path:  I2S2 Mux <- IQC1-1 <- IQC1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084452: snd_soc_dapm_path:  I2S2 Mux <- MVC2 <- MVC2 XBAR-RX
           aplay-3557    [001] ....  1039.084453: snd_soc_dapm_path:  I2S2 Mux <- MVC1 <- MVC1 XBAR-RX
           aplay-3557    [001] ....  1039.084454: snd_soc_dapm_path:  I2S2 Mux <- OPE1 <- OPE1 XBAR-RX
           aplay-3557    [001] ....  1039.084455: snd_soc_dapm_path:  I2S2 Mux <- AFC6 <- AFC6 XBAR-RX
           aplay-3557    [001] ....  1039.084456: snd_soc_dapm_path:  I2S2 Mux <- AFC5 <- AFC5 XBAR-RX
           aplay-3557    [001] ....  1039.084457: snd_soc_dapm_path:  I2S2 Mux <- AFC4 <- AFC4 XBAR-RX
           aplay-3557    [001] ....  1039.084458: snd_soc_dapm_path:  I2S2 Mux <- AFC3 <- AFC3 XBAR-RX
           aplay-3557    [001] ....  1039.084459: snd_soc_dapm_path:  I2S2 Mux <- AFC2 <- AFC2 XBAR-RX
           aplay-3557    [001] ....  1039.084460: snd_soc_dapm_path:  I2S2 Mux <- AFC1 <- AFC1 XBAR-RX
           aplay-3557    [001] ....  1039.084461: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-5 <- MIXER1-5 XBAR-RX
           aplay-3557    [001] ....  1039.084462: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-4 <- MIXER1-4 XBAR-RX
           aplay-3557    [001] ....  1039.084478: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-3 <- MIXER1-3 XBAR-RX
           aplay-3557    [001] ....  1039.084479: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-2 <- MIXER1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084481: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-1 <- MIXER1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084482: snd_soc_dapm_path:  I2S2 Mux <- SFC4 <- SFC4 XBAR-RX
           aplay-3557    [001] ....  1039.084483: snd_soc_dapm_path:  I2S2 Mux <- SFC3 <- SFC3 XBAR-RX
           aplay-3557    [001] ....  1039.084485: snd_soc_dapm_path:  I2S2 Mux <- SFC2 <- SFC2 XBAR-RX
           aplay-3557    [001] ....  1039.084486: snd_soc_dapm_path:  I2S2 Mux <- SFC1 <- SFC1 XBAR-RX
           aplay-3557    [001] ....  1039.084487: snd_soc_dapm_path:  I2S2 Mux <- I2S5 <- I2S5 XBAR-RX
           aplay-3557    [001] ....  1039.084489: snd_soc_dapm_path:  I2S2 Mux <- I2S4 <- I2S4 XBAR-RX
           aplay-3557    [001] ....  1039.084491: snd_soc_dapm_path:  I2S2 Mux <- I2S3 <- I2S3 XBAR-RX
           aplay-3557    [001] ....  1039.084492: snd_soc_dapm_path:  I2S2 Mux <- I2S2 <- I2S2 XBAR-RX
           aplay-3557    [001] ....  1039.084493: snd_soc_dapm_path:  I2S2 Mux <- I2S1 <- I2S1 XBAR-RX
           aplay-3557    [001] ....  1039.084494: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF10 <- ADMAIF10 XBAR-RX
           aplay-3557    [001] ....  1039.084495: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF9 <- ADMAIF9 XBAR-RX
           aplay-3557    [001] ....  1039.084496: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF8 <- ADMAIF8 XBAR-RX
           aplay-3557    [001] ....  1039.084497: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF7 <- ADMAIF7 XBAR-RX
           aplay-3557    [001] ....  1039.084498: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF6 <- ADMAIF6 XBAR-RX
           aplay-3557    [001] ....  1039.084500: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF5 <- ADMAIF5 XBAR-RX
           aplay-3557    [001] ....  1039.084501: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF4 <- ADMAIF4 XBAR-RX
           aplay-3557    [001] ....  1039.084502: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF3 <- ADMAIF3 XBAR-RX
           aplay-3557    [001] ....  1039.084503: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF2 <- ADMAIF2 XBAR-RX
           aplay-3557    [001] ....  1039.084504: snd_soc_dapm_path: *I2S2 Mux <- ADMAIF1 <- ADMAIF1 XBAR-RX
           aplay-3557    [001] ....  1039.084505: snd_soc_dapm_widget_power: widget=I2S2 Mux val=1
           aplay-3557    [001] ....  1039.084508: snd_soc_dapm_path:  I2S1 Mux <- ARAD1 <- ARAD1 XBAR-RX
           aplay-3557    [001] ....  1039.084510: snd_soc_dapm_path:  I2S1 Mux <- ADX4-4 <- ADX4-4 XBAR-RX
           aplay-3557    [001] ....  1039.084510: snd_soc_dapm_path:  I2S1 Mux <- ADX4-3 <- ADX4-3 XBAR-RX
           aplay-3557    [001] ....  1039.084511: snd_soc_dapm_path:  I2S1 Mux <- ADX4-2 <- ADX4-2 XBAR-RX
           aplay-3557    [001] ....  1039.084512: snd_soc_dapm_path:  I2S1 Mux <- ADX4-1 <- ADX4-1 XBAR-RX
           aplay-3557    [001] ....  1039.084513: snd_soc_dapm_path:  I2S1 Mux <- AMX4 <- AMX4 XBAR-RX
           aplay-3557    [001] ....  1039.084515: snd_soc_dapm_path:  I2S1 Mux <- ADX3-4 <- ADX3-4 XBAR-RX
           aplay-3557    [001] ....  1039.084516: snd_soc_dapm_path:  I2S1 Mux <- ADX3-3 <- ADX3-3 XBAR-RX
           aplay-3557    [001] ....  1039.084517: snd_soc_dapm_path:  I2S1 Mux <- ADX3-2 <- ADX3-2 XBAR-RX
           aplay-3557    [001] ....  1039.084518: snd_soc_dapm_path:  I2S1 Mux <- ADX3-1 <- ADX3-1 XBAR-RX
           aplay-3557    [001] ....  1039.084519: snd_soc_dapm_path:  I2S1 Mux <- AMX3 <- AMX3 XBAR-RX
           aplay-3557    [001] ....  1039.084521: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-6 <- ASRC1-6 XBAR-RX
           aplay-3557    [001] ....  1039.084522: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-5 <- ASRC1-5 XBAR-RX
           aplay-3557    [001] ....  1039.084523: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-4 <- ASRC1-4 XBAR-RX
           aplay-3557    [001] ....  1039.084524: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-3 <- ASRC1-3 XBAR-RX
           aplay-3557    [001] ....  1039.084524: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-2 <- ASRC1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084525: snd_soc_dapm_path:  I2S1 Mux <- ASRC1-1 <- ASRC1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084526: snd_soc_dapm_path:  I2S1 Mux <- I2S6 <- I2S6 XBAR-RX
           aplay-3557    [001] ....  1039.084527: snd_soc_dapm_path:  I2S1 Mux <- DMIC4 <- DMIC4 XBAR-RX
           aplay-3557    [001] ....  1039.084528: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF20 <- ADMAIF20 XBAR-RX
           aplay-3557    [001] ....  1039.084529: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF19 <- ADMAIF19 XBAR-RX
           aplay-3557    [001] ....  1039.084530: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF18 <- ADMAIF18 XBAR-RX
           aplay-3557    [001] ....  1039.084531: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF17 <- ADMAIF17 XBAR-RX
           aplay-3557    [001] ....  1039.084532: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF16 <- ADMAIF16 XBAR-RX
           aplay-3557    [001] ....  1039.084533: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF15 <- ADMAIF15 XBAR-RX
           aplay-3557    [001] ....  1039.084533: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF14 <- ADMAIF14 XBAR-RX
           aplay-3557    [001] ....  1039.084534: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF13 <- ADMAIF13 XBAR-RX
           aplay-3557    [001] ....  1039.084535: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF12 <- ADMAIF12 XBAR-RX
           aplay-3557    [001] ....  1039.084536: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF11 <- ADMAIF11 XBAR-RX
           aplay-3557    [001] ....  1039.084537: snd_soc_dapm_path:  I2S1 Mux <- ADX2-4 <- ADX2-4 XBAR-RX
           aplay-3557    [001] ....  1039.084538: snd_soc_dapm_path:  I2S1 Mux <- ADX2-3 <- ADX2-3 XBAR-RX
           aplay-3557    [001] ....  1039.084539: snd_soc_dapm_path:  I2S1 Mux <- ADX2-2 <- ADX2-2 XBAR-RX
           aplay-3557    [001] ....  1039.084539: snd_soc_dapm_path:  I2S1 Mux <- ADX2-1 <- ADX2-1 XBAR-RX
           aplay-3557    [001] ....  1039.084540: snd_soc_dapm_path:  I2S1 Mux <- AMX2 <- AMX2 XBAR-RX
           aplay-3557    [001] ....  1039.084541: snd_soc_dapm_path:  I2S1 Mux <- ADX1-4 <- ADX1-4 XBAR-RX
           aplay-3557    [001] ....  1039.084541: snd_soc_dapm_path:  I2S1 Mux <- ADX1-3 <- ADX1-3 XBAR-RX
           aplay-3557    [001] ....  1039.084542: snd_soc_dapm_path:  I2S1 Mux <- ADX1-2 <- ADX1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084543: snd_soc_dapm_path:  I2S1 Mux <- ADX1-1 <- ADX1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084544: snd_soc_dapm_path:  I2S1 Mux <- AMX1 <- AMX1 XBAR-RX
           aplay-3557    [001] ....  1039.084545: snd_soc_dapm_path:  I2S1 Mux <- DMIC3 <- DMIC3 XBAR-RX
           aplay-3557    [001] ....  1039.084545: snd_soc_dapm_path:  I2S1 Mux <- DMIC2 <- DMIC2 XBAR-RX
           aplay-3557    [001] ....  1039.084546: snd_soc_dapm_path:  I2S1 Mux <- DMIC1 <- DMIC1 XBAR-RX
           aplay-3557    [001] ....  1039.084547: snd_soc_dapm_path:  I2S1 Mux <- IQC2-2 <- IQC2-2 XBAR-RX
           aplay-3557    [001] ....  1039.084548: snd_soc_dapm_path:  I2S1 Mux <- IQC2-1 <- IQC2-1 XBAR-RX
           aplay-3557    [001] ....  1039.084548: snd_soc_dapm_path:  I2S1 Mux <- IQC1-2 <- IQC1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084549: snd_soc_dapm_path:  I2S1 Mux <- IQC1-1 <- IQC1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084550: snd_soc_dapm_path:  I2S1 Mux <- MVC2 <- MVC2 XBAR-RX
           aplay-3557    [001] ....  1039.084551: snd_soc_dapm_path:  I2S1 Mux <- MVC1 <- MVC1 XBAR-RX
           aplay-3557    [001] ....  1039.084552: snd_soc_dapm_path:  I2S1 Mux <- OPE1 <- OPE1 XBAR-RX
           aplay-3557    [001] ....  1039.084554: snd_soc_dapm_path:  I2S1 Mux <- AFC6 <- AFC6 XBAR-RX
           aplay-3557    [001] ....  1039.084555: snd_soc_dapm_path:  I2S1 Mux <- AFC5 <- AFC5 XBAR-RX
           aplay-3557    [001] ....  1039.084557: snd_soc_dapm_path:  I2S1 Mux <- AFC4 <- AFC4 XBAR-RX
           aplay-3557    [001] ....  1039.084558: snd_soc_dapm_path:  I2S1 Mux <- AFC3 <- AFC3 XBAR-RX
           aplay-3557    [001] ....  1039.084559: snd_soc_dapm_path:  I2S1 Mux <- AFC2 <- AFC2 XBAR-RX
           aplay-3557    [001] ....  1039.084560: snd_soc_dapm_path:  I2S1 Mux <- AFC1 <- AFC1 XBAR-RX
           aplay-3557    [001] ....  1039.084561: snd_soc_dapm_path:  I2S1 Mux <- MIXER1-5 <- MIXER1-5 XBAR-RX
           aplay-3557    [001] ....  1039.084562: snd_soc_dapm_path:  I2S1 Mux <- MIXER1-4 <- MIXER1-4 XBAR-RX
           aplay-3557    [001] ....  1039.084564: snd_soc_dapm_path:  I2S1 Mux <- MIXER1-3 <- MIXER1-3 XBAR-RX
           aplay-3557    [001] ....  1039.084565: snd_soc_dapm_path:  I2S1 Mux <- MIXER1-2 <- MIXER1-2 XBAR-RX
           aplay-3557    [001] ....  1039.084566: snd_soc_dapm_path:  I2S1 Mux <- MIXER1-1 <- MIXER1-1 XBAR-RX
           aplay-3557    [001] ....  1039.084568: snd_soc_dapm_path:  I2S1 Mux <- SFC4 <- SFC4 XBAR-RX
           aplay-3557    [001] ....  1039.084568: snd_soc_dapm_path:  I2S1 Mux <- SFC3 <- SFC3 XBAR-RX
           aplay-3557    [001] ....  1039.084569: snd_soc_dapm_path:  I2S1 Mux <- SFC2 <- SFC2 XBAR-RX
           aplay-3557    [001] ....  1039.084570: snd_soc_dapm_path:  I2S1 Mux <- SFC1 <- SFC1 XBAR-RX
           aplay-3557    [001] ....  1039.084571: snd_soc_dapm_path:  I2S1 Mux <- I2S5 <- I2S5 XBAR-RX
           aplay-3557    [001] ....  1039.084573: snd_soc_dapm_path:  I2S1 Mux <- I2S4 <- I2S4 XBAR-RX
           aplay-3557    [001] ....  1039.084574: snd_soc_dapm_path:  I2S1 Mux <- I2S3 <- I2S3 XBAR-RX
           aplay-3557    [001] ....  1039.084575: snd_soc_dapm_path:  I2S1 Mux <- I2S2 <- I2S2 XBAR-RX
           aplay-3557    [001] ....  1039.084576: snd_soc_dapm_path:  I2S1 Mux <- I2S1 <- I2S1 XBAR-RX
           aplay-3557    [001] ....  1039.084576: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF10 <- ADMAIF10 XBAR-RX
           aplay-3557    [001] ....  1039.084578: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF9 <- ADMAIF9 XBAR-RX
           aplay-3557    [001] ....  1039.084580: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF8 <- ADMAIF8 XBAR-RX
           aplay-3557    [001] ....  1039.084582: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF7 <- ADMAIF7 XBAR-RX
           aplay-3557    [001] ....  1039.084583: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF6 <- ADMAIF6 XBAR-RX
           aplay-3557    [001] ....  1039.084583: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF5 <- ADMAIF5 XBAR-RX
           aplay-3557    [001] ....  1039.084584: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF4 <- ADMAIF4 XBAR-RX
           aplay-3557    [001] ....  1039.084585: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF3 <- ADMAIF3 XBAR-RX
           aplay-3557    [001] ....  1039.084586: snd_soc_dapm_path:  I2S1 Mux <- ADMAIF2 <- ADMAIF2 XBAR-RX
           aplay-3557    [001] ....  1039.084587: snd_soc_dapm_path: *I2S1 Mux <- ADMAIF1 <- ADMAIF1 XBAR-RX
           aplay-3557    [001] ....  1039.084590: snd_soc_dapm_path: *I2S2 XBAR-TX <- (direct) <- I2S2 Mux
           aplay-3557    [001] ....  1039.084591: snd_soc_dapm_widget_power: widget=I2S2 XBAR-TX val=1
           aplay-3557    [001] ....  1039.084593: snd_soc_dapm_path: *I2S2 XBAR-Capture <- (direct) <- I2S2 XBAR-TX
           aplay-3557    [001] ....  1039.084595: snd_soc_dapm_widget_power: widget=I2S2 XBAR-Capture val=1
           aplay-3557    [001] ....  1039.084596: snd_soc_dapm_path: *tegra-dlink-65-playback <- (direct) <- I2S2 XBAR-Capture
           aplay-3557    [001] ....  1039.084596: snd_soc_dapm_widget_power: widget=tegra-dlink-65-playback val=1
           aplay-3557    [001] ....  1039.084598: snd_soc_dapm_path: *I2S2 CIF-Playback <- (direct) <- tegra-dlink-65-playback
           aplay-3557    [001] ....  1039.084598: snd_soc_dapm_widget_power: widget=I2S2 CIF-Playback val=1
           aplay-3557    [001] ....  1039.084601: snd_soc_dapm_path: *I2S2 RX <- (direct) <- I2S2 CIF-Playback
           aplay-3557    [001] ....  1039.084602: snd_soc_dapm_widget_power: widget=I2S2 RX val=1
           aplay-3557    [001] ....  1039.084603: snd_soc_dapm_path: *I2S2 DAP-Capture <- (direct) <- I2S2 RX
           aplay-3557    [001] ....  1039.084604: snd_soc_dapm_widget_power: widget=I2S2 DAP-Capture val=1
           aplay-3557    [001] ....  1039.084605: snd_soc_dapm_path: *tlv320aic32x6-codec-playback <- (direct) <- I2S2 DAP-Capture
           aplay-3557    [001] ....  1039.084606: snd_soc_dapm_widget_power: widget=tlv320aic32x6-codec-playback val=1
           aplay-3557    [001] ....  1039.084607: snd_soc_dapm_path: *TLV Playback <- (direct) <- tlv320aic32x6-codec-playback
           aplay-3557    [001] ....  1039.084608: snd_soc_dapm_widget_power: widget=TLV Playback val=1
           aplay-3557    [001] ....  1039.084609: snd_soc_dapm_path: *TLV Right DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1039.084610: snd_soc_dapm_path: *TLV Right DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1039.084611: snd_soc_dapm_widget_power: widget=TLV Right DAC val=1
           aplay-3557    [001] ....  1039.084612: snd_soc_dapm_path: *TLV Left DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1039.084613: snd_soc_dapm_path: *TLV Left DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1039.084613: snd_soc_dapm_widget_power: widget=TLV Left DAC val=1
           aplay-3557    [001] ....  1039.084615: snd_soc_dapm_path: *TLV LOR Output Mixer <- R_DAC Switch <- TLV Right DAC
           aplay-3557    [001] ....  1039.084616: snd_soc_dapm_widget_power: widget=TLV LOR Output Mixer val=1
           aplay-3557    [001] ....  1039.084617: snd_soc_dapm_path:  TLV HPR Output Mixer <- IN1_R Switch <- TLV IN1_R
           aplay-3557    [001] ....  1039.084618: snd_soc_dapm_path: *TLV HPR Output Mixer <- R_DAC Switch <- TLV Right DAC
           aplay-3557    [001] ....  1039.084619: snd_soc_dapm_path: *TLV LOL Output Mixer <- L_DAC Switch <- TLV Left DAC
           aplay-3557    [001] ....  1039.084620: snd_soc_dapm_widget_power: widget=TLV LOL Output Mixer val=1
           aplay-3557    [001] ....  1039.084622: snd_soc_dapm_path:  TLV HPL Output Mixer <- IN1_L Switch <- TLV IN1_L
           aplay-3557    [001] ....  1039.084624: snd_soc_dapm_path: *TLV HPL Output Mixer <- L_DAC Switch <- TLV Left DAC
           aplay-3557    [001] ....  1039.084625: snd_soc_dapm_path: *TLV LOR Power <- (direct) <- TLV LOR Output Mixer
           aplay-3557    [001] ....  1039.084626: snd_soc_dapm_widget_power: widget=TLV LOR Power val=1
           aplay-3557    [001] ....  1039.084627: snd_soc_dapm_path: *TLV LOL Power <- (direct) <- TLV LOL Output Mixer
           aplay-3557    [001] ....  1039.084628: snd_soc_dapm_widget_power: widget=TLV LOL Power val=1
           aplay-3557    [001] ....  1039.084630: snd_soc_dapm_path: *TLV LOR <- (direct) <- TLV LOR Power
           aplay-3557    [001] ....  1039.084631: snd_soc_dapm_widget_power: widget=TLV LOR val=1
           aplay-3557    [001] ....  1039.084633: snd_soc_dapm_path: *TLV LOL <- (direct) <- TLV LOL Power
           aplay-3557    [001] ....  1039.084634: snd_soc_dapm_widget_power: widget=TLV LOL val=1
           aplay-3557    [001] ....  1039.084635: snd_soc_dapm_path: *TLV Headphone <- (direct) <- TLV LOR
           aplay-3557    [001] ....  1039.084636: snd_soc_dapm_path: *TLV Headphone <- (direct) <- TLV LOL
           aplay-3557    [001] ....  1039.084636: snd_soc_dapm_widget_power: widget=TLV Headphone val=1
           aplay-3557    [001] ....  1039.084821: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 25 power, 24 path, 183 neighbour
           aplay-3557    [001] ....  1039.084824: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
           aplay-3557    [001] ....  1039.084826: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
           aplay-3557    [001] ....  1039.084827: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
           aplay-3557    [001] ....  1039.084827: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [002] ....  1039.084888: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [002] ....  1039.084918: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [002] ....  1039.084928: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:1-3542    [002] ....  1039.084929: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:1-3542    [002] ....  1039.084948: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [002] ....  1039.084949: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:0-3540    [003] ....  1039.084950: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [003] ....  1039.084952: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [003] ....  1039.084953: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:0-3540    [003] ....  1039.084954: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:2-115     [002] ....  1039.085181: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:2-115     [002] ....  1039.085183: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:2-115     [002] ....  1039.085184: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:2-115     [002] ....  1039.085185: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
           aplay-3557    [001] ....  1039.085232: snd_soc_dapm_widget_event_start: widget=tlv320aic32x6-codec-playback val=1
           aplay-3557    [001] ....  1039.091766: snd_soc_dapm_widget_event_done: widget=tlv320aic32x6-codec-playback val=1
           aplay-3557    [001] ....  1039.091781: snd_soc_dapm_widget_event_start: widget=tegra-dlink-65-playback val=1
           aplay-3557    [001] ....  1039.091788: snd_soc_dapm_widget_event_done: widget=tegra-dlink-65-playback val=1
           aplay-3557    [001] ....  1039.091789: snd_soc_dapm_widget_event_start: widget=tlv320aic32x6-codec-playback val=2
           aplay-3557    [001] ....  1039.093576: snd_soc_dapm_widget_event_done: widget=tlv320aic32x6-codec-playback val=2
           aplay-3557    [001] ....  1039.093587: snd_soc_dapm_widget_event_start: widget=tegra-dlink-65-playback val=2
           aplay-3557    [001] ....  1039.093588: snd_soc_dapm_widget_event_done: widget=tegra-dlink-65-playback val=2
           aplay-3557    [001] ....  1039.093594: snd_soc_dapm_widget_event_start: widget=I2S2 RX val=1
           aplay-3557    [001] ....  1039.093639: snd_soc_dapm_widget_event_done: widget=I2S2 RX val=1
   kworker/u16:2-115     [002] ....  1039.097588: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097613: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097615: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097621: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097622: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097624: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:0-3540    [003] ....  1039.097625: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=3
   kworker/u16:2-115     [002] ....  1039.119701: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=3
           aplay-3557    [001] ....  1039.119782: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE
           aplay-3557    [001] ....  1044.201593: snd_soc_dapm_start: card=NVIDIA Jetson AGX Xavier APE
           aplay-3557    [001] ....  1044.202523: snd_soc_dapm_widget_power: widget=ADMAIF1 Playback val=0
           aplay-3557    [001] ....  1044.202548: snd_soc_dapm_path: *ADMAIF1 XBAR-Playback <- (direct) <- tegra-dlink-44-playback
           aplay-3557    [001] ....  1044.202552: snd_soc_dapm_path: *ADMAIF1 XBAR-Playback <- (direct) <- ADMAIF1 Playback
           aplay-3557    [001] ....  1044.202553: snd_soc_dapm_widget_power: widget=ADMAIF1 XBAR-Playback val=0
           aplay-3557    [001] ....  1044.202556: snd_soc_dapm_path: *ADMAIF1 XBAR-RX <- (direct) <- ADMAIF1 XBAR-Playback
           aplay-3557    [001] ....  1044.202557: snd_soc_dapm_widget_power: widget=ADMAIF1 XBAR-RX val=0
           aplay-3557    [001] ....  1044.202564: snd_soc_dapm_path:  I2S2 Mux <- ARAD1 <- ARAD1 XBAR-RX
           aplay-3557    [001] ....  1044.202566: snd_soc_dapm_path:  I2S2 Mux <- ADX4-4 <- ADX4-4 XBAR-RX
           aplay-3557    [001] ....  1044.202569: snd_soc_dapm_path:  I2S2 Mux <- ADX4-3 <- ADX4-3 XBAR-RX
           aplay-3557    [001] ....  1044.202573: snd_soc_dapm_path:  I2S2 Mux <- ADX4-2 <- ADX4-2 XBAR-RX
           aplay-3557    [001] ....  1044.202610: snd_soc_dapm_path:  I2S2 Mux <- ADX4-1 <- ADX4-1 XBAR-RX
           aplay-3557    [001] ....  1044.202621: snd_soc_dapm_path:  I2S2 Mux <- AMX4 <- AMX4 XBAR-RX
           aplay-3557    [001] ....  1044.202624: snd_soc_dapm_path:  I2S2 Mux <- ADX3-4 <- ADX3-4 XBAR-RX
           aplay-3557    [001] ....  1044.202627: snd_soc_dapm_path:  I2S2 Mux <- ADX3-3 <- ADX3-3 XBAR-RX
           aplay-3557    [001] ....  1044.202630: snd_soc_dapm_path:  I2S2 Mux <- ADX3-2 <- ADX3-2 XBAR-RX
           aplay-3557    [001] ....  1044.202632: snd_soc_dapm_path:  I2S2 Mux <- ADX3-1 <- ADX3-1 XBAR-RX
           aplay-3557    [001] ....  1044.202635: snd_soc_dapm_path:  I2S2 Mux <- AMX3 <- AMX3 XBAR-RX
           aplay-3557    [001] ....  1044.202637: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-6 <- ASRC1-6 XBAR-RX
           aplay-3557    [001] ....  1044.202640: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-5 <- ASRC1-5 XBAR-RX
           aplay-3557    [001] ....  1044.202642: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-4 <- ASRC1-4 XBAR-RX
           aplay-3557    [001] ....  1044.202644: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-3 <- ASRC1-3 XBAR-RX
           aplay-3557    [001] ....  1044.202646: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-2 <- ASRC1-2 XBAR-RX
           aplay-3557    [001] ....  1044.202649: snd_soc_dapm_path:  I2S2 Mux <- ASRC1-1 <- ASRC1-1 XBAR-RX
           aplay-3557    [001] ....  1044.202651: snd_soc_dapm_path:  I2S2 Mux <- I2S6 <- I2S6 XBAR-RX
           aplay-3557    [001] ....  1044.202653: snd_soc_dapm_path:  I2S2 Mux <- DMIC4 <- DMIC4 XBAR-RX
           aplay-3557    [001] ....  1044.202656: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF20 <- ADMAIF20 XBAR-RX
           aplay-3557    [001] ....  1044.202658: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF19 <- ADMAIF19 XBAR-RX
           aplay-3557    [001] ....  1044.202660: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF18 <- ADMAIF18 XBAR-RX
           aplay-3557    [001] ....  1044.202663: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF17 <- ADMAIF17 XBAR-RX
           aplay-3557    [001] ....  1044.202665: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF16 <- ADMAIF16 XBAR-RX
           aplay-3557    [001] ....  1044.202667: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF15 <- ADMAIF15 XBAR-RX
           aplay-3557    [001] ....  1044.202669: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF14 <- ADMAIF14 XBAR-RX
           aplay-3557    [001] ....  1044.202672: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF13 <- ADMAIF13 XBAR-RX
           aplay-3557    [001] ....  1044.202674: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF12 <- ADMAIF12 XBAR-RX
           aplay-3557    [001] ....  1044.202676: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF11 <- ADMAIF11 XBAR-RX
           aplay-3557    [001] ....  1044.202678: snd_soc_dapm_path:  I2S2 Mux <- ADX2-4 <- ADX2-4 XBAR-RX
           aplay-3557    [001] ....  1044.202680: snd_soc_dapm_path:  I2S2 Mux <- ADX2-3 <- ADX2-3 XBAR-RX
           aplay-3557    [001] ....  1044.202682: snd_soc_dapm_path:  I2S2 Mux <- ADX2-2 <- ADX2-2 XBAR-RX
           aplay-3557    [001] ....  1044.202684: snd_soc_dapm_path:  I2S2 Mux <- ADX2-1 <- ADX2-1 XBAR-RX
           aplay-3557    [001] ....  1044.202687: snd_soc_dapm_path:  I2S2 Mux <- AMX2 <- AMX2 XBAR-RX
           aplay-3557    [001] ....  1044.202689: snd_soc_dapm_path:  I2S2 Mux <- ADX1-4 <- ADX1-4 XBAR-RX
           aplay-3557    [001] ....  1044.202691: snd_soc_dapm_path:  I2S2 Mux <- ADX1-3 <- ADX1-3 XBAR-RX
           aplay-3557    [001] ....  1044.202695: snd_soc_dapm_path:  I2S2 Mux <- ADX1-2 <- ADX1-2 XBAR-RX
           aplay-3557    [001] ....  1044.202702: snd_soc_dapm_path:  I2S2 Mux <- ADX1-1 <- ADX1-1 XBAR-RX
           aplay-3557    [001] ....  1044.202708: snd_soc_dapm_path:  I2S2 Mux <- AMX1 <- AMX1 XBAR-RX
           aplay-3557    [001] ....  1044.202712: snd_soc_dapm_path:  I2S2 Mux <- DMIC3 <- DMIC3 XBAR-RX
           aplay-3557    [001] ....  1044.202714: snd_soc_dapm_path:  I2S2 Mux <- DMIC2 <- DMIC2 XBAR-RX
           aplay-3557    [001] ....  1044.202717: snd_soc_dapm_path:  I2S2 Mux <- DMIC1 <- DMIC1 XBAR-RX
           aplay-3557    [001] ....  1044.202720: snd_soc_dapm_path:  I2S2 Mux <- IQC2-2 <- IQC2-2 XBAR-RX
           aplay-3557    [001] ....  1044.202722: snd_soc_dapm_path:  I2S2 Mux <- IQC2-1 <- IQC2-1 XBAR-RX
           aplay-3557    [001] ....  1044.202726: snd_soc_dapm_path:  I2S2 Mux <- IQC1-2 <- IQC1-2 XBAR-RX
           aplay-3557    [001] ....  1044.202731: snd_soc_dapm_path:  I2S2 Mux <- IQC1-1 <- IQC1-1 XBAR-RX
           aplay-3557    [001] ....  1044.202737: snd_soc_dapm_path:  I2S2 Mux <- MVC2 <- MVC2 XBAR-RX
           aplay-3557    [001] ....  1044.202741: snd_soc_dapm_path:  I2S2 Mux <- MVC1 <- MVC1 XBAR-RX
           aplay-3557    [001] ....  1044.202745: snd_soc_dapm_path:  I2S2 Mux <- OPE1 <- OPE1 XBAR-RX
           aplay-3557    [001] ....  1044.202748: snd_soc_dapm_path:  I2S2 Mux <- AFC6 <- AFC6 XBAR-RX
           aplay-3557    [001] ....  1044.202750: snd_soc_dapm_path:  I2S2 Mux <- AFC5 <- AFC5 XBAR-RX
           aplay-3557    [001] ....  1044.202753: snd_soc_dapm_path:  I2S2 Mux <- AFC4 <- AFC4 XBAR-RX
           aplay-3557    [001] ....  1044.202754: snd_soc_dapm_path:  I2S2 Mux <- AFC3 <- AFC3 XBAR-RX
           aplay-3557    [001] ....  1044.202758: snd_soc_dapm_path:  I2S2 Mux <- AFC2 <- AFC2 XBAR-RX
           aplay-3557    [001] ....  1044.202763: snd_soc_dapm_path:  I2S2 Mux <- AFC1 <- AFC1 XBAR-RX
           aplay-3557    [001] ....  1044.202766: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-5 <- MIXER1-5 XBAR-RX
           aplay-3557    [001] ....  1044.202772: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-4 <- MIXER1-4 XBAR-RX
           aplay-3557    [001] ....  1044.202775: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-3 <- MIXER1-3 XBAR-RX
           aplay-3557    [001] ....  1044.202778: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-2 <- MIXER1-2 XBAR-RX
           aplay-3557    [001] ....  1044.202781: snd_soc_dapm_path:  I2S2 Mux <- MIXER1-1 <- MIXER1-1 XBAR-RX
           aplay-3557    [001] ....  1044.202785: snd_soc_dapm_path:  I2S2 Mux <- SFC4 <- SFC4 XBAR-RX
           aplay-3557    [001] ....  1044.202788: snd_soc_dapm_path:  I2S2 Mux <- SFC3 <- SFC3 XBAR-RX
           aplay-3557    [001] ....  1044.202790: snd_soc_dapm_path:  I2S2 Mux <- SFC2 <- SFC2 XBAR-RX
           aplay-3557    [001] ....  1044.202795: snd_soc_dapm_path:  I2S2 Mux <- SFC1 <- SFC1 XBAR-RX
           aplay-3557    [001] ....  1044.202799: snd_soc_dapm_path:  I2S2 Mux <- I2S5 <- I2S5 XBAR-RX
           aplay-3557    [001] ....  1044.202803: snd_soc_dapm_path:  I2S2 Mux <- I2S4 <- I2S4 XBAR-RX
           aplay-3557    [001] ....  1044.202806: snd_soc_dapm_path:  I2S2 Mux <- I2S3 <- I2S3 XBAR-RX
           aplay-3557    [001] ....  1044.202808: snd_soc_dapm_path:  I2S2 Mux <- I2S2 <- I2S2 XBAR-RX
           aplay-3557    [001] ....  1044.202813: snd_soc_dapm_path:  I2S2 Mux <- I2S1 <- I2S1 XBAR-RX
           aplay-3557    [001] ....  1044.202818: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF10 <- ADMAIF10 XBAR-RX
           aplay-3557    [001] ....  1044.202820: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF9 <- ADMAIF9 XBAR-RX
           aplay-3557    [001] ....  1044.202823: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF8 <- ADMAIF8 XBAR-RX
           aplay-3557    [001] ....  1044.202827: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF7 <- ADMAIF7 XBAR-RX
           aplay-3557    [001] ....  1044.202831: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF6 <- ADMAIF6 XBAR-RX
           aplay-3557    [001] ....  1044.202835: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF5 <- ADMAIF5 XBAR-RX
           aplay-3557    [001] ....  1044.202838: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF4 <- ADMAIF4 XBAR-RX
           aplay-3557    [001] ....  1044.202840: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF3 <- ADMAIF3 XBAR-RX
           aplay-3557    [001] ....  1044.202843: snd_soc_dapm_path:  I2S2 Mux <- ADMAIF2 <- ADMAIF2 XBAR-RX
           aplay-3557    [001] ....  1044.202844: snd_soc_dapm_path: *I2S2 Mux <- ADMAIF1 <- ADMAIF1 XBAR-RX
           aplay-3557    [001] ....  1044.202845: snd_soc_dapm_widget_power: widget=I2S2 Mux val=0
           aplay-3557    [001] ....  1044.202849: snd_soc_dapm_path: *I2S2 XBAR-TX <- (direct) <- I2S2 Mux
           aplay-3557    [001] ....  1044.202850: snd_soc_dapm_widget_power: widget=I2S2 XBAR-TX val=0
           aplay-3557    [001] ....  1044.202852: snd_soc_dapm_path: *I2S2 XBAR-Capture <- (direct) <- I2S2 XBAR-TX
           aplay-3557    [001] ....  1044.202853: snd_soc_dapm_widget_power: widget=I2S2 XBAR-Capture val=0
           aplay-3557    [001] ....  1044.202856: snd_soc_dapm_path: *tegra-dlink-65-playback <- (direct) <- I2S2 XBAR-Capture
           aplay-3557    [001] ....  1044.202857: snd_soc_dapm_widget_power: widget=tegra-dlink-65-playback val=0
           aplay-3557    [001] ....  1044.202859: snd_soc_dapm_path: *I2S2 CIF-Playback <- (direct) <- tegra-dlink-65-playback
           aplay-3557    [001] ....  1044.202860: snd_soc_dapm_widget_power: widget=I2S2 CIF-Playback val=0
           aplay-3557    [001] ....  1044.202863: snd_soc_dapm_path: *I2S2 RX <- (direct) <- I2S2 CIF-Playback
           aplay-3557    [001] ....  1044.202864: snd_soc_dapm_widget_power: widget=I2S2 RX val=0
           aplay-3557    [001] ....  1044.202866: snd_soc_dapm_path: *I2S2 DAP-Capture <- (direct) <- I2S2 RX
           aplay-3557    [001] ....  1044.202867: snd_soc_dapm_widget_power: widget=I2S2 DAP-Capture val=0
           aplay-3557    [001] ....  1044.202870: snd_soc_dapm_path: *tlv320aic32x6-codec-playback <- (direct) <- I2S2 DAP-Capture
           aplay-3557    [001] ....  1044.202871: snd_soc_dapm_widget_power: widget=tlv320aic32x6-codec-playback val=0
           aplay-3557    [001] ....  1044.202874: snd_soc_dapm_path: *TLV Playback <- (direct) <- tlv320aic32x6-codec-playback
           aplay-3557    [001] ....  1044.202875: snd_soc_dapm_widget_power: widget=TLV Playback val=0
           aplay-3557    [001] ....  1044.202877: snd_soc_dapm_path: *TLV Right DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1044.202879: snd_soc_dapm_path: *TLV Right DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1044.202880: snd_soc_dapm_widget_power: widget=TLV Right DAC val=0
           aplay-3557    [001] ....  1044.202885: snd_soc_dapm_path: *TLV Left DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1044.202888: snd_soc_dapm_path: *TLV Left DAC <- (direct) <- TLV Playback
           aplay-3557    [001] ....  1044.202889: snd_soc_dapm_widget_power: widget=TLV Left DAC val=0
           aplay-3557    [001] ....  1044.202891: snd_soc_dapm_path: *TLV LOR Output Mixer <- R_DAC Switch <- TLV Right DAC
           aplay-3557    [001] ....  1044.202895: snd_soc_dapm_widget_power: widget=TLV LOR Output Mixer val=0
           aplay-3557    [001] ....  1044.202900: snd_soc_dapm_path: *TLV LOL Output Mixer <- L_DAC Switch <- TLV Left DAC
           aplay-3557    [001] ....  1044.202902: snd_soc_dapm_widget_power: widget=TLV LOL Output Mixer val=0
           aplay-3557    [001] ....  1044.202904: snd_soc_dapm_path: *TLV LOR Power <- (direct) <- TLV LOR Output Mixer
           aplay-3557    [001] ....  1044.202905: snd_soc_dapm_widget_power: widget=TLV LOR Power val=0
           aplay-3557    [001] ....  1044.202909: snd_soc_dapm_path: *TLV LOL Power <- (direct) <- TLV LOL Output Mixer
           aplay-3557    [001] ....  1044.202913: snd_soc_dapm_widget_power: widget=TLV LOL Power val=0
           aplay-3557    [001] ....  1044.202919: snd_soc_dapm_path: *TLV LOR <- (direct) <- TLV LOR Power
           aplay-3557    [001] ....  1044.202921: snd_soc_dapm_widget_power: widget=TLV LOR val=0
           aplay-3557    [001] ....  1044.202923: snd_soc_dapm_path: *TLV LOL <- (direct) <- TLV LOL Power
           aplay-3557    [001] ....  1044.202924: snd_soc_dapm_widget_power: widget=TLV LOL val=0
           aplay-3557    [001] ....  1044.202929: snd_soc_dapm_path: *TLV Headphone <- (direct) <- TLV LOR
           aplay-3557    [001] ....  1044.202932: snd_soc_dapm_path: *TLV Headphone <- (direct) <- TLV LOL
           aplay-3557    [001] ....  1044.202935: snd_soc_dapm_widget_power: widget=TLV Headphone val=0
           aplay-3557    [001] ....  1044.203391: snd_soc_dapm_walk_done: NVIDIA Jetson AGX Xavier APE: checks 21 power, 21 path, 102 neighbour
   kworker/u16:2-115     [002] ....  1044.203512: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:2-115     [002] ....  1044.203587: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [000] ....  1044.203590: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [000] ....  1044.203601: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:0-3540    [001] ....  1044.203663: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [000] ....  1044.203666: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:1-3542    [000] ....  1044.203669: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
   kworker/u16:0-3540    [001] ....  1044.203671: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=2
           aplay-3557    [001] ....  1044.208564: snd_soc_dapm_widget_event_start: widget=tlv320aic32x6-codec-playback val=4
           aplay-3557    [001] ....  1044.210416: snd_soc_dapm_widget_event_done: widget=tlv320aic32x6-codec-playback val=4
           aplay-3557    [001] ....  1044.210430: snd_soc_dapm_widget_event_start: widget=tegra-dlink-65-playback val=4
           aplay-3557    [001] ....  1044.210435: snd_soc_dapm_widget_event_done: widget=tegra-dlink-65-playback val=4
           aplay-3557    [001] ....  1044.210436: snd_soc_dapm_widget_event_start: widget=tlv320aic32x6-codec-playback val=8
           aplay-3557    [001] ....  1044.210440: snd_soc_dapm_widget_event_done: widget=tlv320aic32x6-codec-playback val=8
           aplay-3557    [001] ....  1044.210441: snd_soc_dapm_widget_event_start: widget=tegra-dlink-65-playback val=8
           aplay-3557    [001] ....  1044.210443: snd_soc_dapm_widget_event_done: widget=tegra-dlink-65-playback val=8
   kworker/u16:4-167     [000] ....  1044.213181: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [000] ....  1044.213226: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [000] ....  1044.213233: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [000] ....  1044.213234: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:0-3540    [000] ....  1044.213235: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:1-3542    [001] ....  1044.213240: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:1-3542    [001] ....  1044.213242: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:1-3542    [001] ....  1044.213243: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:1-3542    [001] ....  1044.213244: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:0-3540    [000] ....  1044.213248: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [000] ....  1044.213249: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
   kworker/u16:0-3540    [000] ....  1044.213250: snd_soc_bias_level_start: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:0-3540    [000] ....  1044.213251: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=0
   kworker/u16:4-167     [001] ....  1044.243548: snd_soc_bias_level_done: card=NVIDIA Jetson AGX Xavier APE val=1
           aplay-3557    [001] ....  1044.243649: snd_soc_dapm_done: card=NVIDIA Jetson AGX Xavier APE

Hi vijayaca,
I can see aplay DAPM path was completed.

For arecord, you need below mixer control setting
amixer -c APE sset ‘ADMAIF4 Mux’ ‘I2S2’

Hi Kumar,

I did try this same result. Do we have to enable any widgets to enable capture DAPM path to complete?

Hi Vijayaca,
Can you try the below change in the codec driver

/sound/soc/codecs/tlv320aic32x4.c
– SND_SOC_DAPM_ADC(“Right ADC”, “Right Capture”, AIC32X4_ADCSETUP, 6, 0),
++ SND_SOC_DAPM_ADC(“Right ADC”, “Capture”, AIC32X4_ADCSETUP, 6, 0),

– SND_SOC_DAPM_ADC(“Left ADC”, “Left Capture”, AIC32X4_ADCSETUP, 7, 0),
++ SND_SOC_DAPM_ADC(“Left ADC”, “Capture”, AIC32X4_ADCSETUP, 7, 0),

The routing entries looks fine on the DTS file.

Hi Kumar,

Yes, I did these changes already. I am testing with these changes which is failing.

Hi vijayaca,
Can you attach the modified version of codec driver at your end. Let me cross check and revert back on any change required.

Also can you confirm whether Audio Playback was working fine?

Hi Kumar,

I confirm playback is working fine, I am able to play audio files using aplay.
This is the only change done on codec

diff --git a/tmp/Linux_for_Tegra/kernel/kernel-5.10/sound/soc/codecs/tlv320aic32x4.c b/mnt/ssd/Jetson-L4T/kernel/kernel-5.10/sound/soc/codecs/tlv320aic32x4.c
index b895075..3eeab52 100644
--- a/tmp/Linux_for_Tegra/kernel/kernel-5.10/sound/soc/codecs/tlv320aic32x4.c
+++ b/mnt/ssd/Jetson-L4T/kernel/kernel-5.10/sound/soc/codecs/tlv320aic32x4.c
@@ -421,7 +421,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
                           ARRAY_SIZE(lor_output_mixer_controls)),
        SND_SOC_DAPM_PGA("LOR Power", AIC32X4_OUTPWRCTL, 2, 0, NULL, 0),
 
-       SND_SOC_DAPM_ADC("Right ADC", "Right Capture", AIC32X4_ADCSETUP, 6, 0),
+       SND_SOC_DAPM_ADC("Right ADC", "Capture", AIC32X4_ADCSETUP, 6, 0),
        SND_SOC_DAPM_MUX("IN1_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
                        in1r_to_rmixer_controls),
        SND_SOC_DAPM_MUX("IN2_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
@@ -437,7 +437,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
        SND_SOC_DAPM_MUX("IN3_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
                        in3l_to_rmixer_controls),
 
-       SND_SOC_DAPM_ADC("Left ADC", "Left Capture", AIC32X4_ADCSETUP, 7, 0),
+       SND_SOC_DAPM_ADC("Left ADC", "Capture", AIC32X4_ADCSETUP, 7, 0),
        SND_SOC_DAPM_MUX("IN1_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
                        in1l_to_lmixer_controls),
        SND_SOC_DAPM_MUX("IN2_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,

Let me know if you need any more details.

Hi vijayaca,
Did some analyze on the codec widgets, routes and your mixer controls settings dump. Can you try to set the value ‘on’ for below mixer control which can help capture path as this is the control variable for the DAPM path for capture. Can you set similar mixer control for all INx switch to “on”

numid=1663,iface=MIXER,name=‘TLV HPL Output Mixer IN1_L Switch’
; type=BOOLEAN,access=rw------,values=1
: values=off

Hi Kumar,
I did play with various mixer controls, finally found that setting below make the DAPM path complete for record/capture
amixer -c APE cset name=‘TLV IN1_L to Left Mixer Positive Resistor’ 1
amixer -c APE cset name=‘TLV IN1_L to Right Mixer Negative Resistor’ 1

I am testing the MIC functionality, looks like captured audio volume is very low, any suggestions?

Hi Vijayaca,
That’s good news. On capture audio low volume, Can you check on the volume control on Codec front. I2S doesn’t have gain control. If codec controls not providing enough gain try using MVC module in the capture path.

Refer Audio Setup and Development — Jetson Linux<br/>Developer Guide 34.1 documentation for more details

Hi Kumar,

Any suggestions on how to set MVC for capture?

Hi Vijayaca,
Refer to Audio Setup and Development — Jetson Linux<br/>Developer Guide 34.1 documentation for examples on how to use MVC in the path.

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