tx2 asoc with TLV320AIC32x4

I want to add TLV320AIC32x4 driver on TX2 with 28.1, I refer to https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/1
But TLV320AIC32x4 can’t work yet. I can’t hear any sound.Who can advise me about the problem?

My major changes and kernel logs are as follows:
1.DTS:

i2c@c240000 {
		aic32x4: tlv320aic32x4.1-0018@18 {
			compatible = "ti,tlv320aic32x4";
			status = "okay";
			reg = <0x18>;
			clocks = <&tegra_car TEGRA186_CLK_AUD_MCLK>;
			clock-names = "mclk";
		};
            }

tegra_sound: sound {
		compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
		nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
		nvidia,num-codec-link = <1>;
                ......
                nvidia,audio-routing =			
			"z IN1_R",			"z IN",				
			"z IN1_L",			"z IN", 
			"z IN2_R",			"z IN",
			"z IN2_L",			"z IN",
			"z IN3_R",			"z IN",
			"z IN3_L",			"z IN",			
			"z OUT",			"z LOR",			
			"z OUT",			"z LOL",
			"z OUT",			"z HPL",
			"z OUT",			"z HPR";

               rt565x_dai_link: nvidia,dai-link-1 {
		            link-name = "ti-capture";
		            cpu-dai = <&tegra_i2s1>;
		            codec-dai = <&aic32x4>;
		            cpu-dai-name = "I2S1";
		            codec-dai-name = "tlv320aic32x4-hifi";
		            tx-mask = <0xFF>;
		            rx-mask = <0xFF>;            
		            format = "dsp_b";
		            bitclock-master;
		            frame-master;
		            bitclock-noninversion;
		            frame-noninversion;
		            bit-format = "s16_le";
		            bclk_ratio = <1>;
		            srate = <44100>;
		            num-channel = <2>;
		            ignore_suspend;
		            name-prefix = "z";
			    status="okay";
		        };		
}

2.tegra_t186ref_mobile_rt565x.c:

static int tegra_t186ref_dai_init(struct snd_soc_pcm_runtime *rtd,
					int rate,
					int channels,
					u64 formats,
					bool is_playback)
{


	idx = tegra_machine_get_codec_dai_link_idx_t18x("ti-capture");
	/* check if idx has valid number */
	if (idx != -EINVAL) {
		dai_params =
		(struct snd_soc_pcm_stream *)card->rtd[idx].dai_link->params;

		dai_params->rate_min = clk_rate;
		dai_params->formats = (machine->fmt_via_kcontrol == 2) ?
                                (1ULL << SNDRV_PCM_FORMAT_S32_LE) : formats;

		if (!machine->is_codec_dummy) {
			/*err = snd_soc_dai_set_sysclk(card->rtd[idx].codec_dai, RT5659_SCLK_S_MCLK, clk_out_rate, SND_SOC_CLOCK_IN);*/
			err = snd_soc_dai_set_sysclk(card->rtd[idx].codec_dai, 0, 12000000, SND_SOC_CLOCK_IN);
			if (err < 0) {
				dev_err(card->dev, "codec_dai clock not set clk_out_rate-%d\n", clk_out_rate);
				return err;
			}
		}
	}

}

amixer -c tegrasndt186ref cset name=‘z OUT Switch’ 1
amixer -c tegrasndt186ref sset ‘ADMAIF1 Mux’ ‘I2S1’
amixer -c tegrasndt186ref sset ‘I2S1 Mux’ ‘ADMAIF1’
aplay -D hw:tegrasndt186ref,0 -f S16_LE -r44100 -t raw /mnt/tmp/data/result.pcm

4.To facilitate debugging, I added some logs to the kernel

