Poring audio driver missing card name

We make a customize carrier board, connect ES8374 codec by i2s3.
cat /sys/kernel/debug/asoc/codecs has es8374.2-0010
But
cat /proc/asound/cards , only tegrahda, tegrasndt210ref missing.

i2cdetect -y -r 2 shown “10 UU”
aud_mclk frequency 10M , measure by oscilloscope.

Below is the dts :

/ {
tegra_sound: sound {
status = “okay”;
compatible = “nvidia,tegra-audio-t210ref-mobile-rt565x”;
nvidia,model = “tegra-snd-t210ref-mobile-rt565x”;
clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA210_CLK_D_AUDIO>,
<&tegra_car TEGRA210_CLK_EXTERN1>;
clock-names = “pll_a”, “pll_a_out0”, “ahub”, “extern1”;
assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>,
<&tegra_car TEGRA210_CLK_EXTERN1>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
nvidia,num-codec-link = <1>;
nvidia,audio-routing =
“x Int Spk”, “x OUT”,
“x IN”, “x Int Mic”;
nvidia,xbar = <&tegra_axbar>;
mclk-fs = <256>;
i2s_dai_link1: nvidia,dai-link-1 {
link-name = “es8374-codec”;
cpu-dai = <&tegra_i2s3>;
codec-dai = <&es8374>;
cpu-dai-name = “I2S3”;
codec-dai-name = “es8374”;
format = “i2s”;
bitclock-slave;
frame-slave;
bitclock-noninversion;
frame-noninversion;
bit-format = “s16_le”;
srate = <48000>;
num-channel = <2>;
ignore_suspend;
name-prefix = “x”;
status = “okay”;
};
};
i2c3: i2c@7000c500{
es8374: es8374@10 {
compatible = “ambarella,es8374”;
reg = <0x010>;
status = “okay”;
};
};
};

cat /proc/asound/cards , only tegrahda, tegrasndt210ref missing.

0 [tegrahda ]: tegra-hda - tegra-hda
tegra-hda at 0x70038000 irq 82

cat /sys/kernel/debug/asoc/codecs

tegra210-ope.1
tegra210-ope.0
tegra210-mvc.1
tegra210-mvc.0
tegra210-afc.5
tegra210-afc.4
tegra210-afc.3
tegra210-afc.2
tegra210-afc.1
tegra210-afc.0
tegra210-sfc.3
tegra210-sfc.2
tegra210-sfc.1
tegra210-sfc.0
tegra210-mixer
tegra210-adx.1
tegra210-adx.0
tegra210-amx.1
tegra210-amx.0
tegra210-dmic.1
tegra210-dmic.0
tegra210-i2s.3
tegra210-i2s.2
tegra210-admaif
tegra210-axbar
7.spdif-dit.7
6.spdif-dit.6
5.spdif-dit.5
4.spdif-dit.4
3.spdif-dit.3
2.spdif-dit.2
1.spdif-dit.1
0.spdif-dit.0
es8374.2-0010
snd-soc-dummy

Thand you!!

Hello!

Please can you share the output from ‘dmesg’?

Thanks
Jon

Thank you for help!

The text pasted in directly lost line break.
Replace it with attachment.dmesg.txt (49.8 KB)

Hello!

From the dmesg output I see the following messages …

[    4.466116] tegra-asoc: sound: ASoC: CODEC DAI es8374 not registered
[    4.472556] tegra-asoc: sound: snd_soc_register_card failed (-517)
[    4.480206] tegra-asoc: sound: ASoC: CODEC DAI es8374 not registered
[    4.486656] tegra-asoc: sound: snd_soc_register_card failed (-517)

Interestingly, the output from “/sys/kernel/debug/asoc/codecs” shows that the codec is eventually registered, but I never see the sound card find it. Maybe there is a problem with the DAI name es8374. Is the source for the codec driver available somewhere?

Regards,
Jon

es8374.c (40.6 KB) es8374.h.c (4.9 KB)

Thanks

We does not change the tegra sound driver, modify dts only.

Hello!

Can you try setting the ‘codec-dai-name = “ES8374 HiFi”;’ in device-tree?

Depending on how you clock the codec, it may be necessary to make changes to the Tegra machine driver. I assume that you are using the AUD_MCLK to drive the codec MCLK? By default the AUD_MCLK will operate at 256*fs and so if you are using the AUD_MCLK, then you will need to snd_soc_dai_set_sysclk() from within the Tegra machine driver to set the codec MCLK frequency accordingly.

Regards,
Jon

Set the codec-dai-name works, tegrasnd210ref card appear now.

In codec driver:

static struct snd_soc_dai_driver es8374_dai = {
{ .name = “ES8374 HiFi”,
.playback = {
.stream_name = “Playback”,
.channels_min = 1,
.channels_max = 2,
.rates = es8374_RATES,
.formats = es8374_FORMATS,
},
.capture = {
.stream_name = “Capture”,
.channels_min = 1,
.channels_max = 2,
.rates = es8374_RATES,
.formats = es8374_FORMATS,
},
.ops = &es8374_ops,
.symmetric_rates = 1,
},
};

So , we modify the dts:

nvidia,audio-routing =
“x Playback”, “x OUT”,
“x IN”, “x Capture”;

Is it right?

We got error message on boot:

