Audio codec not working

Open audio tracing, Here is the log.
The “pulseaudio” things produced by first aplay call.

root@f-desktop:/home/f# cat /sys/kernel/debug/tracing/trace_pipe
pulseaudio-6605 [002] … 388.576973: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [002] … 388.577072: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [002] … 388.577076: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [002] … 388.577077: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [002] … 388.577083: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.774939: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.774987: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 388.774988: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 388.775025: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 388.775030: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.775030: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.775036: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.779044: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.779126: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 388.779130: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.779131: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.779136: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.958216: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.958261: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 388.958262: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 388.958310: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 388.958314: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.958315: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.958321: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.959755: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 388.959830: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 388.959833: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.959834: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 388.959839: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.147768: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.147853: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.147855: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.147856: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.147864: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.147905: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.147922: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 389.147923: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 389.147942: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.147944: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.147944: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.147947: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.148727: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.148792: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.148795: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.148795: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.148800: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.148836: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.148849: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 389.148850: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 389.148870: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.148871: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.148872: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.148875: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.149017: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.149043: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← Playback 1
pulseaudio-6605 [000] … 389.149044: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← ADMAIF1 CIF Receive-ADMAIF1 Receive
pulseaudio-6605 [000] … 389.149061: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.149064: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.149065: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.149068: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.150243: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.150302: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.150305: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.150306: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.150311: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.323668: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.323751: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.323753: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.323756: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.323762: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.323800: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.323815: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 389.323816: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 389.323835: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.323837: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.323838: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.323841: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324599: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324657: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.324658: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324659: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324664: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324696: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324711: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
pulseaudio-6605 [000] … 389.324712: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
pulseaudio-6605 [000] … 389.324729: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.324730: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324730: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324733: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324879: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.324899: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← Playback 1
pulseaudio-6605 [000] … 389.324900: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← ADMAIF1 CIF Receive-ADMAIF1 Receive
pulseaudio-6605 [000] … 389.324919: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
pulseaudio-6605 [000] … 389.324920: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324921: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.324924: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.337308: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.337391: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.337401: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.337402: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.337408: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.557775: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
pulseaudio-6605 [000] … 389.557866: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
pulseaudio-6605 [000] … 389.557874: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.557875: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
pulseaudio-6605 [000] … 389.557882: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
alsa-source-ADM-6645 [002] … 394.791319: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
alsa-source-ADM-6645 [002] … 394.791775: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → Capture 1
alsa-source-ADM-6645 [002] … 394.791791: snd_soc_dapm_path: *ADMAIF1 Transmit → (direct) → ADMAIF1 Transmit-ADMAIF1 CIF Transmit
alsa-source-ADM-6645 [002] … 394.792142: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
alsa-source-ADM-6645 [002] … 394.792182: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
alsa-source-ADM-6645 [002] … 394.792191: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
alsa-source-ADM-6645 [002] … 394.792252: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
alsa-sink-ADMAI-6644 [000] … 394.802351: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
alsa-sink-ADMAI-6644 [000] … 394.802592: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← Playback 1
alsa-sink-ADMAI-6644 [000] … 394.802609: snd_soc_dapm_path: *ADMAIF1 Receive ← (direct) ← ADMAIF1 CIF Receive-ADMAIF1 Receive
alsa-sink-ADMAI-6644 [000] … 394.803538: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
alsa-sink-ADMAI-6644 [000] … 394.803638: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
alsa-sink-ADMAI-6644 [000] … 394.803648: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
alsa-sink-ADMAI-6644 [000] … 394.803698: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x

Subsequent aplay call generate same logs.

       aplay-6655  [002] ....   432.507678: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
       aplay-6655  [002] ....   432.508063: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
       aplay-6655  [002] ....   432.508066: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
       aplay-6655  [002] ....   432.508068: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
       aplay-6655  [002] ....   432.508077: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
       aplay-6655  [000] ....   432.823285: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
       aplay-6655  [000] ....   432.823717: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- Playback 1
       aplay-6655  [000] ....   432.823732: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- ADMAIF1 CIF Receive-ADMAIF1 Receive
       aplay-6655  [000] ....   432.824551: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
       aplay-6655  [000] ....   432.824602: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
       aplay-6655  [000] ....   432.824611: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
       aplay-6655  [000] ....   432.824669: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x

There are 2 widgets playback related.

root@f-desktop:/home/f# find /sys/kernel/debug/asoc/ -name ‘x Playback’
/sys/kernel/debug/asoc/tegra-snd-t210ref-mobile-rt565x/codec:es8374.2-0010/dapm/x Playback
root@f-desktop:/home/f# sudo find /sys/kernel/debug/asoc/ -name ‘x Playback’ -exec cat {} ;
x Playback: Off in 0 out 0
stream Playback inactive
in “static” “I2S4 DAP Transmit-x Playback”
root@f-desktop:/home/f/audio# find /sys/kernel/debug/asoc/ -name ‘x SPKOUT’ -exec cat {} ;
x SPKOUT: Off in 0 out 1
out “static” “x Int Spk”
in “static” “x SPEAKER MIXER”

Only 2 lines in dts audio routing, Should I add more?

nvidia,audio-routing =
“x Int Spk”, “x SPKOUT”,
“x MIC2”, “x Int Mic”;

Should I turn on some widget?The “x Playback” & "x SPKOUT“ are off both.
Or re-cofig routing?The aplay tracing does not include I2S relating infomation.

Thanks a lot!

Hi felixch,

Have you checked the Audio troubleshooting section from L4T doc: Welcome — Jetson Linux<br/>Developer Guide 34.1 documentation