[code]root@tegra-ubuntu:/home/nvidia#
root@tegra-ubuntu:/home/nvidia#
root@tegra-ubuntu:/home/nvidia# dmesg
[ 4.576618] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF16 CIF at idx 15, num_codecs=1, cpu_dai=ADMAIF16(ADMAIF16), codec_dai=ADMAIF16(ADMAIF16),platform=tegra210-admaif
[ 4.576636] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF17 CIF at idx 16, num_codecs=1, cpu_dai=ADMAIF17(ADMAIF17), codec_dai=ADMAIF17(ADMAIF17),platform=tegra210-admaif
[ 4.576645] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF18 CIF at idx 17, num_codecs=1, cpu_dai=ADMAIF18(ADMAIF18), codec_dai=ADMAIF18(ADMAIF18),platform=tegra210-admaif
[ 4.576654] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF19 CIF at idx 18, num_codecs=1, cpu_dai=ADMAIF19(ADMAIF19), codec_dai=ADMAIF19(ADMAIF19),platform=tegra210-admaif
[ 4.576662] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF20 CIF at idx 19, num_codecs=1, cpu_dai=ADMAIF20(ADMAIF20), codec_dai=ADMAIF20(ADMAIF20),platform=tegra210-admaif
[ 4.576673] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF1 CODEC at idx 20, num_codecs=1, cpu_dai=ADMAIF1 CIF(ADMAIF1 CIF), codec_dai=ADMAIF1(ADMAIF1),platform=tegra210-admaif
[ 4.576692] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF2 CODEC at idx 21, num_codecs=1, cpu_dai=ADMAIF2 CIF(ADMAIF2 CIF), codec_dai=ADMAIF2(ADMAIF2),platform=tegra210-admaif
[ 4.576702] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF3 CODEC at idx 22, num_codecs=1, cpu_dai=ADMAIF3 CIF(ADMAIF3 CIF), codec_dai=ADMAIF3(ADMAIF3),platform=tegra210-admaif
[ 4.576711] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF4 CODEC at idx 23, num_codecs=1, cpu_dai=ADMAIF4 CIF(ADMAIF4 CIF), codec_dai=ADMAIF4(ADMAIF4),platform=tegra210-admaif
[ 4.576721] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF5 CODEC at idx 24, num_codecs=1, cpu_dai=ADMAIF5 CIF(ADMAIF5 CIF), codec_dai=ADMAIF5(ADMAIF5),platform=tegra210-admaif
[ 4.576731] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF6 CODEC at idx 25, num_codecs=1, cpu_dai=ADMAIF6 CIF(ADMAIF6 CIF), codec_dai=ADMAIF6(ADMAIF6),platform=tegra210-admaif
[ 4.576750] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF7 CODEC at idx 26, num_codecs=1, cpu_dai=ADMAIF7 CIF(ADMAIF7 CIF), codec_dai=ADMAIF7(ADMAIF7),platform=tegra210-admaif
[ 4.576760] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF8 CODEC at idx 27, num_codecs=1, cpu_dai=ADMAIF8 CIF(ADMAIF8 CIF), codec_dai=ADMAIF8(ADMAIF8),platform=tegra210-admaif
[ 4.576769] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF9 CODEC at idx 28, num_codecs=1, cpu_dai=ADMAIF9 CIF(ADMAIF9 CIF), codec_dai=ADMAIF9(ADMAIF9),platform=tegra210-admaif
[ 4.576779] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF10 CODEC at idx 29, num_codecs=1, cpu_dai=ADMAIF10 CIF(ADMAIF10 CIF), codec_dai=ADMAIF10(ADMAIF10),platform=tegra210-admaif
[ 4.576788] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF11 CODEC at idx 30, num_codecs=1, cpu_dai=ADMAIF11 CIF(ADMAIF11 CIF), codec_dai=ADMAIF11(ADMAIF11),platform=tegra210-admaif
[ 4.576806] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF12 CODEC at idx 31, num_codecs=1, cpu_dai=ADMAIF12 CIF(ADMAIF12 CIF), codec_dai=ADMAIF12(ADMAIF12),platform=tegra210-admaif
[ 4.576814] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF13 CODEC at idx 32, num_codecs=1, cpu_dai=ADMAIF13 CIF(ADMAIF13 CIF), codec_dai=ADMAIF13(ADMAIF13),platform=tegra210-admaif
[ 4.576821] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF14 CODEC at idx 33, num_codecs=1, cpu_dai=ADMAIF14 CIF(ADMAIF14 CIF), codec_dai=ADMAIF14(ADMAIF14),platform=tegra210-admaif
[ 4.576829] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF15 CODEC at idx 34, num_codecs=1, cpu_dai=ADMAIF15 CIF(ADMAIF15 CIF), codec_dai=ADMAIF15(ADMAIF15),platform=tegra210-admaif
[ 4.576837] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF16 CODEC at idx 35, num_codecs=1, cpu_dai=ADMAIF16 CIF(ADMAIF16 CIF), codec_dai=ADMAIF16(ADMAIF16),platform=tegra210-admaif
[ 4.576845] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF17 CODEC at idx 36, num_codecs=1, cpu_dai=ADMAIF17 CIF(ADMAIF17 CIF), codec_dai=ADMAIF17(ADMAIF17),platform=tegra210-admaif
[ 4.576862] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF18 CODEC at idx 37, num_codecs=1, cpu_dai=ADMAIF18 CIF(ADMAIF18 CIF), codec_dai=ADMAIF18(ADMAIF18),platform=tegra210-admaif
[ 4.576870] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF19 CODEC at idx 38, num_codecs=1, cpu_dai=ADMAIF19 CIF(ADMAIF19 CIF), codec_dai=ADMAIF19(ADMAIF19),platform=tegra210-admaif
[ 4.576878] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADMAIF20 CODEC at idx 39, num_codecs=1, cpu_dai=ADMAIF20 CIF(ADMAIF20 CIF), codec_dai=ADMAIF20(ADMAIF20),platform=tegra210-admaif
[ 4.576887] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX1 IN1 at idx 40, num_codecs=1, cpu_dai=AMX1-1(AMX1-1), codec_dai=IN1(IN1),platform=snd-soc-dummy
[ 4.576895] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX1 IN2 at idx 41, num_codecs=1, cpu_dai=AMX1-2(AMX1-2), codec_dai=IN2(IN2),platform=snd-soc-dummy
[ 4.576903] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX1 IN3 at idx 42, num_codecs=1, cpu_dai=AMX1-3(AMX1-3), codec_dai=IN3(IN3),platform=snd-soc-dummy
[ 4.576911] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX1 IN4 at idx 43, num_codecs=1, cpu_dai=AMX1-4(AMX1-4), codec_dai=IN4(IN4),platform=snd-soc-dummy
[ 4.576919] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX1 CIF at idx 44, num_codecs=1, cpu_dai=OUT(OUT), codec_dai=AMX1(AMX1),platform=snd-soc-dummy
[ 4.576928] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX2 IN1 at idx 45, num_codecs=1, cpu_dai=AMX2-1(AMX2-1), codec_dai=IN1(IN1),platform=snd-soc-dummy
[ 4.576936] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX2 IN2 at idx 46, num_codecs=1, cpu_dai=AMX2-2(AMX2-2), codec_dai=IN2(IN2),platform=snd-soc-dummy
[ 4.576943] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX2 IN3 at idx 47, num_codecs=1, cpu_dai=AMX2-3(AMX2-3), codec_dai=IN3(IN3),platform=snd-soc-dummy
[ 4.576951] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX2 IN4 at idx 48, num_codecs=1, cpu_dai=AMX2-4(AMX2-4), codec_dai=IN4(IN4),platform=snd-soc-dummy
[ 4.576959] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX2 CIF at idx 49, num_codecs=1, cpu_dai=OUT(OUT), codec_dai=AMX2(AMX2),platform=snd-soc-dummy
[ 4.576967] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX3 IN1 at idx 50, num_codecs=1, cpu_dai=AMX3-1(AMX3-1), codec_dai=IN1(IN1),platform=snd-soc-dummy
[ 4.576974] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX3 IN2 at idx 51, num_codecs=1, cpu_dai=AMX3-2(AMX3-2), codec_dai=IN2(IN2),platform=snd-soc-dummy
[ 4.576991] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX3 IN3 at idx 52, num_codecs=1, cpu_dai=AMX3-3(AMX3-3), codec_dai=IN3(IN3),platform=snd-soc-dummy
[ 4.576997] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX3 IN4 at idx 53, num_codecs=1, cpu_dai=AMX3-4(AMX3-4), codec_dai=IN4(IN4),platform=snd-soc-dummy
[ 4.577005] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX3 CIF at idx 54, num_codecs=1, cpu_dai=OUT(OUT), codec_dai=AMX3(AMX3),platform=snd-soc-dummy
[ 4.577013] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX4 IN1 at idx 55, num_codecs=1, cpu_dai=AMX4-1(AMX4-1), codec_dai=IN1(IN1),platform=snd-soc-dummy
[ 4.577020] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX4 IN2 at idx 56, num_codecs=1, cpu_dai=AMX4-2(AMX4-2), codec_dai=IN2(IN2),platform=snd-soc-dummy
[ 4.577027] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX4 IN3 at idx 57, num_codecs=1, cpu_dai=AMX4-3(AMX4-3), codec_dai=IN3(IN3),platform=snd-soc-dummy
[ 4.577033] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX4 IN4 at idx 58, num_codecs=1, cpu_dai=AMX4-4(AMX4-4), codec_dai=IN4(IN4),platform=snd-soc-dummy
[ 4.577041] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AMX4 CIF at idx 59, num_codecs=1, cpu_dai=OUT(OUT), codec_dai=AMX4(AMX4),platform=snd-soc-dummy
[ 4.577049] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX1 CIF at idx 60, num_codecs=1, cpu_dai=ADX1(ADX1), codec_dai=IN(IN),platform=snd-soc-dummy
[ 4.577057] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX1 OUT1 at idx 61, num_codecs=1, cpu_dai=OUT1(OUT1), codec_dai=ADX1-1(ADX1-1),platform=snd-soc-dummy
[ 4.577065] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX1 OUT2 at idx 62, num_codecs=1, cpu_dai=OUT2(OUT2), codec_dai=ADX1-2(ADX1-2),platform=snd-soc-dummy
[ 4.577073] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX1 OUT3 at idx 63, num_codecs=1, cpu_dai=OUT3(OUT3), codec_dai=ADX1-3(ADX1-3),platform=snd-soc-dummy
[ 4.577080] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX1 OUT4 at idx 64, num_codecs=1, cpu_dai=OUT4(OUT4), codec_dai=ADX1-4(ADX1-4),platform=snd-soc-dummy
[ 4.577088] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX2 CIF at idx 65, num_codecs=1, cpu_dai=ADX2(ADX2), codec_dai=IN(IN),platform=snd-soc-dummy
[ 4.577096] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX2 OUT1 at idx 66, num_codecs=1, cpu_dai=OUT1(OUT1), codec_dai=ADX2-1(ADX2-1),platform=snd-soc-dummy
[ 4.577120] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX2 OUT2 at idx 67, num_codecs=1, cpu_dai=OUT2(OUT2), codec_dai=ADX2-2(ADX2-2),platform=snd-soc-dummy
[ 4.577143] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX2 OUT3 at idx 68, num_codecs=1, cpu_dai=OUT3(OUT3), codec_dai=ADX2-3(ADX2-3),platform=snd-soc-dummy
[ 4.577150] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX2 OUT4 at idx 69, num_codecs=1, cpu_dai=OUT4(OUT4), codec_dai=ADX2-4(ADX2-4),platform=snd-soc-dummy
[ 4.577157] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX3 CIF at idx 70, num_codecs=1, cpu_dai=ADX3(ADX3), codec_dai=IN(IN),platform=snd-soc-dummy
[ 4.577164] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX3 OUT1 at idx 71, num_codecs=1, cpu_dai=OUT1(OUT1), codec_dai=ADX3-1(ADX3-1),platform=snd-soc-dummy
[ 4.577171] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX3 OUT2 at idx 72, num_codecs=1, cpu_dai=OUT2(OUT2), codec_dai=ADX3-2(ADX3-2),platform=snd-soc-dummy
[ 4.577177] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX3 OUT3 at idx 73, num_codecs=1, cpu_dai=OUT3(OUT3), codec_dai=ADX3-3(ADX3-3),platform=snd-soc-dummy
[ 4.577184] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX3 OUT4 at idx 74, num_codecs=1, cpu_dai=OUT4(OUT4), codec_dai=ADX3-4(ADX3-4),platform=snd-soc-dummy
[ 4.577190] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX4 CIF at idx 75, num_codecs=1, cpu_dai=ADX4(ADX4), codec_dai=IN(IN),platform=snd-soc-dummy
[ 4.577197] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX4 OUT1 at idx 76, num_codecs=1, cpu_dai=OUT1(OUT1), codec_dai=ADX4-1(ADX4-1),platform=snd-soc-dummy
[ 4.577203] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX4 OUT2 at idx 77, num_codecs=1, cpu_dai=OUT2(OUT2), codec_dai=ADX4-2(ADX4-2),platform=snd-soc-dummy
[ 4.577210] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX4 OUT3 at idx 78, num_codecs=1, cpu_dai=OUT3(OUT3), codec_dai=ADX4-3(ADX4-3),platform=snd-soc-dummy
[ 4.577216] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADX4 OUT4 at idx 79, num_codecs=1, cpu_dai=OUT4(OUT4), codec_dai=ADX4-4(ADX4-4),platform=snd-soc-dummy
[ 4.577227] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX1 at idx 80, num_codecs=1, cpu_dai=MIXER1-1(MIXER1-1), codec_dai=RX1(RX1),platform=snd-soc-dummy
[ 4.577257] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX2 at idx 81, num_codecs=1, cpu_dai=MIXER1-2(MIXER1-2), codec_dai=RX2(RX2),platform=snd-soc-dummy
[ 4.577266] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX3 at idx 82, num_codecs=1, cpu_dai=MIXER1-3(MIXER1-3), codec_dai=RX3(RX3),platform=snd-soc-dummy
[ 4.577273] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX4 at idx 83, num_codecs=1, cpu_dai=MIXER1-4(MIXER1-4), codec_dai=RX4(RX4),platform=snd-soc-dummy
[ 4.577282] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX5 at idx 84, num_codecs=1, cpu_dai=MIXER1-5(MIXER1-5), codec_dai=RX5(RX5),platform=snd-soc-dummy
[ 4.577290] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX6 at idx 85, num_codecs=1, cpu_dai=MIXER1-6(MIXER1-6), codec_dai=RX6(RX6),platform=snd-soc-dummy
[ 4.577298] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX7 at idx 86, num_codecs=1, cpu_dai=MIXER1-7(MIXER1-7), codec_dai=RX7(RX7),platform=snd-soc-dummy
[ 4.577306] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX8 at idx 87, num_codecs=1, cpu_dai=MIXER1-8(MIXER1-8), codec_dai=RX8(RX8),platform=snd-soc-dummy
[ 4.577314] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX9 at idx 88, num_codecs=1, cpu_dai=MIXER1-9(MIXER1-9), codec_dai=RX9(RX9),platform=snd-soc-dummy
[ 4.577335] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 RX10 at idx 89, num_codecs=1, cpu_dai=MIXER1-10(MIXER1-10), codec_dai=RX10(RX10),platform=snd-soc-dummy
[ 4.577343] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 TX1 at idx 90, num_codecs=1, cpu_dai=TX1(TX1), codec_dai=MIXER1-1(MIXER1-1),platform=snd-soc-dummy
[ 4.577351] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 TX2 at idx 91, num_codecs=1, cpu_dai=TX2(TX2), codec_dai=MIXER1-2(MIXER1-2),platform=snd-soc-dummy
[ 4.577359] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 TX3 at idx 92, num_codecs=1, cpu_dai=TX3(TX3), codec_dai=MIXER1-3(MIXER1-3),platform=snd-soc-dummy
[ 4.577367] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 TX4 at idx 93, num_codecs=1, cpu_dai=TX4(TX4), codec_dai=MIXER1-4(MIXER1-4),platform=snd-soc-dummy
[ 4.577375] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MIXER1 TX5 at idx 94, num_codecs=1, cpu_dai=TX5(TX5), codec_dai=MIXER1-5(MIXER1-5),platform=snd-soc-dummy
[ 4.577384] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC1 RX at idx 95, num_codecs=1, cpu_dai=SFC1(SFC1), codec_dai=CIF(CIF),platform=snd-soc-dummy
[ 4.577393] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC1 TX at idx 96, num_codecs=1, cpu_dai=DAP(DAP), codec_dai=SFC1(SFC1),platform=snd-soc-dummy
[ 4.577401] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC2 RX at idx 97, num_codecs=1, cpu_dai=SFC2(SFC2), codec_dai=CIF(CIF),platform=snd-soc-dummy
[ 4.577409] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC2 TX at idx 98, num_codecs=1, cpu_dai=DAP(DAP), codec_dai=SFC2(SFC2),platform=snd-soc-dummy
[ 4.577417] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC3 RX at idx 99, num_codecs=1, cpu_dai=SFC3(SFC3), codec_dai=CIF(CIF),platform=snd-soc-dummy
[ 4.577425] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC3 TX at idx 100, num_codecs=1, cpu_dai=DAP(DAP), codec_dai=SFC3(SFC3),platform=snd-soc-dummy
[ 4.577434] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC4 RX at idx 101, num_codecs=1, cpu_dai=SFC4(SFC4), codec_dai=CIF(CIF),platform=snd-soc-dummy
[ 4.577452] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding SFC4 TX at idx 102, num_codecs=1, cpu_dai=DAP(DAP), codec_dai=SFC4(SFC4),platform=snd-soc-dummy
[ 4.577460] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MVC1 RX at idx 103, num_codecs=1, cpu_dai=MVC1(MVC1), codec_dai=MVC IN(MVC IN),platform=snd-soc-dummy
[ 4.577467] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MVC1 TX at idx 104, num_codecs=1, cpu_dai=MVC OUT(MVC OUT), codec_dai=MVC1(MVC1),platform=snd-soc-dummy
[ 4.577474] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MVC2 RX at idx 105, num_codecs=1, cpu_dai=MVC2(MVC2), codec_dai=MVC IN(MVC IN),platform=snd-soc-dummy
[ 4.577481] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding MVC2 TX at idx 106, num_codecs=1, cpu_dai=MVC OUT(MVC OUT), codec_dai=MVC2(MVC2),platform=snd-soc-dummy
[ 4.577488] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding OPE1 RX at idx 107, num_codecs=1, cpu_dai=OPE1(OPE1), codec_dai=OPE IN(OPE IN),platform=snd-soc-dummy
[ 4.577495] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding OPE1 TX at idx 108, num_codecs=1, cpu_dai=OPE OUT(OPE OUT), codec_dai=OPE1(OPE1),platform=snd-soc-dummy
[ 4.577502] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC1 RX at idx 109, num_codecs=1, cpu_dai=AFC1(AFC1), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577509] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC1 TX at idx 110, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC1(AFC1),platform=snd-soc-dummy
[ 4.577528] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC2 RX at idx 111, num_codecs=1, cpu_dai=AFC2(AFC2), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577535] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC2 TX at idx 112, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC2(AFC2),platform=snd-soc-dummy
[ 4.577542] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC3 RX at idx 113, num_codecs=1, cpu_dai=AFC3(AFC3), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577549] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC3 TX at idx 114, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC3(AFC3),platform=snd-soc-dummy
[ 4.577556] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC4 RX at idx 115, num_codecs=1, cpu_dai=AFC4(AFC4), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577563] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC4 TX at idx 116, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC4(AFC4),platform=snd-soc-dummy
[ 4.577570] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC5 RX at idx 117, num_codecs=1, cpu_dai=AFC5(AFC5), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577577] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC5 TX at idx 118, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC5(AFC5),platform=snd-soc-dummy
[ 4.577584] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC6 RX at idx 119, num_codecs=1, cpu_dai=AFC6(AFC6), codec_dai=AFC IN(AFC IN),platform=snd-soc-dummy
[ 4.577590] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding AFC6 TX at idx 120, num_codecs=1, cpu_dai=AFC OUT(AFC OUT), codec_dai=AFC6(AFC6),platform=snd-soc-dummy
[ 4.577598] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX1 at idx 121, num_codecs=1, cpu_dai=ASRC1-1(ASRC1-1), codec_dai=RX1(RX1),platform=snd-soc-dummy
[ 4.577620] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX2 at idx 122, num_codecs=1, cpu_dai=ASRC1-2(ASRC1-2), codec_dai=RX2(RX2),platform=snd-soc-dummy
[ 4.577626] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX3 at idx 123, num_codecs=1, cpu_dai=ASRC1-3(ASRC1-3), codec_dai=RX3(RX3),platform=snd-soc-dummy
[ 4.577632] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX4 at idx 124, num_codecs=1, cpu_dai=ASRC1-4(ASRC1-4), codec_dai=RX4(RX4),platform=snd-soc-dummy
[ 4.577637] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX5 at idx 125, num_codecs=1, cpu_dai=ASRC1-5(ASRC1-5), codec_dai=RX5(RX5),platform=snd-soc-dummy
[ 4.577643] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX6 at idx 126, num_codecs=1, cpu_dai=ASRC1-6(ASRC1-6), codec_dai=RX6(RX6),platform=snd-soc-dummy
[ 4.577649] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 RX7 at idx 127, num_codecs=1, cpu_dai=ASRC1-7(ASRC1-7), codec_dai=RX7(RX7),platform=snd-soc-dummy
[ 4.577655] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX1 at idx 128, num_codecs=1, cpu_dai=TX1(TX1), codec_dai=ASRC1-1(ASRC1-1),platform=snd-soc-dummy
[ 4.577661] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX2 at idx 129, num_codecs=1, cpu_dai=TX2(TX2), codec_dai=ASRC1-2(ASRC1-2),platform=snd-soc-dummy
[ 4.577666] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX3 at idx 130, num_codecs=1, cpu_dai=TX3(TX3), codec_dai=ASRC1-3(ASRC1-3),platform=snd-soc-dummy
[ 4.577672] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX4 at idx 131, num_codecs=1, cpu_dai=TX4(TX4), codec_dai=ASRC1-4(ASRC1-4),platform=snd-soc-dummy
[ 4.577678] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX5 at idx 132, num_codecs=1, cpu_dai=TX5(TX5), codec_dai=ASRC1-5(ASRC1-5),platform=snd-soc-dummy
[ 4.577683] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ASRC1 TX6 at idx 133, num_codecs=1, cpu_dai=TX6(TX6), codec_dai=ASRC1-6(ASRC1-6),platform=snd-soc-dummy
[ 4.577694] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF1 at idx 134, num_codecs=1, cpu_dai=ADSP-ADMAIF1(ADSP-ADMAIF1), codec_dai=ADMAIF1 FIFO(ADMAIF1 FIFO),platform=snd-soc-dummy
[ 4.577701] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF2 at idx 135, num_codecs=1, cpu_dai=ADSP-ADMAIF2(ADSP-ADMAIF2), codec_dai=ADMAIF2 FIFO(ADMAIF2 FIFO),platform=snd-soc-dummy
[ 4.577709] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF3 at idx 136, num_codecs=1, cpu_dai=ADSP-ADMAIF3(ADSP-ADMAIF3), codec_dai=ADMAIF3 FIFO(ADMAIF3 FIFO),platform=snd-soc-dummy
[ 4.577716] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF4 at idx 137, num_codecs=1, cpu_dai=ADSP-ADMAIF4(ADSP-ADMAIF4), codec_dai=ADMAIF4 FIFO(ADMAIF4 FIFO),platform=snd-soc-dummy
[ 4.577723] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF5 at idx 138, num_codecs=1, cpu_dai=ADSP-ADMAIF5(ADSP-ADMAIF5), codec_dai=ADMAIF5 FIFO(ADMAIF5 FIFO),platform=snd-soc-dummy
[ 4.577731] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF6 at idx 139, num_codecs=1, cpu_dai=ADSP-ADMAIF6(ADSP-ADMAIF6), codec_dai=ADMAIF6 FIFO(ADMAIF6 FIFO),platform=snd-soc-dummy
[ 4.577738] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF7 at idx 140, num_codecs=1, cpu_dai=ADSP-ADMAIF7(ADSP-ADMAIF7), codec_dai=ADMAIF7 FIFO(ADMAIF7 FIFO),platform=snd-soc-dummy
[ 4.577745] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF8 at idx 141, num_codecs=1, cpu_dai=ADSP-ADMAIF8(ADSP-ADMAIF8), codec_dai=ADMAIF8 FIFO(ADMAIF8 FIFO),platform=snd-soc-dummy
[ 4.577752] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF9 at idx 142, num_codecs=1, cpu_dai=ADSP-ADMAIF9(ADSP-ADMAIF9), codec_dai=ADMAIF9 FIFO(ADMAIF9 FIFO),platform=snd-soc-dummy
[ 4.577760] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF10 at idx 143, num_codecs=1, cpu_dai=ADSP-ADMAIF10(ADSP-ADMAIF10), codec_dai=ADMAIF10 FIFO(ADMAIF10 FIFO),platform=snd-soc-dummy
[ 4.577767] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF11 at idx 144, num_codecs=1, cpu_dai=ADSP-ADMAIF11(ADSP-ADMAIF11), codec_dai=ADMAIF11 FIFO(ADMAIF11 FIFO),platform=snd-soc-dummy
[ 4.577774] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF12 at idx 145, num_codecs=1, cpu_dai=ADSP-ADMAIF12(ADSP-ADMAIF12), codec_dai=ADMAIF12 FIFO(ADMAIF12 FIFO),platform=snd-soc-dummy
[ 4.577781] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF13 at idx 146, num_codecs=1, cpu_dai=ADSP-ADMAIF13(ADSP-ADMAIF13), codec_dai=ADMAIF13 FIFO(ADMAIF13 FIFO),platform=snd-soc-dummy
[ 4.577788] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF14 at idx 147, num_codecs=1, cpu_dai=ADSP-ADMAIF14(ADSP-ADMAIF14), codec_dai=ADMAIF14 FIFO(ADMAIF14 FIFO),platform=snd-soc-dummy
[ 4.577796] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF15 at idx 148, num_codecs=1, cpu_dai=ADSP-ADMAIF15(ADSP-ADMAIF15), codec_dai=ADMAIF15 FIFO(ADMAIF15 FIFO),platform=snd-soc-dummy
[ 4.577802] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF16 at idx 149, num_codecs=1, cpu_dai=ADSP-ADMAIF16(ADSP-ADMAIF16), codec_dai=ADMAIF16 FIFO(ADMAIF16 FIFO),platform=snd-soc-dummy
[ 4.577810] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF17 at idx 150, num_codecs=1, cpu_dai=ADSP-ADMAIF17(ADSP-ADMAIF17), codec_dai=ADMAIF17 FIFO(ADMAIF17 FIFO),platform=snd-soc-dummy
[ 4.577817] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF18 at idx 151, num_codecs=1, cpu_dai=ADSP-ADMAIF18(ADSP-ADMAIF18), codec_dai=ADMAIF18 FIFO(ADMAIF18 FIFO),platform=snd-soc-dummy
[ 4.577824] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF19 at idx 152, num_codecs=1, cpu_dai=ADSP-ADMAIF19(ADSP-ADMAIF19), codec_dai=ADMAIF19 FIFO(ADMAIF19 FIFO),platform=snd-soc-dummy
[ 4.577830] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP ADMAIF20 at idx 153, num_codecs=1, cpu_dai=ADSP-ADMAIF20(ADSP-ADMAIF20), codec_dai=ADMAIF20 FIFO(ADMAIF20 FIFO),platform=snd-soc-dummy
[ 4.577841] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP PCM1 at idx 154, num_codecs=1, cpu_dai=ADSP PCM1(ADSP PCM1), codec_dai=ADSP-FE1(ADSP-FE1),platform=adsp_audio
[ 4.577848] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP PCM2 at idx 155, num_codecs=1, cpu_dai=ADSP PCM2(ADSP PCM2), codec_dai=ADSP-FE2(ADSP-FE2),platform=adsp_audio
[ 4.577870] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP COMPR1 at idx 156, num_codecs=1, cpu_dai=ADSP COMPR1(ADSP COMPR1), codec_dai=ADSP-FE3(ADSP-FE3),platform=adsp_audio
[ 4.577878] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ADSP COMPR2 at idx 157, num_codecs=1, cpu_dai=ADSP COMPR2(ADSP COMPR2), codec_dai=ADSP-FE4(ADSP-FE4),platform=adsp_audio
[ 4.577885] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding ti-capture at idx 158, num_codecs=1, cpu_dai=DAP(DAP), codec_dai=tlv320aic32x4-hifi(tlv320aic32x4-hifi),platform=snd-soc-dummy
[ 4.577894] tegra-snd-t186ref-mobile-rt565x sound: (soc_bind_dai_link:986): ASoC: binding I2S1 CIF at idx 159, num_codecs=1, cpu_dai=I2S1(I2S1), codec_dai=CIF(CIF),platform=snd-soc-dummy
[ 4.651798] !!! aic32x4_probe !!!