[ 1.854181] tegra-asoc: sound: ASoC: no source widget found for x OUT
[ 1.860659] tegra-asoc: sound: ASoC: Failed to add route x OUT -> direct -> x Playback
[ 1.868616] tegra-asoc: sound: ASoC: no sink widget found for x IN
[ 1.874811] tegra-asoc: sound: ASoC: Failed to add route x Capture -> direct -> x IN

Thank you !

Hello!

The codec driver has …

		SND_SOC_DAPM_INPUT("DMIC"),
		SND_SOC_DAPM_INPUT("MIC1"),
		SND_SOC_DAPM_INPUT("MIC2"),
		SND_SOC_DAPM_INPUT("LIN1"),
		SND_SOC_DAPM_INPUT("LIN2"),

And …

		SND_SOC_DAPM_OUTPUT("MOUT"),
		SND_SOC_DAPM_OUTPUT("SPKOUT"),

So if you are using the Line inputs and Speaker out you want something like …

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

Note that the ‘x Int Spk’ and ‘x Int Mic’ are defined by the Tegra machine driver [0] and you are making the routing between the machine driver widgets and the codec widgets.

Regards,
Jon

[0] https://nv-tegra.nvidia.com/gitweb/?p=linux-nvidia.git;a=blob;f=sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c;h=fbca4699d353de7e7eb2b8984c07efab954e5b15;hb=230cb880e212aab814e5e0885f87c76b70e762c7#l133

Thanks for your help!

f@f-desktop:~$ amixer -c tegrasndt210ref cset name=“I2S4 Mux” ADMAIF1
numid=529,iface=MIXER,name=‘I2S4 Mux’
; type=ENUMERATED,access=rw------,values=1,items=53
; Item #0 ‘None’
; Item #1 ‘ADMAIF1’
; Item #2 ‘ADMAIF2’
; Item #3 ‘ADMAIF3’
; Item #4 ‘ADMAIF4’
; Item #5 ‘ADMAIF5’
; Item #6 ‘ADMAIF6’
; Item #7 ‘ADMAIF7’
; Item #8 ‘ADMAIF8’
; Item #9 ‘ADMAIF9’
; Item #10 ‘ADMAIF10’
; Item #11 ‘I2S1’
; Item #12 ‘I2S2’
; Item #13 ‘I2S3’
; Item #14 ‘I2S4’
; Item #15 ‘I2S5’
; Item #16 ‘SFC1’
; Item #17 ‘SFC2’
; Item #18 ‘SFC3’
; Item #19 ‘SFC4’
; Item #20 ‘MIXER1-1’
; Item #21 ‘MIXER1-2’
; Item #22 ‘MIXER1-3’
; Item #23 ‘MIXER1-4’
; Item #24 ‘MIXER1-5’
; Item #25 ‘AMX1’
; Item #26 ‘AMX2’
; Item #27 ‘AFC1’
; Item #28 ‘AFC2’
; Item #29 ‘AFC3’
; Item #30 ‘AFC4’
; Item #31 ‘AFC5’
; Item #32 ‘AFC6’
; Item #33 ‘OPE1’
; Item #34 ‘OPE2’
; Item #35 ‘SPKPROT1’
; Item #36 ‘MVC1’
; Item #37 ‘MVC2’
; Item #38 ‘IQC1-1’
; Item #39 ‘IQC1-2’
; Item #40 ‘IQC2-1’
; Item #41 ‘IQC2-2’
; Item #42 ‘DMIC1’
; Item #43 ‘DMIC2’
; Item #44 ‘DMIC3’
; Item #45 ‘ADX1-1’
; Item #46 ‘ADX1-2’
; Item #47 ‘ADX1-3’
; Item #48 ‘ADX1-4’
; Item #49 ‘ADX2-1’
; Item #50 ‘ADX2-2’
; Item #51 ‘ADX2-3’
; Item #52 ‘ADX2-4’
: values=1

f@f-desktop:~$ aplay -D hw:tegrasndt210ref,0 african.wav
aplay: main:788: audio open error: Device or resource busy

What should I do now?
Where is the detail error information?

mclk frequency 12.26M
PS: The dts early posted is wrong. I2S channel should be I2S4.

Hello!

Does it always show up as busy or just sometimes? Sometimes pulseaudio may be using the resource and may show up as busy. This is some what normal. Please see …

Regards,
Jon

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”;

Thanks !!

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!

Hello!

Sorry for the delay, I have been out of the office. Looking at the driver I see …

		/*
		*	Render path
		*/
		SND_SOC_DAPM_AIF_IN("I2S IN", "I2S1 Playback", 0,
				SND_SOC_NOPM, 0, 0),

Do you see a DAPM widget called ‘x I2S1 Playback’?

$ sudo find /sys/kernel/debug/asoc/ -name ‘x I2S1 Playback’ -exec cat {} ;

If so, then I think we need to add …

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

Hopefully, then ‘x Playback’ will be connected to ‘x I2S1 Playback’ and you can check by …

 $ sudo find /sys/kernel/debug/asoc/ -name ‘x Playback’ -exec cat {} ;

Regards,
Jon

Thanks a lot!! You are saving my life.

Can’t find ‘x I2S1 Playback’.
Is there a way to get a graph show me the routes connecting? It’s very help for find the issue.