[ 4.652432] snd_soc_write: 1, 1)
[ 4.652883] snd_soc_write: 82, 0)
[ 4.653600] snd_soc_write: 8a, 0)
[ 4.653927] snd_soc_write: b6, 40)
[ 4.654240] snd_soc_write: b9, 40)
[ 4.655064] snd_soc_write: 51, c0)
[ 4.655378] snd_soc_write: 51, 0)
[ 8.667744] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=0, enter
[ 8.667746] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667748] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=1, enter
[ 8.667750] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667752] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=2, enter
[ 8.667753] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667755] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=3, enter
[ 8.667757] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667759] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=4, enter
[ 8.667760] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667762] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=5, enter
[ 8.667763] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667765] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=6, enter
[ 8.667767] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667768] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=7, enter
[ 8.667770] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667772] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=8, enter
[ 8.667773] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667775] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=9, enter
[ 8.667776] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667778] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=10, enter
[ 8.667780] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667782] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=11, enter
[ 8.667783] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667785] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=12, enter
[ 8.667786] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667788] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=13, enter
[ 8.667790] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667791] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=14, enter
[ 8.667793] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667795] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=15, enter
[ 8.667796] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667798] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=16, enter
[ 8.667799] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667802] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=17, enter
[ 8.667803] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667805] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=18, enter
[ 8.667806] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667808] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:657): id=19, enter
[ 8.667809] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_dai_probe:661): leave
[ 8.667891] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #0 ADMAIF1 CIF ADMAIF1-0
[ 8.667930] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[ 8.667974] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #1 ADMAIF2 CIF ADMAIF2-1
[ 8.667999] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[ 8.668042] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #2 ADMAIF3 CIF ADMAIF3-2
[ 8.668066] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[ 8.668108] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #3 ADMAIF4 CIF ADMAIF4-3
[ 8.668136] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[ 8.668177] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #4 ADMAIF5 CIF ADMAIF5-4
[ 8.668203] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[ 8.668250] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #5 ADMAIF6 CIF ADMAIF6-5
[ 8.668275] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[ 8.668319] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #6 ADMAIF7 CIF ADMAIF7-6
[ 8.668344] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[ 8.668386] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #7 ADMAIF8 CIF ADMAIF8-7
[ 8.668411] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[ 8.668452] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #8 ADMAIF9 CIF ADMAIF9-8
[ 8.668477] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[ 8.668521] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #9 ADMAIF10 CIF ADMAIF10-9
[ 8.668546] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[ 8.668590] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #10 ADMAIF11 CIF ADMAIF11-10
[ 8.668616] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[ 8.668658] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #11 ADMAIF12 CIF ADMAIF12-11
[ 8.668682] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[ 8.668726] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #12 ADMAIF13 CIF ADMAIF13-12
[ 8.668750] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[ 8.668793] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #13 ADMAIF14 CIF ADMAIF14-13
[ 8.668816] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[ 8.668862] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #14 ADMAIF15 CIF ADMAIF15-14
[ 8.668887] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[ 8.668932] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #15 ADMAIF16 CIF ADMAIF16-15
[ 8.668957] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[ 8.669001] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #16 ADMAIF17 CIF ADMAIF17-16
[ 8.669028] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[ 8.669069] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #17 ADMAIF18 CIF ADMAIF18-17
[ 8.669095] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[ 8.669137] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #18 ADMAIF19 CIF ADMAIF19-18
[ 8.669161] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[ 8.669204] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #19 ADMAIF20 CIF ADMAIF20-19
[ 8.669230] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[ 8.672192] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #154 ADSP PCM1 ADSP-FE1-154
[ 8.672225] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[ 8.672276] tegra-snd-t186ref-mobile-rt565x sound: ASoC: registered pcm #155 ADSP PCM2 ADSP-FE2-155
[ 8.672303] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[ 8.672326] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[ 8.672350] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[ 8.672352] tegra-snd-t186ref-mobile-rt565x sound: (tegra_t186ref_init:551): ASOC_DEBUG enter
[ 8.672362] tegra-snd-t186ref-mobile-rt565x sound: (tegra_t186ref_init:602): ASOC_DEBUG leave
[ 8.672364] !!! aic32x4_set_dai_fmt !!!

[ 8.697792] ------------[ cut here ]------------
[ 8.697796] WARNING: at ffffffc00082e164 [verbose debug info unavailable]
[ 8.697798] Modules linked in:

[ 8.697803] CPU: 4 PID: 115 Comm: kworker/u12:2 Not tainted 4.4.38+ #131
[ 8.697804] Hardware name: quill (DT)
[ 8.697812] Workqueue: events_unbound async_run_entry_fn
[ 8.697814] task: ffffffc1ea9e0c80 ti: ffffffc1ea9fc000 task.ti: ffffffc1ea9fc000
[ 8.697818] PC is at clk_core_disable+0xd0/0x1d8
[ 8.697820] LR is at clk_disable+0x2c/0x40
[ 8.697821] pc : [] lr : [] pstate: 800000c5
[ 8.697822] sp : ffffffc1ea9ffc40
[ 8.697824] x29: ffffffc1ea9ffc40 x28: ffffffc1ecc15018
[ 8.697826] x27: ffffffc1ecc152e0 x26: ffffffc0012cf378
[ 8.697828] x25: 0000000000000000 x24: 0000000000000000
[ 8.697830] x23: ffffffc1ecdf6200 x22: ffffffc1e5d1f118
[ 8.697832] x21: 0000000000000001 x20: 0000000000000040
[ 8.697833] x19: ffffffc1e5d1ee00 x18: ffffffc000b44f20
[ 8.697835] x17: ffffffc000ad6940 x16: ffffffc000ad6940
[ 8.697836] x15: ffffffc000ad6940 x14: 0000000000000001
[ 8.697838] x13: 00002cc76aac7023 x12: 0000000000004277
[ 8.697840] x11: 000000000005f6b1 x10: 000000000005f6b1
[ 8.697841] x9 : 0000000000000000 x8 : ffffffc1f5d85570
[ 8.697843] x7 : ffffffc1ebfd6060 x6 : ffffffc1ea9ffa80
[ 8.697844] x5 : 0000000000000000 x4 : ffffffc1ea9e0c80
[ 8.697846] x3 : 0000000000000000 x2 : 0000000006f006ef
[ 8.697847] x1 : ffffffc1ea9ffc50 x0 : 0000000000000000

[ 8.697855] —[ end trace c81c810f2cde8273 ]—
[ 8.697856] Call trace:
[ 8.697859] [] clk_core_disable+0xd0/0x1d8
[ 8.697861] [] clk_disable+0x2c/0x40
[ 8.697865] [] aic32x4_set_bias_level+0x100/0x1b8
[ 8.697868] [] snd_soc_codec_set_bias_level+0x18/0x20
[ 8.697871] [] snd_soc_dapm_set_bias_level+0xa4/0x1e4
[ 8.697874] [] dapm_pre_sequence_async+0x3c/0xcc
[ 8.697875] [] async_run_entry_fn+0x44/0x110
[ 8.697879] [] process_one_work+0x154/0x434
[ 8.697880] [] worker_thread+0x134/0x40c
[ 8.697883] [] kthread+0xe0/0xf4
[ 8.697885] [] ret_from_fork+0x10/0x40
[ 8.697895] ------------[ cut here ]------------
[ 8.697896] WARNING: at ffffffc00082d5f0 [verbose debug info unavailable]
[ 8.697897] Modules linked in:

[ 8.697900] CPU: 4 PID: 115 Comm: kworker/u12:2 Tainted: G W 4.4.38+ #131
[ 8.697901] Hardware name: quill (DT)
[ 8.697903] Workqueue: events_unbound async_run_entry_fn
[ 8.697905] task: ffffffc1ea9e0c80 ti: ffffffc1ea9fc000 task.ti: ffffffc1ea9fc000
[ 8.697907] PC is at clk_core_unprepare+0x8c/0x19c
[ 8.697908] LR is at clk_unprepare+0x28/0x34
[ 8.697910] pc : [] lr : [] pstate: 60000045
[ 8.697910] sp : ffffffc1ea9ffc40
[ 8.697912] x29: ffffffc1ea9ffc40 x28: ffffffc1ecc15018
[ 8.697914] x27: ffffffc1ecc152e0 x26: ffffffc0012cf378
[ 8.697916] x25: 0000000000000000 x24: 0000000000000000
[ 8.697918] x23: ffffffc1ecdf6200 x22: ffffffc1e5d1f118
[ 8.697920] x21: 0000000000000001 x20: 0000000000000000
[ 8.697921] x19: ffffffc1e5d1ee00 x18: ffffffc000b44f20
[ 8.697923] x17: ffffffc000ad6940 x16: ffffffc000ad6940
[ 8.697925] x15: ffffffc000ad6940 x14: 0000000000000001
[ 8.697926] x13: 00002cc76aac7023 x12: 0000000000004277
[ 8.697928] x11: 000000000005f6b1 x10: 000000000005f6b1
[ 8.697929] x9 : 0000000000000000 x8 : ffffffc1f5d85570
[ 8.697931] x7 : ffffffc1ebfd6060 x6 : ffffffc1ea9ffa80
[ 8.697932] x5 : 0000000000000000 x4 : 0000000000000000
[ 8.697934] x3 : ffffffc1ea9ffc50 x2 : ffffffc1ea9e0c80
[ 8.697936] x1 : ffffffc1ea9ffc50 x0 : 0000000000000000