root@f-desktop:/sys/kernel/debug/asoc/tegra-snd-t210ref-mobile-rt565x# find . -name 'x '*
./codec:es8374.2-0010/dapm/x Capture
./codec:es8374.2-0010/dapm/x Playback
./codec:es8374.2-0010/dapm/x SPKOUT
./codec:es8374.2-0010/dapm/x MOUT
./codec:es8374.2-0010/dapm/x EQUALIZER MUX
./codec:es8374.2-0010/dapm/x SPEAKER MIXER
./codec:es8374.2-0010/dapm/x MONO MIXER
./codec:es8374.2-0010/dapm/x ANALOG INPUT MUX
./codec:es8374.2-0010/dapm/x MONO DAC
./codec:es8374.2-0010/dapm/x DAC SRC MUX
./codec:es8374.2-0010/dapm/x DAC SDP SRC MUX
./codec:es8374.2-0010/dapm/x I2S IN
./codec:es8374.2-0010/dapm/x I2S OUT
./codec:es8374.2-0010/dapm/x SDP OUT MUX
./codec:es8374.2-0010/dapm/x ALC MUX
./codec:es8374.2-0010/dapm/x DMIC MUX
./codec:es8374.2-0010/dapm/x MONO ADC
./codec:es8374.2-0010/dapm/x LINE PGA
./codec:es8374.2-0010/dapm/x DIFFERENTIAL PGA
./codec:es8374.2-0010/dapm/x DIFFERENTIAL MUX
./codec:es8374.2-0010/dapm/x micbias
./codec:es8374.2-0010/dapm/x LIN2
./codec:es8374.2-0010/dapm/x LIN1
./codec:es8374.2-0010/dapm/x MIC2
./codec:es8374.2-0010/dapm/x MIC1
./codec:es8374.2-0010/dapm/x DMIC
./dapm/x Capture-I2S4 DAP Receive
./dapm/x Mic
./dapm/x Headphone
./dapm/x Mic Jack
./dapm/x Int Mic
./dapm/x Headphone Jack
./dapm/x Int Spk

root@f-desktop:/sys/kernel/debug/asoc/tegra-snd-t210ref-mobile-rt565x# find . -name I2S
./codec:es8374.2-0010/dapm/x I2S IN
./codec:es8374.2-0010/dapm/x I2S OUT
./codec:tegra210-i2s.3/dapm/I2S4 CIF Transmit
./codec:tegra210-i2s.3/dapm/I2S4 CIF Receive
./codec:tegra210-i2s.3/dapm/I2S4 DAP Transmit
./codec:tegra210-i2s.3/dapm/I2S4 DAP Receive
./codec:tegra210-i2s.3/dapm/I2S4 DAP TX
./codec:tegra210-i2s.3/dapm/I2S4 DAP RX
./codec:tegra210-i2s.3/dapm/I2S4 CIF TX
./codec:tegra210-i2s.3/dapm/I2S4 CIF RX
./codec:tegra210-axbar/dapm/I2S1 Transmit
./codec:tegra210-axbar/dapm/I2S1 Receive
./codec:tegra210-axbar/dapm/I2S2 Transmit
./codec:tegra210-axbar/dapm/I2S2 Receive
./codec:tegra210-axbar/dapm/I2S3 Transmit
./codec:tegra210-axbar/dapm/I2S3 Receive
./codec:tegra210-axbar/dapm/I2S4 Transmit
./codec:tegra210-axbar/dapm/I2S4 Receive
./codec:tegra210-axbar/dapm/I2S5 Transmit
./codec:tegra210-axbar/dapm/I2S5 Receive
./codec:tegra210-axbar/dapm/I2S5 Mux
./codec:tegra210-axbar/dapm/I2S5 TX
./codec:tegra210-axbar/dapm/I2S5 RX
./codec:tegra210-axbar/dapm/I2S4 Mux
./codec:tegra210-axbar/dapm/I2S4 TX
./codec:tegra210-axbar/dapm/I2S4 RX
./codec:tegra210-axbar/dapm/I2S3 Mux
./codec:tegra210-axbar/dapm/I2S3 TX
./codec:tegra210-axbar/dapm/I2S3 RX
./codec:tegra210-axbar/dapm/I2S2 Mux
./codec:tegra210-axbar/dapm/I2S2 TX
./codec:tegra210-axbar/dapm/I2S2 RX
./codec:tegra210-axbar/dapm/I2S1 Mux
./codec:tegra210-axbar/dapm/I2S1 TX
./codec:tegra210-axbar/dapm/I2S1 RX
./dapm/I2S4 CIF Transmit-I2S4 Receive
./dapm/I2S4 Transmit-I2S4 CIF Receive
./dapm/x Capture-I2S4 DAP Receive
./dapm/I2S4 DAP Transmit-x Playback

Hello!

Yes a graph would be ideal. Apart from tracing the routes I am not sure if there is a good way. The problem with tracing the routes is that if the route is not complete then the trace is not helpful because it does not show where things go wrong. The good news is that based upon the above we know that we need to route the ‘x Playback’ to the ‘x I2S IN’ and so can you try …

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

Regards
Jon

Hi, Jon

After modified the DTS ,We got I2S signal by oscilloscope.
But no output data, We got sclk for 4.282M, Even input data from codec.

The DTS file like this:

nvidia,audio-routing =
“x Int Spk”, “x Playback”,
“x Capture”, “x Int Mic”;

speaker-test -D hw:tegrasndt210ref,0 -c 2 -r 48000 -F S16_LE -t sine -f 500

The message is:
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error

Trace Log list below:
Thank you!!

tracer: nop