[ 8.697937] —[ end trace c81c810f2cde8274 ]—
[ 8.697937] Call trace:
[ 8.697939] [] clk_core_unprepare+0x8c/0x19c
[ 8.697941] [] clk_unprepare+0x28/0x34
[ 8.697943] [] aic32x4_set_bias_level+0x108/0x1b8
[ 8.697945] [] snd_soc_codec_set_bias_level+0x18/0x20
[ 8.697947] [] snd_soc_dapm_set_bias_level+0xa4/0x1e4
[ 8.697948] [] dapm_pre_sequence_async+0x3c/0xcc
[ 8.697950] [] async_run_entry_fn+0x44/0x110
[ 8.697952] [] process_one_work+0x154/0x434
[ 8.697953] [] worker_thread+0x134/0x40c
[ 8.697955] [] kthread+0xe0/0xf4
[ 8.697957] [] ret_from_fork+0x10/0x40
[ 8.701690] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input2
[ 8.702042] tegra-snd-t186ref-mobile-rt565x sound: codec-dai “tlv320aic32x4-hifi” registered
[ 8.702632] GACT probability NOT on
[ 8.702640] Mirror/redirect action on
[ 8.702650] u32 classifier
[ 8.702651] Actions configured
[ 8.702661] nf_conntrack version 0.5.0 (65536 buckets, 262144 max)
[ 8.703062] ipip: IPv4 over IPv4 tunneling driver
[ 8.703307] Initializing XFRM netlink socket
[ 8.703567] NET: Registered protocol family 10
[ 8.704036] ip6_tables: © 2000-2006 Netfilter Core Team
[ 8.704069] NET: Registered protocol family 17
[ 8.704078] NET: Registered protocol family 15
[ 8.704093] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[ 8.704098] 8021q: 802.1Q VLAN Support v1.8
[ 8.704256] Registered cp15_barrier emulation handler
[ 8.704268] Registered setend emulation handler
[ 8.705151] registered taskstats version 1
[ 8.707927] isp 15600000.isp: initialized
[ 8.711142] nvcsi 150c0000.nvcsi: initialized
[ 8.711153] nvcsi 150c0000.nvcsi: (tegra_csi_get_port_info:577) camera_debug: node->name=nvcsi(/host1x/nvcsi@150c0000),chan_dt->name=channel(/host1x/nvcsi@150c0000/channel@0),port->name=port(/host1x/nvcsi@150c0000/channel@0/ports/port@0),ep->name=endpoint(/host1x/nvcsi@150c0000/channel@0/ports/port@0/endpoint@0),chan->port[0]=0, numlanes=4
[ 8.711163] nvcsi 150c0000.nvcsi: (tegra_csi_get_port_info:577) camera_debug: node->name=nvcsi(/host1x/nvcsi@150c0000),chan_dt->name=channel(/host1x/nvcsi@150c0000/channel@1),port->name=port(/host1x/nvcsi@150c0000/channel@1/ports/port@0),ep->name=endpoint(/host1x/nvcsi@150c0000/channel@1/ports/port@0/endpoint@2),chan->port[0]=2, numlanes=4
[ 8.711170] nvcsi 150c0000.nvcsi: tegra_csi_channel_init_one(702) camera_debug: sd->name=150c0000.nvcsi-0,i=0,lanes=4,num=0
[ 8.711174] nvcsi 150c0000.nvcsi: tegra_csi_channel_init_one(702) camera_debug: sd->name=150c0000.nvcsi-2,i=0,lanes=4,num=2
[ 8.711972] Wake76 for irq=199
[ 8.711974] Wake77 for irq=199
[ 8.711975] Wake78 for irq=199
[ 8.711975] Wake79 for irq=199
[ 8.711976] Wake80 for irq=199
[ 8.711977] Wake81 for irq=199
[ 8.711977] Wake82 for irq=199
[ 8.712271] xhci-tegra 3530000.xhci: UTMI port 0 has OTG_CAP
[ 8.712273] xhci-tegra 3530000.xhci: No USB3 port has OTG_CAP
[ 8.734540] spi-tegra114 3210000.spi: Static pin configuration used
[ 8.734679] xhci-tegra 3530000.xhci: Direct firmware load for tegra18x_xusb_firmware failed with error -2
[ 8.734681] xhci-tegra 3530000.xhci: Falling back to user helper
[ 8.735243] spi-tegra114 c260000.spi: Static pin configuration used
[ 8.735882] spi-tegra114 3240000.spi: Static pin configuration used
[ 8.736521] tegra-xotg xotg: OTG rev:0200, ADP:0, SRP:1, HNP:1, RSP:0
[ 8.736552] tegra-xotg xotg: update_id_state: ID floating
[ 8.736557] tegra-xotg xotg: update_vbus_state: VBUS detected
[ 8.736569] tegra-xotg xotg: Nvidia XUSB OTG Controller
[ 8.738208] tegra-xotg xotg: otg: gadget gadget registered
[ 8.738210] tegra-xotg xotg: set gadget otg_caps from OTG controller
[ 8.738212] tegra-xotg xotg: otg: host not registered yet
[ 8.738214] tegra-xotg xotg: otg: start OTG finite state machine
[ 8.738253] tegra-xudc-new 3550000.xudc: entering ELPG
[ 8.738773] tegra-xudc-new 3550000.xudc: entering ELPG done
[ 8.739134] gpio tegra-gpio-aon wake29 for gpio=56(FF:0)
[ 8.739185] gpio tegra-gpio-aon wake67 for gpio=57(FF:1)
[ 8.739233] gpio tegra-gpio-aon wake68 for gpio=58(FF:2)
[ 8.739320] input: gpio-keys as /devices/gpio-keys/input/input3
[ 8.772560] tegra_rtc c2a0000.rtc: setting system clock to 2018-06-01 04:09:53 UTC (1527826193)
[ 8.802091] bpmp: mounted debugfs mirror
[ 8.802578] [dram-timers] DRAM derating cdev registered.
[ 8.806169] spmic-ldo0: disabling
[ 8.806357] spmic-ldo1: disabling
[ 8.806505] en-vdd-sd: disabling
[ 8.806507] en-vdd-cam: disabling
[ 8.806509] vdd-usb0-5v: disabling
[ 8.806511] vdd-usb1-5v: disabling
[ 8.806513] en-vdd-disp-3v3: disabling
[ 8.806515] en-mdm-pwr-3v7: disabling
[ 8.806516] en-vdd-disp-1v8: disabling
[ 8.806517] en-vdd-cam-hv-2v8: disabling
[ 8.806519] en-vdd-cam-1v2: disabling
[ 8.806520] vdd-fan: disabling
[ 8.806522] vdd-3v3: disabling
[ 8.806523] en-vdd-vcm-2v8: disabling
[ 8.806525] vdd-usb2-5v: disabling
[ 8.806527] vdd-sys-bl: disabling
[ 8.806528] en-vdd-sys: disabling
[ 8.812570] ALSA device list:
[ 8.812573] #0: tegra-hda at 0x3518000 irq 400
[ 8.812574] #1: tegra-snd-t186ref-mobile-rt565x
[ 8.813905] tegra-vi4 15700000.vi: initialized
[ 8.815035] (null): tegra_vi_get_port_info(355) camera_debug: ports->name=ports, ports->full_name=/host1x/vi@15700000/ports, index=0
[ 8.815041] (null): tegra_vi_get_port_info(393) camera_debug: index=0, csi-port[0]=0, numlanes=4, ret=0
[ 8.815047] tegra-vi4 15700000.vi: tegra_channel_csi_init(1470): valid_ports=1
[ 8.815054] (null): tegra_channel_init(1569) camera_debug: name=15700000.vi-output-0
[ 8.815057] (null): tegra_vi_get_port_info(355) camera_debug: ports->name=ports, ports->full_name=/host1x/vi@15700000/ports, index=1
[ 8.815060] (null): tegra_vi_get_port_info(393) camera_debug: index=1, csi-port[0]=2, numlanes=4, ret=0
[ 8.815064] tegra-vi4 15700000.vi: tegra_channel_csi_init(1470): valid_ports=1
[ 8.815066] (null): tegra_channel_init(1569) camera_debug: name=15700000.vi-output-2
[ 8.815300] ov5693 30-0036: camera_common_enum_mbus_code:405 camera_debug: index=0, num_color_fmts=6
[ 8.815303] ov5693 30-0036: camera_common_enum_mbus_code:417 camera_debug: index=0, code=8207
[ 8.815305] ov5693 30-0036: camera_common_enum_mbus_code:405 camera_debug: index=1, num_color_fmts=6
[ 8.815307] ov5693 30-0036: camera_common_enum_mbus_code:417 camera_debug: index=1, code=12303
[ 8.815309] ov5693 30-0036: camera_common_enum_mbus_code:405 camera_debug: index=2, num_color_fmts=6
[ 8.815311] ov5693 30-0036: camera_common_enum_mbus_code:417 camera_debug: index=2, code=12295
[ 8.815313] ov5693 30-0036: camera_common_enum_mbus_code:405 camera_debug: index=3, num_color_fmts=6
[ 8.815315] ov5693 30-0036: camera_common_enum_mbus_code:417 camera_debug: index=3, code=12308
[ 8.815317] ov5693 30-0036: camera_common_enum_mbus_code:405 camera_debug: index=4, num_color_fmts=6
[ 8.815319] […/drivers/media/i2c/ov5693.c ov5693_get_fmt (677)]
[ 8.815321] ov5693 30-0036: camera_common_g_fmt:586: width=3840,height=2160,code=8207,colorspace=8
[ 8.815324] (null): tegra_channel_fmts_bitmap_init(289) camera_debug: The first format width=3840,height=2160,pixelformat=1498831189,colorspace=8
[ 8.815333] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100836, begin
[ 8.815335] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100836, end.
[ 8.815336] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100837, begin
[ 8.815337] (null): disable override control
[ 8.815338] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100837, end.
[ 8.815340] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100838, begin
[ 8.815341] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100838, end.
[ 8.815342] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100839, begin
[ 8.815343] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100839, end.
[ 8.815344] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100840, begin
[ 8.815345] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100840, end.
[ 8.815367] ov5693 31-0036: camera_common_enum_mbus_code:405 camera_debug: index=0, num_color_fmts=6
[ 8.815369] ov5693 31-0036: camera_common_enum_mbus_code:417 camera_debug: index=0, code=8207
[ 8.815371] ov5693 31-0036: camera_common_enum_mbus_code:405 camera_debug: index=1, num_color_fmts=6
[ 8.815373] ov5693 31-0036: camera_common_enum_mbus_code:417 camera_debug: index=1, code=12303
[ 8.815375] ov5693 31-0036: camera_common_enum_mbus_code:405 camera_debug: index=2, num_color_fmts=6
[ 8.815377] ov5693 31-0036: camera_common_enum_mbus_code:417 camera_debug: index=2, code=12295
[ 8.815378] ov5693 31-0036: camera_common_enum_mbus_code:405 camera_debug: index=3, num_color_fmts=6
[ 8.815380] ov5693 31-0036: camera_common_enum_mbus_code:417 camera_debug: index=3, code=12308
[ 8.815382] ov5693 31-0036: camera_common_enum_mbus_code:405 camera_debug: index=4, num_color_fmts=6
[ 8.815383] […/drivers/media/i2c/ov5693.c ov5693_get_fmt (677)]
[ 8.815385] ov5693 31-0036: camera_common_g_fmt:586: width=3840,height=2160,code=8207,colorspace=8
[ 8.815387] (null): tegra_channel_fmts_bitmap_init(289) camera_debug: The first format width=3840,height=2160,pixelformat=1498831189,colorspace=8
[ 8.815393] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100836, begin
[ 8.815394] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100836, end.
[ 8.815395] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100837, begin
[ 8.815396] (null): disable override control
[ 8.815397] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100837, end.
[ 8.815398] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100838, begin
[ 8.815400] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100838, end.
[ 8.815401] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100839, begin
[ 8.815402] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100839, end.
[ 8.815403] (null): [tegra_channel_s_ctrl:881] camera_debug: ctrl->id=10100840, begin
[ 8.815404] (null): [tegra_channel_s_ctrl:943] camera_debug: ctrl->id=10100840, end.
[ 8.815469] video4linux v4l-subdev0: __video_register_device(913) camera_debug: videoName=v4l-subdev0
[ 8.815522] video4linux v4l-subdev1: __video_register_device(913) camera_debug: videoName=v4l-subdev1
[ 8.815567] video4linux v4l-subdev2: __video_register_device(913) camera_debug: videoName=v4l-subdev2
[ 8.815613] video4linux v4l-subdev3: __video_register_device(913) camera_debug: videoName=v4l-subdev3
[ 8.815616] (null): (tegra_vi_channels_register:1616)before 111 video_register_device()
[ 8.815617] (null): (tegra_vi_channels_register:1630)before 222 video_register_device()
[ 8.815619] (null): (tegra_vi_channels_register:1634)before 333 video_register_device()
[ 8.815666] video4linux video0: __video_register_device(913) camera_debug: videoName=video0
[ 8.815667] (null): (tegra_vi_channels_register:1616)before 111 video_register_device()
[ 8.815669] (null): (tegra_vi_channels_register:1630)before 222 video_register_device()
[ 8.815670] (null): (tegra_vi_channels_register:1634)before 333 video_register_device()
[ 8.815716] video4linux video1: __video_register_device(913) camera_debug: videoName=video1
[ 8.815718] tegra-vi4 15700000.vi: tegra_vi_media_controller_init(334) camera_debug: num_channels=2
[ 8.822339] tegra-usb-cd usb_cd: notification status (0x0, 0x1)
[ 8.822343] tegra-usb-cd usb_cd: set current 0ma
[ 8.822351] tegra-xudc-new 3550000.xudc: exiting ELPG
[ 8.823354] tegra-xudc-new 3550000.xudc: exiting ELPG done
[ 8.823358] tegra-xudc-new 3550000.xudc: device mode on
[ 12.106296] random: nonblocking pool is initialized
[ 18.300407] tegradc 15210000.nvdisplay: hdmi: plugged
[ 18.301728] EXT4-fs (mmcblk0p1): couldn’t mount as ext3 due to feature incompatibilities
[ 18.301912] EXT4-fs (mmcblk0p1): couldn’t mount as ext2 due to feature incompatibilities
[ 18.305333] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 18.305344] VFS: Mounted root (ext4 filesystem) on device 179:1.
[ 18.306639] devtmpfs: mounted
[ 18.306913] Freeing unused kernel memory: 1156K (ffffffc00100a000 - ffffffc00112b000)
[ 18.306935] Freeing alternatives memory: 92K (ffffffc00112b000 - ffffffc001142000)
[ 18.380436] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN)
[ 18.400836] systemd[1]: Detected architecture arm64.
[ 18.416553] systemd[1]: Set hostname to .
[ 18.526707] systemd[1]: Reached target Swap.
[ 18.535019] systemd[1]: Listening on Syslog Socket.
[ 18.543695] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 18.555064] systemd[1]: Reached target User and Group Name Lookups.
[ 18.565274] systemd[1]: Listening on Journal Socket (/dev/log).
[ 18.575259] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[ 18.587076] systemd[1]: Listening on udev Kernel Socket.
[ 18.595966] systemd[1]: Listening on Journal Socket.
[ 18.604218] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[ 18.613816] systemd[1]: Listening on udev Control Socket.
[ 18.622378] systemd[1]: Created slice User and Session Slice.
[ 18.631041] systemd[1]: Reached target Encrypted Volumes.
[ 18.639341] systemd[1]: Reached target Remote File Systems (Pre).
[ 18.648306] systemd[1]: Reached target Remote File Systems.
[ 18.656845] systemd[1]: Listening on LVM2 poll daemon socket.
[ 18.669615] systemd[1]: Created slice System Slice.
[ 18.677683] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 18.688198] systemd[1]: Starting Remount Root and Kernel File Systems…
[ 18.701937] systemd[1]: Starting Load Kernel Modules…
[ 18.710982] systemd[1]: Created slice system-getty.slice.
[ 18.719999] systemd[1]: Reached target Slices.
[ 18.729075] systemd[1]: Mounting Debug File System…
[ 18.738828] systemd[1]: Started Braille Device Support.
[ 18.749826] systemd[1]: Starting Create Static Device Nodes in /dev…
[ 18.761161] systemd[1]: Listening on Journal Audit Socket.
[ 18.771498] systemd[1]: Starting Journal Service…
[ 18.780176] systemd[1]: Listening on LVM2 metadata daemon socket.
[ 18.790798] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling…
[ 18.807159] systemd[1]: Mounted Debug File System.
[ 18.816002] systemd[1]: Started Remount Root and Kernel File Systems.
[ 18.830434] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
[ 18.842014] systemd[1]: Failed to start Load Kernel Modules.
[ 18.853099] systemd[1]: systemd-modules-load.service: Unit entered failed state.
[ 18.862367] systemd[1]: systemd-modules-load.service: Failed with result ‘exit-code’.
[ 18.873653] systemd[1]: Started Create Static Device Nodes in /dev.
[ 18.884130] systemd[1]: Started Journal Service.
[ 18.959241] systemd-journald[272]: Received request to flush runtime journal from PID 1
[ 19.151017] video4linux v4l-subdev1: v4l2_open(420) camera_debug: v4l-subdev1
[ 19.161630] video4linux v4l-subdev2: v4l2_open(420) camera_debug: v4l-subdev2
[ 19.171513] […/drivers/media/i2c/ov5693.c ov5693_open (1493)]
[ 19.171546] video4linux v4l-subdev0: v4l2_open(420) camera_debug: v4l-subdev0
[ 19.171565] video4linux v4l-subdev3: v4l2_open(420) camera_debug: v4l-subdev3
[ 19.171569] […/drivers/media/i2c/ov5693.c ov5693_open (1493)]
[ 19.171718] video4linux video0: v4l2_open(420) camera_debug: video0
[ 19.171722] video4linux video0: tegra_channel_open(1363) camera_debug:
[ 19.175525] video4linux video0: tegra_channel_set_power(600) camera_debug: on=1
[ 19.175666] video4linux video1: v4l2_open(420) camera_debug: video1
[ 19.175671] video4linux video1: tegra_channel_open(1363) camera_debug:
[ 19.175678] video4linux video1: tegra_channel_set_power(600) camera_debug: on=1
[ 19.175683] nvcsi 150c0000.nvcsi: tegra_csi_power(78) camera_debug: enable=1
[ 19.176216] nvcsi 150c0000.nvcsi: tegra_csi_power(78) camera_debug: enable=1
[ 19.178933] nvcsi 150c0000.nvcsi: tegra_csi_power(99) camera_debug: enable=1, err=0
[ 19.178938] ov5693 31-0036: camera_common_s_power:757 camera_debug: on=1
[ 19.178940] ov5693 31-0036: camera_common_mclk_enable: enable MCLK with 24000000 Hz
[ 19.178957] nvcsi 150c0000.nvcsi: tegra_csi_power(99) camera_debug: enable=1, err=0
[ 19.178960] ov5693 30-0036: camera_common_s_power:757 camera_debug: on=1
[ 19.178962] ov5693 30-0036: camera_common_mclk_enable: enable MCLK with 24000000 Hz
[ 19.187714] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.187724] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.189771] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.191723] xhci-tegra 3530000.xhci: cannot find firmware…retry after 1 second
[ 19.191936] ov5693 31-0036: camera_common_s_power:784 camera_debug: on=1, err=0
[ 19.191942] video4linux video1: tegra_channel_set_power(624) camera_debug: on=1, ret=0
[ 19.192148] video4linux video1: tegra_channel_set_power(600) camera_debug: on=0
[ 19.192152] ov5693 31-0036: camera_common_s_power:757 camera_debug: on=0
[ 19.192155] […/drivers/media/i2c/ov5693.c ov5693_power_off (402)]
[ 19.192197] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.192217] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.193362] […/drivers/media/i2c/ov5693.c ov5693_gpio_set (320)]
[ 19.194293] ov5693 31-0036: camera_common_s_power:784 camera_debug: on=0, err=0
[ 19.194299] nvcsi 150c0000.nvcsi: tegra_csi_power(78) camera_debug: enable=0
[ 19.194304] nvcsi 150c0000.nvcsi: tegra_csi_power(99) camera_debug: enable=0, err=0
[ 19.194308] video4linux video1: tegra_channel_set_power(624) camera_debug: on=0, ret=0
[ 19.1

From the kernel log,when running aplay, aic32x4_hw_params is not called.

[   40.326274] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:859): soc_pcm_hw_params(), cpu_dai->driver->name=ADMAIF1, num_codecs=1,dai_link name:ADMAIF1 CIF,stream_name:ADMAIF1 CIF,codec_name:2900800.ahub,codec_dai_name:ADMAIF1,cpu_name:tegra210-admaif,cpu_dai_name:ADMAIF1
[   40.351831] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:869): machine soc_pcm_hw_params(), before
[   40.362478] tegra-snd-t186ref-mobile-rt565x sound: (tegra_t186ref_hw_params:426):
[   40.370169] tegra-snd-t186ref-mobile-rt565x sound: (tegra_t186ref_set_params:238): rate_min=44100,channels_min=2,formats=4,fmt=4101,bclk_ratio=1
[   40.383234] !!!!!!!!!!!!!!!!!!! aic32x4_set_dai_sysclk 12000000 !!!!!!!!!!!!!!!!!!



[   40.395339] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:871): machine soc_pcm_hw_params(), after
[   40.405888] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:911): codec_dai:ADMAIF1, soc_pcm_hw_params(),  before
[   40.417549] 2900800.ahub 2900800.ahub: (soc_dai_hw_params:821): ASOC_DEBUG, driver->name=ADMAIF1
[   40.426424] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:913): codec_dai:ADMAIF1, soc_pcm_hw_params, after
[   40.437758] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:923): cpu_dai:ADMAIF1, soc_pcm_hw_params, before
[   40.448999] tegra210-ape-admaif tegra210-admaif: (soc_dai_hw_params:821): ASOC_DEBUG, driver->name=ADMAIF1
[   40.458760] tegra210-ape-admaif tegra210-admaif: (soc_dai_hw_params:824): ASOC_DEBUG
[   40.466611] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_hw_params:340): enter
[   40.474723] tegra210-ape-admaif tegra210-admaif: (tegra210_admaif_hw_params:406): leave
[   40.482835] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:925): cpu_dai:ADMAIF1, soc_pcm_hw_params, after
[   40.493983] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:930): platform soc_pcm_hw_params(), before
[   40.504701] tegra210-ape-admaif tegra210-admaif: (tegra_alt_pcm_hw_params:154):
[   40.512202] tegra-snd-t186ref-mobile-rt565x sound: (../sound/soc/soc-pcm.c:932): platform soc_pcm_hw_params(), after

Hello!

Here are some inputs for you …

  1. Please make sure you are using L4T rel28.2 as there are several audio fixes included.

  2. The TLV320AIC32x4 codec driver requires either a 12, 24 or 25MHz mclk. So previously, we made a change to force the Tegra aud_mclk to always be 12MHz. See …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5232149/#5232149
https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5234318/#5234318

  1. The WARNING that you are seeing we observed before and is discussed here …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5231808/#5231808

  1. Next we need to fix the audio routing for codec and this is described here …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5244823/#5244823

  1. Finally there are some mixer settings for the codec that you need to set and you can see an example of these here in the ‘pltest.sh’ script …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5243588/#5243588

Regards,
Jon

jonathanh,
Thanks for your reply.

1.I’ve updated it to L4T rel28.2.
2.I want to modify tegra aud_mclk to 12MHz,but I found that the actual output is 96000

root@tegra-ubuntu:/home/nvidia# grep -r aud_mclk /sys/kernel/debug/clk/clk_summary
aud_mclk                                                0            0     9600000    12000000          0 0

The modified tegra_t186ref_mobile_rt565x.c and kernel log are placed in the attachments.

The modification of the tegra_asoc_utils_alt.c file is as follows:

int tegra_alt_asoc_utils_set_rate(struct tegra_asoc_audio_clock_info *data,
				int srate,
				int mclk,
				int clk_out_rate)
{
......
#if 0 
	err = clk_set_rate(data->clk_cdev1, clk_out_rate);
	if (err) {
		dev_err(data->dev, "Can't set clk_cdev1 rate: %d\n", err);
		return err;
	}
#endif
}
int tegra_alt_asoc_utils_set_parent(struct tegra_asoc_audio_clock_info *data,
			int is_i2s_master)
{
......
#if 0
		//ret = clk_set_rate(data->clk_cdev1, 13000000);
#else
		ret = clk_set_rate(data->clk_cdev1, 12000000); 
#endif
}

3.The previous warnings still exists.When I add
rt5659_set_jack_detect in tegra_t186ref_driver_probe, the kernel can not start, so I didn’t add it.

if (!machine->is_codec_dummy){
		        /* setup for jack detection only in non-dummy case */
		        rt5659_set_jack_detect(codec, &tegra_t186ref_hp_jack);
                }

4.How to fix the following error? I don’t know where to add “Z IN” “Z OUT” widget.

[    4.601230] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for z IN
[    4.601234] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route z IN -> direct -> z IN1_R
[    4.601337] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for z IN
[    4.601340] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route z IN -> direct -> z IN1_L
[    4.601426] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for z OUT
[    4.601429] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route z LOR -> direct -> z OUT
[    4.601517] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for z OUT
[    4.601520] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route z LOL -> direct -> z OUT

tegra_t186ref_mobile_rt565x.c (33.8 KB)
dmesg.txt (67.3 KB)

Hello,

With regard to the above …

  1. Can you attach the complete output from ‘sudo cat /sys/kernel/debug/clk/clk_summary’ so I can see what the parent clock is?

  2. You should not call ‘rt5659_set_jack_detect’ as you are not using the rt565x codec. In fact we comment this out for the aic32x4 …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5234619/#5234619

  1. This would seem to imply that your codec is not detected/probed on boot. Have you checked that your codec is being probed correctly on boot?

Regards,
Jon

Reply to the above questions:
2.The file with clk_summary is placed in the attachments.

  1. Yes, ‘aic32x4_i2c_probe’ and ‘aic32x4_probe’ is calle when when kernel bootup, as i added a log in tlv320aic32x4.c.
    Also, i find ‘tlv320aic32x4.1-0018’ when ‘cat /sys/kernel/debug/asoc/codecs’
root@tegra-ubuntu:/home/nvidia# cat /sys/kernel/debug/asoc/codecs
tegra186-dspk.1
tegra186-dspk.0
tegra210-afc.5
tegra210-afc.4
tegra210-afc.3
tegra210-afc.2
tegra210-afc.1
tegra210-afc.0
tegra186-asrc
tegra210-ope.0
tegra210-spdif
tegra210-mvc.1
tegra210-mvc.0
tegra210-dmic.3
tegra210-dmic.2
tegra210-dmic.1
tegra210-dmic.0
tegra210-adx.3
tegra210-adx.2
tegra210-adx.1
tegra210-adx.0
tegra210-amx.3
tegra210-amx.2
tegra210-amx.1
tegra210-amx.0
tegra210-i2s.5
tegra210-i2s.4
tegra210-i2s.3
tegra210-i2s.2
tegra210-i2s.1
tegra210-i2s.0
tegra210-mixer
tegra210-sfc.3
tegra210-sfc.2
tegra210-sfc.1
tegra210-sfc.0
tegra210-admaif
2900800.ahub
adsp_audio
tlv320aic32x4.1-0018
spdif_dit:spdif-dit.13@d
spdif_dit:spdif-dit.12@c
spdif_dit:spdif-dit.11@b
spdif_dit:spdif-dit.10@a
spdif_dit:spdif-dit.9@9
spdif_dit:spdif-dit.8@8
spdif_dit:spdif-dit.7@7
spdif_dit:spdif-dit.6@6
spdif_dit:spdif-dit.5@5
spdif_dit:spdif-dit.4@4
spdif_dit:spdif-dit.3@3
spdif_dit:spdif-dit.2@2
spdif_dit:spdif-dit.1@1
spdif_dit:spdif-dit.0@0
snd-soc-dummy