entries-in-buffer/entries-written: 224/224 #P:4

_-----=> irqs-off

/ _----=> need-resched

| / _—=> hardirq/softirq

|| / _–=> preempt-depth

||| / delay

TASK-PID CPU# |||| TIMESTAMP FUNCTION

| | | |||| | |

speaker-test-5899  [001] ....  1652.801201: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
speaker-test-5899  [001] ....  1652.801241: snd_soc_dapm_widget_power: widget=Playback 1 val=1
speaker-test-5899  [001] ....  1652.801242: snd_soc_dapm_widget_power: widget=ADMAIF1 Receive val=1
speaker-test-5899  [001] ....  1652.801244: snd_soc_dapm_path: *ADMAIF1 RX <- (direct) <- ADMAIF1 Receive
speaker-test-5899  [001] ....  1652.801246: snd_soc_dapm_widget_power: widget=ADMAIF1 RX val=1
speaker-test-5899  [001] ....  1652.801249: snd_soc_dapm_path:  I2S4 Mux <- OPE2 <- OPE2 RX
speaker-test-5899  [001] ....  1652.801250: snd_soc_dapm_path:  I2S4 Mux <- ADX2-4 <- ADX2-4 RX
speaker-test-5899  [001] ....  1652.801251: snd_soc_dapm_path:  I2S4 Mux <- ADX2-3 <- ADX2-3 RX
speaker-test-5899  [001] ....  1652.801252: snd_soc_dapm_path:  I2S4 Mux <- ADX2-2 <- ADX2-2 RX
speaker-test-5899  [001] ....  1652.801252: snd_soc_dapm_path:  I2S4 Mux <- ADX2-1 <- ADX2-1 RX
speaker-test-5899  [001] ....  1652.801253: snd_soc_dapm_path:  I2S4 Mux <- AMX2 <- AMX2 RX
speaker-test-5899  [001] ....  1652.801254: snd_soc_dapm_path:  I2S4 Mux <- ADX1-4 <- ADX1-4 RX
speaker-test-5899  [001] ....  1652.801254: snd_soc_dapm_path:  I2S4 Mux <- ADX1-3 <- ADX1-3 RX
speaker-test-5899  [001] ....  1652.801255: snd_soc_dapm_path:  I2S4 Mux <- ADX1-2 <- ADX1-2 RX
speaker-test-5899  [001] ....  1652.801256: snd_soc_dapm_path:  I2S4 Mux <- ADX1-1 <- ADX1-1 RX
speaker-test-5899  [001] ....  1652.801257: snd_soc_dapm_path:  I2S4 Mux <- AMX1 <- AMX1 RX
speaker-test-5899  [001] ....  1652.801257: snd_soc_dapm_path:  I2S4 Mux <- DMIC3 <- DMIC3 RX
speaker-test-5899  [001] ....  1652.801258: snd_soc_dapm_path:  I2S4 Mux <- DMIC2 <- DMIC2 RX
speaker-test-5899  [001] ....  1652.801259: snd_soc_dapm_path:  I2S4 Mux <- DMIC1 <- DMIC1 RX
speaker-test-5899  [001] ....  1652.801259: snd_soc_dapm_path:  I2S4 Mux <- IQC2-2 <- IQC2-2 RX
speaker-test-5899  [001] ....  1652.801260: snd_soc_dapm_path:  I2S4 Mux <- IQC2-1 <- IQC2-1 RX
speaker-test-5899  [001] ....  1652.801261: snd_soc_dapm_path:  I2S4 Mux <- IQC1-2 <- IQC1-2 RX
speaker-test-5899  [001] ....  1652.801261: snd_soc_dapm_path:  I2S4 Mux <- IQC1-1 <- IQC1-1 RX
speaker-test-5899  [001] ....  1652.801262: snd_soc_dapm_path:  I2S4 Mux <- MVC2 <- MVC2 RX
speaker-test-5899  [001] ....  1652.801262: snd_soc_dapm_path:  I2S4 Mux <- MVC1 <- MVC1 RX
speaker-test-5899  [001] ....  1652.801263: snd_soc_dapm_path:  I2S4 Mux <- OPE1 <- OPE1 RX
speaker-test-5899  [001] ....  1652.801264: snd_soc_dapm_path:  I2S4 Mux <- AFC6 <- AFC6 RX
speaker-test-5899  [001] ....  1652.801264: snd_soc_dapm_path:  I2S4 Mux <- AFC5 <- AFC5 RX
speaker-test-5899  [001] ....  1652.801265: snd_soc_dapm_path:  I2S4 Mux <- AFC4 <- AFC4 RX
speaker-test-5899  [001] ....  1652.801266: snd_soc_dapm_path:  I2S4 Mux <- AFC3 <- AFC3 RX
speaker-test-5899  [001] ....  1652.801266: snd_soc_dapm_path:  I2S4 Mux <- AFC2 <- AFC2 RX
speaker-test-5899  [001] ....  1652.801267: snd_soc_dapm_path:  I2S4 Mux <- AFC1 <- AFC1 RX
speaker-test-5899  [001] ....  1652.801267: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-5 <- MIXER1-5 RX
speaker-test-5899  [001] ....  1652.801268: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-4 <- MIXER1-4 RX
speaker-test-5899  [001] ....  1652.801269: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-3 <- MIXER1-3 RX
speaker-test-5899  [001] ....  1652.801270: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-2 <- MIXER1-2 RX
speaker-test-5899  [001] ....  1652.801270: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-1 <- MIXER1-1 RX
speaker-test-5899  [001] ....  1652.801271: snd_soc_dapm_path:  I2S4 Mux <- SFC4 <- SFC4 RX
speaker-test-5899  [001] ....  1652.801271: snd_soc_dapm_path:  I2S4 Mux <- SFC3 <- SFC3 RX
speaker-test-5899  [001] ....  1652.801272: snd_soc_dapm_path:  I2S4 Mux <- SFC2 <- SFC2 RX
speaker-test-5899  [001] ....  1652.801273: snd_soc_dapm_path:  I2S4 Mux <- SFC1 <- SFC1 RX
speaker-test-5899  [001] ....  1652.801273: snd_soc_dapm_path:  I2S4 Mux <- I2S5 <- I2S5 RX
speaker-test-5899  [001] ....  1652.801274: snd_soc_dapm_path:  I2S4 Mux <- I2S4 <- I2S4 RX
speaker-test-5899  [001] ....  1652.801275: snd_soc_dapm_path:  I2S4 Mux <- I2S3 <- I2S3 RX
speaker-test-5899  [001] ....  1652.801275: snd_soc_dapm_path:  I2S4 Mux <- I2S2 <- I2S2 RX
speaker-test-5899  [001] ....  1652.801276: snd_soc_dapm_path:  I2S4 Mux <- I2S1 <- I2S1 RX
speaker-test-5899  [001] ....  1652.801277: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF10 <- ADMAIF10 RX
speaker-test-5899  [001] ....  1652.801278: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF9 <- ADMAIF9 RX
speaker-test-5899  [001] ....  1652.801278: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF8 <- ADMAIF8 RX
speaker-test-5899  [001] ....  1652.801279: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF7 <- ADMAIF7 RX
speaker-test-5899  [001] ....  1652.801279: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF6 <- ADMAIF6 RX
speaker-test-5899  [001] ....  1652.801280: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF5 <- ADMAIF5 RX
speaker-test-5899  [001] ....  1652.801281: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF4 <- ADMAIF4 RX
speaker-test-5899  [001] ....  1652.801281: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF3 <- ADMAIF3 RX
speaker-test-5899  [001] ....  1652.801282: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF2 <- ADMAIF2 RX
speaker-test-5899  [001] ....  1652.801282: snd_soc_dapm_path: *I2S4 Mux <- ADMAIF1 <- ADMAIF1 RX
speaker-test-5899  [001] ....  1652.801283: snd_soc_dapm_widget_power: widget=I2S4 Mux val=1
speaker-test-5899  [001] ....  1652.801285: snd_soc_dapm_path: *I2S4 TX <- (direct) <- I2S4 Mux
speaker-test-5899  [001] ....  1652.801285: snd_soc_dapm_widget_power: widget=I2S4 TX val=1
speaker-test-5899  [001] ....  1652.801286: snd_soc_dapm_path: *I2S4 Transmit <- (direct) <- I2S4 TX
speaker-test-5899  [001] ....  1652.801287: snd_soc_dapm_widget_power: widget=I2S4 Transmit val=1
speaker-test-5899  [001] ....  1652.801288: snd_soc_dapm_path: *I2S4 Transmit-I2S4 CIF Receive <- (direct) <- I2S4 Transmit
speaker-test-5899  [001] ....  1652.801289: snd_soc_dapm_widget_power: widget=I2S4 Transmit-I2S4 CIF Receive val=1
speaker-test-5899  [001] ....  1652.801290: snd_soc_dapm_path: *I2S4 CIF Receive <- (direct) <- I2S4 Transmit-I2S4 CIF Receive
speaker-test-5899  [001] ....  1652.801290: snd_soc_dapm_widget_power: widget=I2S4 CIF Receive val=1
speaker-test-5899  [001] ....  1652.801291: snd_soc_dapm_path: *I2S4 CIF RX <- (direct) <- I2S4 CIF Receive
speaker-test-5899  [001] ....  1652.801292: snd_soc_dapm_widget_power: widget=I2S4 CIF RX val=1
speaker-test-5899  [001] ....  1652.801294: snd_soc_dapm_path: *I2S4 DAP TX <- (direct) <- I2S4 CIF RX
speaker-test-5899  [001] ....  1652.801295: snd_soc_dapm_widget_power: widget=I2S4 DAP TX val=1
speaker-test-5899  [001] ....  1652.801296: snd_soc_dapm_path: *I2S4 DAP Transmit <- (direct) <- I2S4 DAP TX
speaker-test-5899  [001] ....  1652.801296: snd_soc_dapm_widget_power: widget=I2S4 DAP Transmit val=1
speaker-test-5899  [001] ....  1652.801297: snd_soc_dapm_path: *I2S4 DAP Transmit-x Playback <- (direct) <- I2S4 DAP Transmit
speaker-test-5899  [001] ....  1652.801298: snd_soc_dapm_widget_power: widget=I2S4 DAP Transmit-x Playback val=1
speaker-test-5899  [001] ....  1652.801299: snd_soc_dapm_path: *x Playback <- (direct) <- I2S4 DAP Transmit-x Playback
speaker-test-5899  [001] ....  1652.801299: snd_soc_dapm_widget_power: widget=x Playback val=1
speaker-test-5899  [001] ....  1652.801300: snd_soc_dapm_path: *x Int Spk <- (direct) <- x Playback
speaker-test-5899  [001] ....  1652.801301: snd_soc_dapm_widget_power: widget=x Int Spk val=1
speaker-test-5899  [001] ....  1652.801350: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 15 power, 14 path, 62 neighbour
speaker-test-5899  [001] ....  1652.801352: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
speaker-test-5899  [001] ....  1652.801353: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
speaker-test-5899  [001] ....  1652.801353: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
speaker-test-5899  [001] ....  1652.801354: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:0-5751  [000] .n..  1652.801386: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:1-34    [002] ....  1652.801409: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:1-34    [002] ....  1652.801410: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:1-34    [002] ....  1652.801411: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:1-34    [002] ....  1652.801412: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:1-34    [002] ....  1652.801420: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:1-34    [002] ....  1652.801420: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:1-34    [002] ....  1652.801421: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:1-34    [002] ....  1652.801422: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:0-5751  [000] ....  1652.801450: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:3-5818  [001] ....  1652.801460: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:3-5818  [001] ....  1652.801461: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:3-5818  [001] ....  1652.801461: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:3-5818  [001] ....  1652.801462: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
speaker-test-5899  [002] ....  1652.801472: snd_soc_dapm_widget_event_start: widget=I2S4 DAP Transmit-x Playback val=1
speaker-test-5899  [000] ....  1652.802122: snd_soc_dapm_widget_event_done: widget=I2S4 DAP Transmit-x Playback val=1
speaker-test-5899  [000] ....  1652.802123: snd_soc_dapm_widget_event_start: widget=I2S4 Transmit-I2S4 CIF Receive val=1
speaker-test-5899  [000] ....  1652.802126: snd_soc_dapm_widget_event_done: widget=I2S4 Transmit-I2S4 CIF Receive val=1
speaker-test-5899  [000] ....  1652.802127: snd_soc_dapm_widget_event_start: widget=I2S4 DAP Transmit-x Playback val=2
speaker-test-5899  [000] ....  1652.802128: snd_soc_dapm_widget_event_done: widget=I2S4 DAP Transmit-x Playback val=2
speaker-test-5899  [000] ....  1652.802129: snd_soc_dapm_widget_event_start: widget=I2S4 Transmit-I2S4 CIF Receive val=2
speaker-test-5899  [000] ....  1652.802130: snd_soc_dapm_widget_event_done: widget=I2S4 Transmit-I2S4 CIF Receive val=2
speaker-test-5899  [000] ....  1652.802133: snd_soc_dapm_widget_event_start: widget=I2S4 DAP TX val=1
speaker-test-5899  [000] ....  1652.803176: snd_soc_dapm_widget_event_done: widget=I2S4 DAP TX val=1
kworker/u8:2-5545  [003] ....  1652.803244: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:3-5818  [001] ....  1652.803298: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:3-5818  [001] ....  1652.803299: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:3-5818  [001] ....  1652.803308: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:3-5818  [001] ....  1652.803308: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:0-5751  [000] ....  1652.803472: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:0-5751  [000] ....  1652.803474: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=3
kworker/u8:2-5545  [000] ....  1652.804615: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=3
speaker-test-5899  [001] ....  1652.804690: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x
speaker-test-5899  [001] ....  1673.076511: snd_soc_dapm_start: card=tegra-snd-t210ref-mobile-rt565x
speaker-test-5899  [001] ....  1673.076854: snd_soc_dapm_widget_power: widget=Playback 1 val=0
speaker-test-5899  [001] ....  1673.076874: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- Playback 1
speaker-test-5899  [001] ....  1673.076887: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- ADMAIF1 CIF Receive-ADMAIF1 Receive
speaker-test-5899  [001] ....  1673.076898: snd_soc_dapm_widget_power: widget=ADMAIF1 Receive val=0
speaker-test-5899  [001] ....  1673.076911: snd_soc_dapm_path: *ADMAIF1 RX <- (direct) <- ADMAIF1 Receive
speaker-test-5899  [001] ....  1673.076920: snd_soc_dapm_widget_power: widget=ADMAIF1 RX val=0
speaker-test-5899  [001] ....  1673.076954: snd_soc_dapm_path:  I2S4 Mux <- OPE2 <- OPE2 RX
speaker-test-5899  [001] ....  1673.076966: snd_soc_dapm_path:  I2S4 Mux <- ADX2-4 <- ADX2-4 RX
speaker-test-5899  [001] ....  1673.076977: snd_soc_dapm_path:  I2S4 Mux <- ADX2-3 <- ADX2-3 RX
speaker-test-5899  [001] ....  1673.076987: snd_soc_dapm_path:  I2S4 Mux <- ADX2-2 <- ADX2-2 RX
speaker-test-5899  [001] ....  1673.076998: snd_soc_dapm_path:  I2S4 Mux <- ADX2-1 <- ADX2-1 RX
speaker-test-5899  [001] ....  1673.077007: snd_soc_dapm_path:  I2S4 Mux <- AMX2 <- AMX2 RX
speaker-test-5899  [001] ....  1673.077017: snd_soc_dapm_path:  I2S4 Mux <- ADX1-4 <- ADX1-4 RX
speaker-test-5899  [001] ....  1673.077025: snd_soc_dapm_path:  I2S4 Mux <- ADX1-3 <- ADX1-3 RX
speaker-test-5899  [001] ....  1673.077033: snd_soc_dapm_path:  I2S4 Mux <- ADX1-2 <- ADX1-2 RX
speaker-test-5899  [001] ....  1673.077042: snd_soc_dapm_path:  I2S4 Mux <- ADX1-1 <- ADX1-1 RX
speaker-test-5899  [001] ....  1673.077050: snd_soc_dapm_path:  I2S4 Mux <- AMX1 <- AMX1 RX
speaker-test-5899  [001] ....  1673.077059: snd_soc_dapm_path:  I2S4 Mux <- DMIC3 <- DMIC3 RX
speaker-test-5899  [001] ....  1673.077069: snd_soc_dapm_path:  I2S4 Mux <- DMIC2 <- DMIC2 RX
speaker-test-5899  [001] ....  1673.077078: snd_soc_dapm_path:  I2S4 Mux <- DMIC1 <- DMIC1 RX
speaker-test-5899  [001] ....  1673.077086: snd_soc_dapm_path:  I2S4 Mux <- IQC2-2 <- IQC2-2 RX
speaker-test-5899  [001] ....  1673.077095: snd_soc_dapm_path:  I2S4 Mux <- IQC2-1 <- IQC2-1 RX
speaker-test-5899  [001] ....  1673.077104: snd_soc_dapm_path:  I2S4 Mux <- IQC1-2 <- IQC1-2 RX
speaker-test-5899  [001] ....  1673.077112: snd_soc_dapm_path:  I2S4 Mux <- IQC1-1 <- IQC1-1 RX
speaker-test-5899  [001] ....  1673.077122: snd_soc_dapm_path:  I2S4 Mux <- MVC2 <- MVC2 RX
speaker-test-5899  [001] ....  1673.077131: snd_soc_dapm_path:  I2S4 Mux <- MVC1 <- MVC1 RX
speaker-test-5899  [001] ....  1673.077139: snd_soc_dapm_path:  I2S4 Mux <- OPE1 <- OPE1 RX
speaker-test-5899  [001] ....  1673.077147: snd_soc_dapm_path:  I2S4 Mux <- AFC6 <- AFC6 RX
speaker-test-5899  [001] ....  1673.077156: snd_soc_dapm_path:  I2S4 Mux <- AFC5 <- AFC5 RX
speaker-test-5899  [001] ....  1673.077165: snd_soc_dapm_path:  I2S4 Mux <- AFC4 <- AFC4 RX
speaker-test-5899  [001] ....  1673.077173: snd_soc_dapm_path:  I2S4 Mux <- AFC3 <- AFC3 RX
speaker-test-5899  [001] ....  1673.077180: snd_soc_dapm_path:  I2S4 Mux <- AFC2 <- AFC2 RX
speaker-test-5899  [001] ....  1673.077188: snd_soc_dapm_path:  I2S4 Mux <- AFC1 <- AFC1 RX
speaker-test-5899  [001] ....  1673.077197: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-5 <- MIXER1-5 RX
speaker-test-5899  [001] ....  1673.077209: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-4 <- MIXER1-4 RX
speaker-test-5899  [001] ....  1673.077218: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-3 <- MIXER1-3 RX
speaker-test-5899  [001] ....  1673.077226: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-2 <- MIXER1-2 RX
speaker-test-5899  [001] ....  1673.077235: snd_soc_dapm_path:  I2S4 Mux <- MIXER1-1 <- MIXER1-1 RX
speaker-test-5899  [001] ....  1673.077243: snd_soc_dapm_path:  I2S4 Mux <- SFC4 <- SFC4 RX
speaker-test-5899  [001] ....  1673.077252: snd_soc_dapm_path:  I2S4 Mux <- SFC3 <- SFC3 RX
speaker-test-5899  [001] ....  1673.077261: snd_soc_dapm_path:  I2S4 Mux <- SFC2 <- SFC2 RX
speaker-test-5899  [001] ....  1673.077270: snd_soc_dapm_path:  I2S4 Mux <- SFC1 <- SFC1 RX
speaker-test-5899  [001] ....  1673.077277: snd_soc_dapm_path:  I2S4 Mux <- I2S5 <- I2S5 RX
speaker-test-5899  [001] ....  1673.077296: snd_soc_dapm_path:  I2S4 Mux <- I2S4 <- I2S4 RX
speaker-test-5899  [001] ....  1673.077307: snd_soc_dapm_path:  I2S4 Mux <- I2S3 <- I2S3 RX
speaker-test-5899  [001] ....  1673.077316: snd_soc_dapm_path:  I2S4 Mux <- I2S2 <- I2S2 RX
speaker-test-5899  [001] ....  1673.077325: snd_soc_dapm_path:  I2S4 Mux <- I2S1 <- I2S1 RX
speaker-test-5899  [001] ....  1673.077334: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF10 <- ADMAIF10 RX
speaker-test-5899  [001] ....  1673.077343: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF9 <- ADMAIF9 RX
speaker-test-5899  [001] ....  1673.077352: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF8 <- ADMAIF8 RX
speaker-test-5899  [001] ....  1673.077361: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF7 <- ADMAIF7 RX
speaker-test-5899  [001] ....  1673.077369: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF6 <- ADMAIF6 RX
speaker-test-5899  [001] ....  1673.077378: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF5 <- ADMAIF5 RX
speaker-test-5899  [001] ....  1673.077386: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF4 <- ADMAIF4 RX
speaker-test-5899  [001] ....  1673.077394: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF3 <- ADMAIF3 RX
speaker-test-5899  [001] ....  1673.077403: snd_soc_dapm_path:  I2S4 Mux <- ADMAIF2 <- ADMAIF2 RX
speaker-test-5899  [001] ....  1673.077411: snd_soc_dapm_path: *I2S4 Mux <- ADMAIF1 <- ADMAIF1 RX
speaker-test-5899  [001] ....  1673.077419: snd_soc_dapm_widget_power: widget=I2S4 Mux val=0
speaker-test-5899  [001] ....  1673.077442: snd_soc_dapm_path: *I2S4 TX <- (direct) <- I2S4 Mux
speaker-test-5899  [001] ....  1673.077451: snd_soc_dapm_widget_power: widget=I2S4 TX val=0
speaker-test-5899  [001] ....  1673.077462: snd_soc_dapm_path: *I2S4 Transmit <- (direct) <- I2S4 TX
speaker-test-5899  [001] ....  1673.077471: snd_soc_dapm_widget_power: widget=I2S4 Transmit val=0
speaker-test-5899  [001] ....  1673.077483: snd_soc_dapm_path: *I2S4 Transmit-I2S4 CIF Receive <- (direct) <- I2S4 Transmit
speaker-test-5899  [001] ....  1673.077492: snd_soc_dapm_widget_power: widget=I2S4 Transmit-I2S4 CIF Receive val=0
speaker-test-5899  [001] ....  1673.077504: snd_soc_dapm_path: *I2S4 CIF Receive <- (direct) <- I2S4 Transmit-I2S4 CIF Receive
speaker-test-5899  [001] .n..  1673.077514: snd_soc_dapm_widget_power: widget=I2S4 CIF Receive val=0
speaker-test-5899  [001] ....  1673.078055: snd_soc_dapm_path: *I2S4 CIF RX <- (direct) <- I2S4 CIF Receive
speaker-test-5899  [001] ....  1673.078059: snd_soc_dapm_widget_power: widget=I2S4 CIF RX val=0
speaker-test-5899  [001] ....  1673.078063: snd_soc_dapm_path: *I2S4 DAP TX <- (direct) <- I2S4 CIF RX
speaker-test-5899  [001] ....  1673.078066: snd_soc_dapm_widget_power: widget=I2S4 DAP TX val=0
speaker-test-5899  [001] ....  1673.078070: snd_soc_dapm_path: *I2S4 DAP Transmit <- (direct) <- I2S4 DAP TX
speaker-test-5899  [001] ....  1673.078073: snd_soc_dapm_widget_power: widget=I2S4 DAP Transmit val=0
speaker-test-5899  [001] ....  1673.078078: snd_soc_dapm_path: *I2S4 DAP Transmit-x Playback <- (direct) <- I2S4 DAP Transmit
speaker-test-5899  [001] ....  1673.078081: snd_soc_dapm_widget_power: widget=I2S4 DAP Transmit-x Playback val=0
speaker-test-5899  [001] ....  1673.078086: snd_soc_dapm_path: *x Playback <- (direct) <- I2S4 DAP Transmit-x Playback
speaker-test-5899  [001] ....  1673.078088: snd_soc_dapm_widget_power: widget=x Playback val=0
speaker-test-5899  [001] ....  1673.078093: snd_soc_dapm_path: *x Int Spk <- (direct) <- x Playback
speaker-test-5899  [001] ....  1673.078095: snd_soc_dapm_widget_power: widget=x Int Spk val=0
speaker-test-5899  [001] ....  1673.078272: snd_soc_dapm_walk_done: tegra-snd-t210ref-mobile-rt565x: checks 14 power, 14 path, 64 neighbour
speaker-test-5899  [001] ....  1673.078283: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
speaker-test-5899  [001] ....  1673.078286: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [002] ....  1673.078600: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078613: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078657: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078662: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078672: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078675: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078683: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=2
kworker/u8:2-5545  [002] ....  1673.078687: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=2
speaker-test-5899  [000] ....  1673.078864: snd_soc_dapm_widget_event_start: widget=I2S4 DAP Transmit-x Playback val=4
speaker-test-5899  [000] ....  1673.079504: snd_soc_dapm_widget_event_done: widget=I2S4 DAP Transmit-x Playback val=4
speaker-test-5899  [000] ....  1673.079513: snd_soc_dapm_widget_event_start: widget=I2S4 Transmit-I2S4 CIF Receive val=4
speaker-test-5899  [000] ....  1673.079527: snd_soc_dapm_widget_event_done: widget=I2S4 Transmit-I2S4 CIF Receive val=4
kworker/u8:0-5751  [003] ....  1673.079873: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080274: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080283: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080287: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:2-5545  [000] ....  1673.080290: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:2-5545  [000] ....  1673.080356: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080361: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080365: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:2-5545  [000] ....  1673.080369: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:2-5545  [000] ....  1673.080378: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080382: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
kworker/u8:2-5545  [000] ....  1673.080386: snd_soc_bias_level_start: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:2-5545  [000] ....  1673.080389: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=0
kworker/u8:0-5751  [000] ....  1673.082463: snd_soc_bias_level_done: card=tegra-snd-t210ref-mobile-rt565x val=1
speaker-test-5899  [003] ....  1673.082762: snd_soc_dapm_done: card=tegra-snd-t210ref-mobile-rt565x