clk_summary.txt (33.2 KB)

Hello!

  1. I see the problem with the clock. The ‘mclk’ is only 19.2MHz and so we cannot divide this down to get 12MHz. So what we need to do is …
diff --git a/sound/soc/tegra-alt/tegra_asoc_utils_alt.c b/sound/soc/tegra-alt/tegra_asoc_utils_alt.c
index 92418bc50d23..9bc3f2cfaa3f 100644
--- a/sound/soc/tegra-alt/tegra_asoc_utils_alt.c
+++ b/sound/soc/tegra-alt/tegra_asoc_utils_alt.c
@@ -353,13 +353,15 @@ int tegra_alt_asoc_utils_init(struct tegra_asoc_audio_clock_info *data,
                return -EINVAL;
 
        /* pll_p_out1 is not used for ahub for T210,T186 */
-       if (data->soc < TEGRA_ASOC_UTILS_SOC_TEGRA210) {
+       if (data->soc < TEGRA_ASOC_UTILS_SOC_TEGRA210)
                data->clk_pll_p_out1 = clk_get_sys(NULL, "pll_p_out1");
-               if (IS_ERR(data->clk_pll_p_out1)) {
-                       dev_err(data->dev, "Can't retrieve clk pll_p_out1\n");
-                       ret = PTR_ERR(data->clk_pll_p_out1);
-                       goto err;
-               }
+       else
+               data->clk_pll_p_out1 = tegra_alt_asoc_utils_get_clk(dev, false,
+                                                                   "pll_p_out1");
+       if (IS_ERR(data->clk_pll_p_out1)) {
+               dev_err(data->dev, "Can't retrieve clk pll_p_out1\n");
+               ret = PTR_ERR(data->clk_pll_p_out1);
+               goto err;
        }
 
        data->clk_m = tegra_alt_asoc_utils_get_clk(dev, false, "clk_m");
@@ -467,13 +469,13 @@ int tegra_alt_asoc_utils_set_parent(struct tegra_asoc_audio_clock_info *data,
                        return ret;
                }
        } else {
-               ret = clk_set_parent(data->clk_cdev1, data->clk_m);
+               ret = clk_set_parent(data->clk_cdev1, data->clk_pll_p_out1);
                if (ret) {
                        dev_err(data->dev, "Can't set clk cdev1/extern1 parent");
                        return ret;
                }
 
-               ret = clk_set_rate(data->clk_cdev1, 13000000);
+               ret = clk_set_rate(data->clk_cdev1, 12000000);
                if (ret) {
                        dev_err(data->dev, "Can't set clk rate");
                        return ret;
  1. Have you added the ‘z IN’ and ‘z OUT’ widgets to the tegra_t186ref_mobile_rt565x.c driver?
diff --git a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
index 2bbb22e60b21..beda05f78deb 100644
--- a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
+++ b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
@@ -715,6 +715,8 @@ static const struct snd_soc_dapm_widget tegra_t186ref_dapm_widgets[] = {
        SND_SOC_DAPM_MIC("e Mic", NULL),
        SND_SOC_DAPM_SPK("d1 Headphone", NULL),
        SND_SOC_DAPM_SPK("d2 Headphone", NULL),
+       SND_SOC_DAPM_LINE("z IN", NULL),
+       SND_SOC_DAPM_LINE("z OUT", NULL),
 };

Regards,
Jon

Jon,thanks for reply.
1.Now the clock is 12MHz according to your suggestion, I observed it on an oscilloscope.

2.I add “aic32x4_set_bias_level” to tlv320aic32x4.c, then the WARNING disappeared. Can I change it this way?

static int aic32x4_probe(struct snd_soc_codec *codec)
{
    ......
   aic32x4_set_bias_level(codec, SND_SOC_BIAS_ON); 
}

3.I add the ‘z IN’ and ‘z OUT’ widgets to the tegra_t186ref_mobile_rt565x.c now, the kernel start seems to be normal.
But I can’t hear any sound when i run test scripts. And “aic32x4_hw_params()” isn’t called.

root@tegra-ubuntu:/mnt/tmp/asoc# ./audio-trace.sh ./pltest.sh

The trace log:

# tracer: nop
#
# entries-in-buffer/entries-written: 11/11   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
          amixer-16579 [000] ...1  3193.133326: snd_soc_dapm_start: card=tegra-snd-t186ref-mobile-rt565x
          amixer-16579 [000] ...1  3193.133501: snd_soc_dapm_walk_done: tegra-snd-t186ref-mobile-rt565x: checks 0 power, 0 path, 0 neighbour
          amixer-16579 [000] ...1  3193.133626: snd_soc_dapm_done: card=tegra-snd-t186ref-mobile-rt565x
           aplay-16603 [003] ...1  3193.936580: snd_soc_dapm_start: card=tegra-snd-t186ref-mobile-rt565x
           aplay-16603 [003] ...1  3193.936827: snd_soc_dapm_walk_done: tegra-snd-t186ref-mobile-rt565x: checks 2 power, 2 path, 0 neighbour
           aplay-16603 [003] ...1  3193.937236: snd_soc_dapm_done: card=tegra-snd-t186ref-mobile-rt565x
           aplay-16603 [003] ...1  3202.663766: snd_soc_dapm_start: card=tegra-snd-t186ref-mobile-rt565x
           aplay-16603 [003] ...1  3202.664476: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- Playback 1
           aplay-16603 [003] ...1  3202.664491: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- ADMAIF1 CIF Receive-ADMAIF1 Receive
           aplay-16603 [003] ...1  3202.664979: snd_soc_dapm_walk_done: tegra-snd-t186ref-mobile-rt565x: checks 2 power, 2 path, 2 neighbour
           aplay-16603 [003] ...1  3202.665930: snd_soc_dapm_done: card=tegra-snd-t186ref-mobile-rt565x

audio-trace.sh.txt (551 Bytes)
pltest.sh.txt (1.59 KB)

Hello!

  1. Great!
  2. Yes I think that is fine as a workaround.
  3. The audio route is not complete. Please see step 5 in comment #3 above.

Regards,
Jon

I run tegra-audio-debug.sh, the output file is attached. Can you see what the problem is?
tegra-audio-debug.txt (274 KB)

That’s strange, i cannot upload an attachment file now.
PS: The speed of the net is a bit slow. It’s good now.

Hello!

Did you set the mixer settings as described here in the ‘pltest.sh’ script …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5243588/#5243588

Jon

Yes, i have run ‘pltest.sh’ script,as i mention step 3 in comment #8 above.

pltest.sh.txt (1.59 KB)
pltestoutput.txt (4.45 KB)

Hello!

Yes sorry I missed that. OK. The ‘tegra-audio-debug.txt’ you attached to comment #10, is missing all the mixer settings. Did you grab the script from …

https://devtalk.nvidia.com/default/topic/1027508/jetson-tx2/tlv320aic32x4-evaluation-board-with-tx2/post/5244039/#5244039

It should execute ‘alsactl store -f ${outfile}’ to dump all the mixer settings. Can you make sure you use the above version.

Jon

Jon,
I annotated’alsactl store -f ${outfile}’ in tegra-audio-debug.sh before, now I add it.

BTW, I modified DT as below, then I found the route seem to be right.I haven’t heard the voice yet. I’ll go ahead with it.

nvidia,audio-routing =				
			"z Right ADC",		"z IN",				
			"z Left ADC",		"z IN", 			
			"z OUT",		"z Right DAC",			
			"z OUT",		"z Left DAC";

tegra-audio-debug.txt (662 KB)

When I ran aplay through pltest.sh, I tested the I2S related pin,
the situation is as follows: MCLK:12MHz, BCLK:1.4112MHz, WCLK:44100, and there is a signal on DIN(J21-40) too.
But I could not hear the voice, nor did the kernel report warning.
What should I do next?

My DT now:

nvidia,audio-routing =		
			"z Right ADC",		"z IN",				
			"z Left ADC",		"z IN", 			
			"z OUT",		"z Right DAC",			
			"z OUT",		"z Left DAC";

		rt565x_dai_link: nvidia,dai-link-1 {
			link-name = "ti-capture";
			cpu-dai = <&tegra_i2s1>;
			codec-dai = <&aic32x4>;
			cpu-dai-name = "I2S1";
			codec-dai-name = "tlv320aic32x4-hifi";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			bclk_ratio = <0>;
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "z";
			status = "okay";
		};

Hello!

Great progress. I would look at the codec mixer settings and check to see if anything is muted or if the volume it too low.

Regards,
Jon

Hello, Jon,
Is there any progress?

Hello,

Sorry, if I was not clear, but I recommend that you look at the codec documentation to see if there are any mute or volume settings that need to be adjusted. If you look at the TI website they have some good documentation for this codec.

Regards,
Jon

I’m looking at the codec’s document. But now I doubted whether this was still the route problem. I found that some registers about power were not opened, but they were defined in widget. Such as

static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
	SND_SOC_DAPM_DAC("Left DAC", "Left Playback", AIC32X4_DACSETUP, 7, 0),
	SND_SOC_DAPM_PGA("HPL Power", AIC32X4_OUTPWRCTL, 5, 0, NULL, 0),
	SND_SOC_DAPM_PGA("LOL Power", AIC32X4_OUTPWRCTL, 3, 0, NULL, 0),
	SND_SOC_DAPM_PGA("HPR Power", AIC32X4_OUTPWRCTL, 4, 0, NULL, 0),
	SND_SOC_DAPM_PGA("LOR Power", AIC32X4_OUTPWRCTL, 2, 0, NULL, 0),
}

The bit7 of AIC32X4_DACSETUP and bit5,bit3,bit4,bit2 of AIC32X4_OUTPWRCTL, should be 1 when aplay, but all of they are 0.
I don’t understand how these values set up.