ACL5639 Audio codec on TX1

Hi,
I had our customized PCBA with TX1.
And I use RT5639 as our audio decoder.
i modify the tegra210-jetson-cv-base-p2597-2180-a00.dts to support rt5639
but have many error as below

[ 18.078448] tegra-snd-t210ref-mobile-rt5639 sound.27: codec_dai clock not set
[ 18.078450] tegra-snd-t210ref-mobile-rt5639 sound.27: Failed dai init
[ 18.078453] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: machine hw_params failed: -22
[ 18.078618] tegra-snd-t210ref-mobile-rt5639 sound.27: codec_dai clock not set
[ 18.078620] tegra-snd-t210ref-mobile-rt5639 sound.27: Failed dai init
[ 18.078623] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: machine hw_params failed: -22
[ 18.078793] tegra-snd-t210ref-mobile-rt5639 sound.27: codec_dai clock not set
[ 18.078796] tegra-snd-t210ref-mobile-rt5639 sound.27: Failed dai init
[ 18.078798] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: machine hw_params failed: -22

and i don’t know why to failed to creat the widget

[ 6.916765] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no source widget found for x HPO L Playback
[ 6.916771] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x HPO L Playback → direct → x Headphone Jack
[ 6.916798] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no source widget found for x HPO R Playback
[ 6.916803] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x HPO R Playback → direct → x Headphone Jack
[ 6.916831] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x MICBIAS1
[ 6.916835] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Mic Jack → direct → x MICBIAS1
[ 6.916862] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x IN1P
[ 6.916867] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Mic Jack → direct → x IN1P
[ 6.916894] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x Mic Det Power
[ 6.916899] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Mic Jack → direct → x Mic Det Power
[ 6.916926] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no source widget found for x SPO Playback
[ 6.916930] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x SPO Playback → direct → x Int Spk
[ 6.916956] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x DMIC L1
[ 6.916961] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Int Mic → direct → x DMIC L1
[ 6.916987] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x DMIC L2
[ 6.916991] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Int Mic → direct → x DMIC L2
[ 6.917017] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x DMIC R1
[ 6.917021] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Int Mic → direct → x DMIC R1
[ 6.917047] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x DMIC R2
[ 6.917051] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Int Mic → direct → x DMIC R2
[ 6.917078] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no sink widget found for x Headphone
[ 6.917082] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x OUT → direct → x Headphone
[ 6.917108] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: no source widget found for x Mic
[ 6.917112] tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: Failed to add route x Mic → direct → x IN

how did i modify the firmware to support RT5639???

Hi etta,
The default widgets are for rt5659. You need to replace them. Please try to replace the following widgets to /etc/amixer_settings

#!/bin/bash
# For Playback:
amixer cset -c tegrasndt210ref name="I2S1 Mux" 20
amixer cset -c tegrasndt210ref name="MIXER1-1 Mux" 1
amixer cset -c tegrasndt210ref name="Adder1 RX1" 1
amixer cset -c tegrasndt210ref name="Mixer Enable" 1
amixer cset -c tegrasndt210ref name="ADMAIF1 Mux" 11
amixer cset -c tegrasndt210ref name="x Int Spk Switch" 1
amixer cset -c tegrasndt210ref name="x Speaker Playback Volume" 32
amixer cset -c tegrasndt210ref name="x Headphone Jack Switch" 1
amixer sset -c tegrasndt210ref sset 'MIXER1-1 Mux' 'ADMAIF1'
amixer sset -c tegrasndt210ref sset 'I2S1 Mux' 'MIXER1-1'
# For Record:
amixer cset -c tegrasndt210ref name="x ADC Capture Switch" 1
amixer cset -c tegrasndt210ref name="x RECMIXL BST1 Switch" 0
amixer cset -c tegrasndt210ref name="x RECMIXR BST1 Switch" 0
amixer cset -c tegrasndt210ref name="x RECMIXL BST2 Switch" 1
amixer cset -c tegrasndt210ref name="x RECMIXR BST2 Switch" 1
amixer cset -c tegrasndt210ref name="x Stereo ADC L1 Mux" 1
amixer cset -c tegrasndt210ref name="x Stereo ADC R1 Mux" 1
amixer cset -c tegrasndt210ref name="x Stereo ADC MIXL ADC1 Switch" 1
amixer cset -c tegrasndt210ref name="x Stereo ADC MIXR ADC1 Switch" 1
amixer cset -c tegrasndt210ref name="x Stereo ADC MIXL ADC2 Switch" 0
amixer cset -c tegrasndt210ref name="x Stereo ADC MIXR ADC2 Switch" 0
amixer cset -c tegrasndt210ref name="x IN2 Mode Control" 0
amixer cset -c tegrasndt210ref name="x IN2 Boost" 1
amixer cset -c tegrasndt210ref name="x Mic Jack Switch" 1
amixer sset -c tegrasndt210ref 'ADMAIF1 Mux' 'I2S1'

And please also check the widgets in tegra_t210ref_mobile_alt.c

[03/20/2017]UPDATE Add ‘#!/bin/bash’ to amixer_settings

Hi @etta, Could you post how you modified the tegra210-jetson-cv-base-p2597-2180-a00.dts to support rt5639? And is there any other changes should be made to support rt5639 in L4T? Thanks.

Hi ShayWang & DaneLLL

i modify as below
modify the dts of i2c address for rt5639

and i check the tx1 will probe the soc\codecs\rt5639.c
and probe the tegra-snd-t210ref-mobile-rt565x_alt.c

but it’s not work now.

i use the command from DaneLLL is not work too.

i use i2c_GP0 and use i2s0

how did i modify the sound dts structure and modify the tegra-snd-t210ref-mobile-rt565x_alt.c to support rt5639??

Hi etta,
Please share the device tree and boot log. And also the result of ‘aplay -l’

Hi DaneLLL

i modify the dts and add debug message as below:

sound {
status = “okay”;
compatible = “nvidia,tegra-audio-t210ref-mobile-rt5639”;
nvidia,model = “tegra-snd-t210ref-mobile-rt5639”;
};

i2c@7000c000 {
	rt5639: rt5639.0-001c@1c {
                    compatible = "realtek,rt5639";
                    reg = <0x1c>;
		gpios = <&gpio TEGRA_GPIO(E , 6) GPIO_ACTIVE_HIGH>;

		/* refer include/sound/rt5659.h for the values to be used */
            };
            rt5659: rt5659.0-001b@1b {
		status = "disabled";
            };
};

after i boot up the system will dump many Call trace
so i mask the dai-link-1 ~~ dai-link-5 and it can boot no Call trace

the information as below:

[ 3.764032] soctherm: prog thresholds
[ 3.764043] soctherm: skipping sensor 4 programming
[ 3.764045] soctherm: skipping sensor 5 programming
[ 3.764051] soctherm: trip_point temp 127500 forced to 127000
[ 3.767726] mmc0: BKOPS_EN bit is not set
[ 3.772002] usbcore: registered new interface driver snd-usb-audio
[ 3.772860] [rt5639_i2c_probe][3515]
[ 3.772864] [rt5639_i2c_probe][3521]
[ 3.772876] [rt5639_i2c_probe][3530]
[ 3.772878] [rt5639_i2c_probe][3533]
[ 3.782076] tegra210-i2s tegra210-i2s.0: Missing prop fsync-width for I2S0
[ 3.782728] tegra210-i2s tegra210-i2s.2: Missing prop fsync-width for I2S2
[ 3.782908] tegra210-i2s tegra210-i2s.3: Missing prop fsync-width for I2S3
[ 3.783151] tegra210-i2s tegra210-i2s.4: Missing prop fsync-width for I2S4
[ 3.787689] OPE platform probe
[ 3.787859] OPE platform probe successful
[ 3.787892] OPE platform probe
[ 3.788064] OPE platform probe successful
[ 3.788224] tegra210_adsp_audio_platform_probe: platform probe started
[ 3.789485] tegra210-adsp adsp_audio.3: Default param-type to BYTE for mp3-dec1
[ 3.789745] tegra210-adsp adsp_audio.3: Default param-type to BYTE for spkprot
[ 3.790147] tegra210-adsp adsp_audio.3: Default param-type to BYTE for src
[ 3.790440] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aac-dec1
[ 3.790859] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aec
[ 3.791220] tegra210_adsp_audio_platform_probe probe successfull.[tegra_t210ref_driver_probe][693]
[ 3.791222] [tegra_t210ref_driver_probe][698]
[ 3.791225] [tegra_t210ref_driver_probe][706]
[ 3.791227] [tegra_t210ref_driver_probe][710]
[ 3.791230] [tegra_t210ref_driver_probe][714]
[ 3.791298] [tegra_t210ref_driver_probe][719]
[ 3.791312] tegra-snd-t210ref-mobile-rt5639 sound.27: Property ‘nvidia,dai-link-1’ missing or invalid
[ 3.792087] GACT probability NOT on
[ 3.792094] Mirror/redirect action on
[ 3.792098] u32 classifier
[ 3.792100] Actions configured
[ 3.792105] Netfilter messages via NETLINK v0.30.
[ 3.792155] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 3.792440] ctnetlink v0.93: registering with nfnetlink.
[ 3.792551] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 3.792553] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 3.792825] xt_time: kernel timezone is -0000
[ 3.792927] ipip: IPv4 over IPv4 tunneling driver
[ 3.793306] ip_tables: (C) 2000-2006 Netfilter Core Team

ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Tegra [HDA NVIDIA Tegra], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$

how do i add the dai-link or any suggestion ??

Hi etta, you have to change device tree like

sound {
		iommus = <0x46 0x22>;
		status = "okay";
		ldoen-supply = <0x5f>;
		spkvdd-supply = <0x5f>;
		dbvdd-supply = <0x5f>;
		avdd-supply = <0x5f>;
		dmicvdd-supply = <0x57>;
		compatible = "nvidia,tegra-audio-t210ref-mobile-rt5639";
		nvidia,model = "tegra-snd-t210ref-mobile-rt5639";
		nvidia,ldo-gpios = <0x60 0xdb 0x0>;
		nvidia,hp-det-gpios = <0x60 0x26 0x0>;
		nvidia,num-codec-link = <0x5>;
		nvidia,audio-routing = "x Headphone Jack", "x HPOL",
                               "x Headphone Jack", "x HPOR",
                               "x Int Spk", "x SPORP",
                               "x Int Spk", "x SPORN",
                               "x Int Spk", "x SPOLP",
                               "x Int Spk", "x SPOLN",
                               "x micbias1", "x Mic Jack",
                               "x IN2P", "x Mic Jack",
                               "x DMIC L1", "x Int Mic",
                               "x DMIC L2", "x Int Mic",
                               "x DMIC R1", "x Int Mic",
                               "x DMIC R2", "x Int Mic",
                               "y Headphone", "y OUT",
                               "y IN", "y Mic",
                               "z Headphone", "z OUT",
                               "z IN", "z Mic",
                               "l IN", "l OUT",
                               "s Headphone", "s OUT",
                               "s IN", "s Mic";
		nvidia,xbar = <0x61>;
		linux,phandle = <0xfd>;
		phandle = <0xfd>;

		nvidia,dai-link-1 {
			link-name = "rt5639-playback";
			cpu-dai = <0x62>;
			codec-dai = <0x63>;
			cpu-dai-name = "I2S1";
			codec-dai-name = "rt5639-aif1";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			bclk_ratio = <0x0>;
			srate = <0xbb80>;
			num-channel = <0x2>;
			ignore_suspend;
			name-prefix = [78 00];
		};

Please adapt the sample code to your case.

Hi DaneLLL

thanks for your reply

i add the sound dts and the debug message as below

[ 14.910733] cpu-tegra: init EDP limit: 1224 MHz
[ 14.918590] pll_x: not ready for dynamic ramp to 921600000
[ 14.926995] pll_x: not ready for dynamic ramp to 921600000
[ 14.947911] soctherm: prog thresholds
[ 14.954682] soctherm: prog thresholds
[ 14.961376] soctherm: tz:2 not found, skip thresh prog
[ 14.969581] soctherm: prog thresholds
[ 14.976245] soctherm: skipping sensor 4 programming
[ 14.984135] soctherm: skipping sensor 5 programming
[ 14.991921] soctherm: trip_point temp 127500 forced to 127000
[ 15.008592] usbcore: registered new interface driver snd-usb-audio
[ 15.018595] [rt5639_i2c_probe][3515]
[ 15.025087] [rt5639_i2c_probe][3521]
[ 15.031517] [rt5639_i2c_probe][3530]
[ 15.037884] [rt5639_i2c_probe][3533]
[ 15.052700] tegra210-i2s tegra210-i2s.0: Missing prop fsync-width for I2S0
[ 15.062961] tegra210-i2s tegra210-i2s.2: Missing prop fsync-width for I2S2
[ 15.072702] tegra210-i2s tegra210-i2s.3: Missing prop fsync-width for I2S3
[ 15.082398] tegra210-i2s tegra210-i2s.4: Missing prop fsync-width for I2S4
[ 15.096336] OPE platform probe
[ 15.102056] OPE platform probe successful
[ 15.108640] OPE platform probe
[ 15.114367] OPE platform probe successful
[ 15.121063] tegra210_adsp_audio_platform_probe: platform probe started
[ 15.131413] tegra210-adsp adsp_audio.3: Default param-type to BYTE for mp3-dec1
[ 15.141600] tegra210-adsp adsp_audio.3: Default param-type to BYTE for spkprot
[ 15.151775] tegra210-adsp adsp_audio.3: Default param-type to BYTE for src
[ 15.161415] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aac-dec1
[ 15.171579] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aec
[ 15.180873] tegra210_adsp_audio_platform_probe probe successfull.[tegra_t210ref_driver_probe][693]
[ 15.192560] [tegra_t210ref_driver_probe][698]
[ 15.199314] [tegra_t210ref_driver_probe][706]
[ 15.206046] [tegra_t210ref_driver_probe][710]
[ 15.212694] [tegra_t210ref_driver_probe][714]
[ 15.219371] [tegra_t210ref_driver_probe][719]
[ 15.226097] tegra-snd-t210ref-mobile-rt5639 sound.27: Property ‘nvidia,dai-link-2’ missing or invalid
[ 15.238340] GACT probability NOT on
[ 15.243983] Mirror/redirect action on
[ 15.249729] u32 classifier
[ 15.254450] Actions configured
[ 15.259842] Netfilter messages via NETLINK v0.30.
[ 15.266596] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 15.274931] ctnetlink v0.93: registering with nfnetlink.
[ 15.282312] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 15.291272] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.

how many dai-link should i add? and how to add the information in dts?
do you have any document to study?
i modify the nvidia,num-codec-link = <1>; but i get the message as below

tegra-snd-t210ref-mobile-rt5639 sound.27: ASoC: CPU DAI DAP not registered
tegra-snd-t210ref-mobile-rt5639 sound.27: snd_soc_register_card failed (-517)
platform sound.27: Driver tegra-snd-t210ref-mobile-rt5639 requests probe deferral

Hi etta,
Please refer to [Tegra ASoC Driver]
https://developer.nvidia.com/embedded/dlc/l4t-documentation-24-2-1

Hi DaneLLL

i connect rt5639 use I2CGP0 and I2S0.
i reference the rt5639 in tegra210-jetson-e-base-p2595-0000-a00.dts so i modify the dts as below

sound {
compatible = “nvidia,tegra-audio-t210ref-mobile-rt5639”;
nvidia,model = “tegra-snd-t210ref-mobile-rt5639”;
nvidia,ldo-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;

	nvidia,num-codec-link = <5>;

	nvidia,audio-routing =
		"x Headphone Jack", 	"x HPOL",
		"x Headphone Jack", 	"x HPOR",
		"x Int Spk", 	"x SPORP",
		"x Int Spk", 	"x SPORN",
		"x Int Spk", 	"x SPOLP",
		"x Int Spk", 	"x SPOLN",
		"x micbias1",	"x Mic Jack",
		"x IN2P",		"x Mic Jack",
		"x IN2P",		"x Mic Jack",
		"x DMIC L1",	"x Int Mic",
		"x DMIC L2",	"x Int Mic",
		"x DMIC R1",	"x Int Mic",
		"x DMIC R2",	"x Int Mic",
		"y Headphone", 	"y OUT",
		"y IN",		"y Mic",
		"z Headphone", 	"z OUT",
		"z IN",		"z Mic",
		"l IN",		"l OUT",
		"s Headphone", 	"s OUT",
		"s IN",		"s Mic";

	nvidia,xbar = <&tegra_axbar>;

	nvidia,dai-link-1 {
		link-name = "rt5639-playback";
		cpu-dai = <&tegra_i2s1>;
		codec-dai = <&rt5639>;
		cpu-dai-name = "I2S1";
		codec-dai-name = "rt5639-aif1";
		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 = "x";
	};
	nvidia,dai-link-2 {
		link-name = "spdif-dit-1";
		cpu-dai = <&tegra_i2s2>;
		codec-dai = <&spdif_dit1>;
		cpu-dai-name = "I2S2";
		codec-dai-name = "dit-hifi";
		format = "dsp_a";
		bitclock-slave;
		frame-slave;
		bitclock-inversion;
		frame-inversion;
		bit-format = "s16_le";
		bclk_ratio = <4>;
		srate = <8000>;
		num-channel = <1>;
		ignore_suspend;
		name-prefix = "y";
	};
	nvidia,dai-link-3 {
		link-name = "spdif-dit-2";
		cpu-dai = <&tegra_dmic2>;
		codec-dai = <&spdif_dit2>;
		cpu-dai-name = "DMIC2";
		codec-dai-name = "dit-hifi";
		format = "i2s";
		bit-format = "s16_le";
		srate = <48000>;
		num-channel = <2>;
		ignore_suspend;
		name-prefix = "z";
	};
	nvidia,dai-link-4 {
		link-name = "spdif-dit-3";
		cpu-dai = <&tegra_i2s3>;
		codec-dai = <&spdif_dit3>;
		cpu-dai-name = "I2S3";
		codec-dai-name = "dit-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 = "l";
	};
	nvidia,dai-link-5 {
		link-name = "spdif-dit-0";
		cpu-dai = <&tegra_i2s4>;
		codec-dai = <&spdif_dit0>;
		cpu-dai-name = "I2S4";
		codec-dai-name = "dit-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 = "s";
	};

adsp_audio {
plugin-info-5 {
plugin-name = “aec”;
firmware-name = “libnvaecfx.elf”;
widget-name = “AEC”;
param-type = <2>; /* SNDRV_CTL_ELEM_TYPE_INTEGER */
};
}
i2c@7000c000 {
rt5639: rt5639.0-001c@1c {
compatible = “realtek,rt5639”;
reg = <0x1c>;
};
rt5659.0-001a@1a {
status = “disabled”;
};
rt5659.0-001b@1b {
status = “disabled”;
};
};

and the message have no error message

[ 4.846107] tegra_bootloader_debug: Created sysfs interface tegra_bootloader_verify_regs in tegra_bootloader directory
[ 4.856851] tegra_bootloader_debug: Created sysfs interface tegra_bootloader_prof in tegra_bootloader directory
[ 4.867271] nvadsp 702ef000.adsp: in probe()…
[ 4.872432] nvadsp 702ef000.adsp: AMC/ARAM initialized.
[ 4.877768] nvadsp 702ef000.adsp: nvadsp_app_module_probe
[ 4.885001] tegra_throttle : init passed
[ 4.885045] mmc0: tap value and tuning window after hw tuning completion …
[ 4.885051] mmc0: tuning_window[0]: 0xffffffff
[ 4.885054] mmc0: tuning_window[1]: 0xffffffe3
[ 4.885058] mmc0: tuning_window[2]: 0xffffe3ff
[ 4.885062] mmc0: tuning_window[3]: 0x7ff1ffff
[ 4.885065] mmc0: tuning_window[4]: 0x0
[ 4.885068] mmc0: tuning_window[5]: 0x0
[ 4.885071] mmc0: tuning_window[6]: 0x0
[ 4.885074] mmc0: tuning_window[7]: 0x0
[ 4.885077] sdhci: Tap value: 55 | Trim value: 8
[ 4.885080] sdhci: SDMMC Interrupt status: 0x00040000
[ 4.885653] mmc0: switch to HS400 mode is successful
[ 4.889509] mmc0: new HS400 MMC card at address 0001
[ 4.889930] mmcblk0: mmc0:0001 016G32 14.6 GiB
[ 4.890131] mmcblk0rpmb: mmc0:0001 016G32 partition 3 4.00 MiB
[ 4.958938] usb 1-4: new high-speed USB device number 4 using tegra-xhci
[ 4.959969] cpu-tegra: init EDP limit: 1224 MHz
[ 4.960429] pll_x: not ready for dynamic ramp to 921600000
[ 4.960462] pll_x: not ready for dynamic ramp to 921600000
[ 4.961612] soctherm: prog thresholds
[ 4.961616] soctherm: prog thresholds
[ 4.961618] soctherm: tz:2 not found, skip thresh prog
[ 4.961619] soctherm: prog thresholds
[ 4.961629] soctherm: skipping sensor 4 programming
[ 4.961632] soctherm: skipping sensor 5 programming
[ 4.961637] soctherm: trip_point temp 127500 forced to 127000
[ 5.014142] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18
[ 5.022444] usbcore: registered new interface driver snd-usb-audio
[ 5.029308] usb 1-4: New USB device found, idVendor=1a40, idProduct=0101
[ 5.036038] usb 1-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 5.043210] usb 1-4: Product: USB 2.0 Hub
[ 5.045500] [890][tegra210_i2s_platform_probe]
[ 5.045644] tegra210-i2s tegra210-i2s.0: Missing prop fsync-width for I2S0
[ 5.045870] [1060][tegra210_i2s_platform_probe]
[ 5.045927] [890][tegra210_i2s_platform_probe]
[ 5.046170] [1060][tegra210_i2s_platform_probe]
[ 5.046220] [890][tegra210_i2s_platform_probe]
[ 5.046330] tegra210-i2s tegra210-i2s.2: Missing prop fsync-width for I2S2
[ 5.046360] [1060][tegra210_i2s_platform_probe]
[ 5.046414] [890][tegra210_i2s_platform_probe]
[ 5.046532] tegra210-i2s tegra210-i2s.3: Missing prop fsync-width for I2S3
[ 5.046617] [1060][tegra210_i2s_platform_probe]
[ 5.046666] [890][tegra210_i2s_platform_probe]
[ 5.046775] tegra210-i2s tegra210-i2s.4: Missing prop fsync-width for I2S4
[ 5.046798] [1060][tegra210_i2s_platform_probe]
[ 5.051249] OPE platform probe
[ 5.051422] OPE platform probe successful
[ 5.051455] OPE platform probe
[ 5.051623] OPE platform probe successful
[ 5.051780] tegra210_adsp_audio_platform_probe: platform probe started
[ 5.053039] tegra210-adsp adsp_audio.3: Default param-type to BYTE for mp3-dec1
[ 5.053290] tegra210-adsp adsp_audio.3: Default param-type to BYTE for spkprot
[ 5.053683] tegra210-adsp adsp_audio.3: Default param-type to BYTE for src
[ 5.053972] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aac-dec1
[ 5.173276] hub 1-4:1.0: USB hub found
[ 5.177144] hub 1-4:1.0: 4 ports detected
[ 5.196031] mmc1: queuing unknown CIS tuple 0x80 (5 bytes)
[ 5.322793] tegra210_adsp_audio_platform_probe probe successfull.
[ 5.322794] tegra210-ape-admaif tegra210-admaif: ASoC: Failed to create codec debugfs directory
[ 5.339067] tegra210-adsp adsp_audio.3: ASoC: Failed to create platform debugfs directory
[ 5.365901] rt5639 0-001c: Codec Settling took 0 ms
[ 5.384506] rt5639 0-001c: read 0xfd=0x6
[ 5.395210] mmc1: tap value and tuning window after hw tuning completion …
[ 5.402265] mmc1: tuning_window[0]: 0xc7ffffff
[ 5.406730] mmc1: tuning_window[1]: 0xffffffff
[ 5.411179] mmc1: tuning_window[2]: 0xfffffffc
[ 5.415639] mmc1: tuning_window[3]: 0x7fffff3f
[ 5.420080] mmc1: tuning_window[4]: 0x0
[ 5.422619] rt5639 0-001c: ASoC: mux x INR Mux has no paths
[ 5.422635] rt5639 0-001c: ASoC: mux x INL Mux has no paths
[ 5.435074] mmc1: tuning_window[5]: 0x0
[ 5.436430] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF1 <-> ADMAIF1 mapping ok
[ 5.437560] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF2 <-> ADMAIF2 mapping ok
[ 5.438667] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF3 <-> ADMAIF3 mapping ok
[ 5.439769] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF4 <-> ADMAIF4 mapping ok
[ 5.440871] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF5 <-> ADMAIF5 mapping ok
[ 5.441985] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF6 <-> ADMAIF6 mapping ok
[ 5.443085] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF7 <-> ADMAIF7 mapping ok
[ 5.444212] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF8 <-> ADMAIF8 mapping ok
[ 5.445328] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF9 <-> ADMAIF9 mapping ok
[ 5.446436] tegra-snd-t210ref-mobile-rt5639 sound.27: ADMAIF10 <-> ADMAIF10 mapping ok
[ 5.517280] mmc1: tuning_window[6]: 0x0
[ 5.521144] mmc1: tuning_window[7]: 0x0
[ 5.524990] sdhci: Tap value: 83 | Trim value: 8
[ 5.529602] sdhci: SDMMC Interrupt status: 0x00040000
[ 5.536053] tegra-snd-t210ref-mobile-rt5639 sound.27: ADSP-FE1 <-> ADSP PCM1 mapping ok
[ 5.537823] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[ 5.551362] tegra-snd-t210ref-mobile-rt5639 sound.27: ADSP-FE2 <-> ADSP PCM2 mapping ok
[ 5.560501] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[ 5.567376] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[ 5.575484] gpio wake4 for gpio=38
[ 5.604299] input: tegra-snd-t210ref-mobile-rt5639 Headphone Jack as /devices/platform/sound.27/sound/card1/input0
[ 5.619579] GACT probability NOT on
[ 5.623077] Mirror/redirect action on
[ 5.626756] u32 classifier
[ 5.629459] Actions configured
[ 5.632858] Netfilter messages via NETLINK v0.30.
[ 5.637594] usb 2-1: new SuperSpeed USB device number 2 using tegra-xhci
[ 5.637653] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 5.650591] ctnetlink v0.93: registering with nfnetlink.
[ 5.656012] NF_TPROXY: Transparent proxy support initialized, version 4.1.0

and the command message is

ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 0: ADMAIF1 CIF ADMAIF1-0
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 1: ADMAIF2 CIF ADMAIF2-1
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 2: ADMAIF3 CIF ADMAIF3-2
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 3: ADMAIF4 CIF ADMAIF4-3
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 4: ADMAIF5 CIF ADMAIF5-4
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 5: ADMAIF6 CIF ADMAIF6-5
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 6: ADMAIF7 CIF ADMAIF7-6
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 7: ADMAIF8 CIF ADMAIF8-7
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 8: ADMAIF9 CIF ADMAIF9-8
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 9: ADMAIF10 CIF ADMAIF10-9
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 93: ADSP PCM1 ADSP-FE1-93
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 94: ADSP PCM2 ADSP-FE2-94
Subdevices: 1/1
Subdevice #0: subdevice #0
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Tegra [HDA NVIDIA Tegra], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 0: ADMAIF1 CIF ADMAIF1-0
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 1: ADMAIF2 CIF ADMAIF2-1
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 2: ADMAIF3 CIF ADMAIF3-2
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 3: ADMAIF4 CIF ADMAIF4-3
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 4: ADMAIF5 CIF ADMAIF5-4
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 5: ADMAIF6 CIF ADMAIF6-5
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 6: ADMAIF7 CIF ADMAIF7-6
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 7: ADMAIF8 CIF ADMAIF8-7
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 8: ADMAIF9 CIF ADMAIF9-8
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 9: ADMAIF10 CIF ADMAIF10-9
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 93: ADSP PCM1 ADSP-FE1-93
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt5639], device 94: ADSP PCM2 ADSP-FE2-94
Subdevices: 1/1
Subdevice #0: subdevice #0
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$

but now have no voice , do you have any suggestion ??

Hi all

any NV people can give some suggestion??

Hi etta,
You should be able to do playback [aplay -Dhw:1,0 test_stereo_44100Hz_16bit_PCM.wav] after setting

amixer cset -c tegrasndt210ref name="I2S1 Mux" 20
amixer cset -c tegrasndt210ref name="MIXER1-1 Mux" 1
amixer cset -c tegrasndt210ref name="Adder1 RX1" 1
amixer cset -c tegrasndt210ref name="Mixer Enable" 1
amixer cset -c tegrasndt210ref name="ADMAIF1 Mux" 11
amixer cset -c tegrasndt210ref name="x Int Spk Switch" 1
amixer cset -c tegrasndt210ref name="x Speaker Playback Volume" 32
amixer cset -c tegrasndt210ref name="x Headphone Jack Switch" 1
amixer sset -c tegrasndt210ref sset 'MIXER1-1 Mux' 'ADMAIF1'
amixer sset -c tegrasndt210ref sset 'I2S1 Mux' 'MIXER1-1'

Hi DaneLLL
thanks your reply
i try it but no voice now.
my audio codec use i2s0 i2cGP0 GPIO20_AUD_INT GPIO19_AUD_RST AUDIO_MCLK to connect tx1
the test step and test result as below

  1. modify dts about audio
sound_card: sound {
		compatible = "nvidia,tegra-audio-t210ref-mobile-rt5639";
		nvidia,model = "tegra-snd-t210ref-mobile-rt5639";
		nvidia,ldo-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
		nvidia,num-codec-link = <0x5>;
		nvidia,audio-routing = "x Headphone Jack", "x HPOL",
                               "x Headphone Jack", "x HPOR",
                               "x Int Spk", "x SPORP",
                               "x Int Spk", "x SPORN",
                               "x Int Spk", "x SPOLP",
                               "x Int Spk", "x SPOLN",
                               "x micbias1", "x Mic Jack",
                               "x IN2P", "x Mic Jack",
                               "x DMIC L1", "x Int Mic",
                               "x DMIC L2", "x Int Mic",
                               "x DMIC R1", "x Int Mic",
                               "x DMIC R2", "x Int Mic",
                               "y Headphone", "y OUT",
                               "y IN", "y Mic",
                               "z Headphone", "z OUT",
                               "z IN", "z Mic",
                               "l IN", "l OUT",
                               "s Headphone", "s OUT",
                               "s IN", "s Mic";
		nvidia,xbar = <&tegra_axbar>;

		nvidia,dai-link-1 {
			link-name = "rt5639-playback";
			cpu-dai = <&tegra_i2s1>;
			codec-dai = <&rt5639>;
			cpu-dai-name = "I2S1";
			codec-dai-name = "rt5639-aif1";
			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 = "x";
		};
		nvidia,dai-link-2 {
			link-name = "spdif-dit-1";
			cpu-dai = <&tegra_i2s2>;
			codec-dai = <&spdif_dit1>;
			cpu-dai-name = "I2S2";
			codec-dai-name = "dit-hifi";
			format = "dsp_a";
			bitclock-slave;
			frame-slave;
			bitclock-inversion;
			frame-inversion;
			bit-format = "s16_le";
			bclk_ratio = <4>;
			srate = <8000>;
			num-channel = <1>;
			ignore_suspend;
			name-prefix = "y";
		};

		nvidia,dai-link-3 {
			link-name = "spdif-dit-2";
			cpu-dai = <&tegra_dmic3>;
			codec-dai = <&spdif_dit2>;
			cpu-dai-name = "DMIC3";
			codec-dai-name = "dit-hifi";
			format = "i2s";
			bit-format = "s16_le";
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "z";
		};

		nvidia,dai-link-4 {
			link-name = "spdif-dit-3";
			cpu-dai = <&tegra_i2s3>;
			codec-dai = <&spdif_dit3>;
			cpu-dai-name = "I2S3";
			codec-dai-name = "dit-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 = "l";
		};

		nvidia,dai-link-5 {
			link-name = "spdif-dit-0";
			cpu-dai = <&tegra_i2s4>;
			codec-dai = <&spdif_dit0>;
			cpu-dai-name = "I2S4";
			codec-dai-name = "dit-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 = "s";
		};
	};
        adsp_audio {
        plugin-info-5 {
			plugin-name = "aec";
			firmware-name = "nvoice.elf";
			widget-name = "AEC";
			param-type = <2>; /* SNDRV_CTL_ELEM_TYPE_INTEGER */
		};
        }
        i2c@7000c000 {
		rt5639: rt5639.0-001c@1c {
                        compatible = "realtek,rt5639";
                        reg = <0x1c>;
                };
		rt5659.0-001a@1a {
			status = "disabled";
		};
		rt5659.0-001b@1b {
			status = "disabled";
		};	
	};
  1. boot message
[    5.695923] sdhci: SDMMC Interrupt status: 0x00040000
[    5.698833] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[    5.731675] usb 2-1: reset SuperSpeed USB device number 2 using tegra-xhci
[    5.796407] nvadsp 702ef000.adsp: nvadsp_app_module_probe
[    5.806038] tegra_throttle : init passed
[    5.808327] r8152 2-1:1.0 eth0: v2.03.3 (2015/01/29)
[    5.808333] r8152 2-1:1.0 eth0: This product is covered by one or more of the following patents:
[    5.808333]          US6,570,884, US6,115,776, and US6,327,625.
[    5.808333]
[    5.831493] usb 1-3.2: new low-speed USB device number 5 using tegra-xhci
[    5.850610] cpu-tegra: init EDP limit: 1224 MHz
[    5.857066] usb 1-3.2: New USB device found, idVendor=1c4f, idProduct=000e
[    5.857072] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.857076] usb 1-3.2: Product: USB Keykoard
[    5.857080] usb 1-3.2: Manufacturer: SIGMACH1P
[    5.857359] usb 1-3.2: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[    5.857389] usb 1-3.2: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
[    5.860972] input: SIGMACH1P USB Keykoard as /devices/platform/tegra-xhci/usb1/1-3/1-3.2/1-3.2:1.0/input/input0
[    5.861253] hid-generic 0003:1C4F:000E.0001: input,hidraw0: USB HID v1.10 Keyboard [SIGMACH1P USB Keykoard] on usb-tegra-xhci-3.2/input0
[    5.942405] pll_x: not ready for dynamic ramp to 921600000
[    5.950551] pll_x: not ready for dynamic ramp to 921600000
[    5.970277] soctherm: prog thresholds
[    5.976776] soctherm: prog thresholds
[    5.983249] soctherm: tz:2 not found, skip thresh prog
[    5.991210] soctherm: prog thresholds
[    5.997658] soctherm: skipping sensor 4 programming
[    6.005330] soctherm: skipping sensor 5 programming
[    6.012966] soctherm: trip_point temp 127500 forced to 127000
[    6.029438] usbcore: registered new interface driver snd-usb-audio
[    6.039264] [3531][rt5639_i2c_probe]etta
[    6.054502] tegra210-i2s tegra210-i2s.0: Missing prop fsync-width for I2S0
[    6.064869] tegra210-i2s tegra210-i2s.2: Missing prop fsync-width for I2S2
[    6.074656] tegra210-i2s tegra210-i2s.3: Missing prop fsync-width for I2S3
[    6.084439] tegra210-i2s tegra210-i2s.4: Missing prop fsync-width for I2S4
[    6.098394] OPE platform probe
[    6.104265] OPE platform probe successful
[    6.110913] OPE platform probe
[    6.116682] OPE platform probe successful
[    6.123355] tegra210_adsp_audio_platform_probe: platform probe started
[    6.133714] tegra210-adsp adsp_audio.3: Default param-type to BYTE for mp3-dec1
[    6.143944] tegra210-adsp adsp_audio.3: Default param-type to BYTE for spkprot
[    6.154160] tegra210-adsp adsp_audio.3: Default param-type to BYTE for src
[    6.163960] tegra210-adsp adsp_audio.3: Default param-type to BYTE for aac-dec1
[    6.174344] tegra210_adsp_audio_platform_probe probe successfull.[710][tegra_t210ref_driver_probe]etta
[    6.391405] [3597][snd_soc_register_card]etta[card->num_links= 107]
[    6.458788] tegra210-ape-admaif tegra210-admaif: ASoC: Failed to create codec debugfs directory
[    6.471902] tegra210-adsp adsp_audio.3: ASoC: Failed to create platform debugfs directory
[    6.501609] rt5639 0-001c: Codec Settling took 0 ms
[    6.521575] rt5639 0-001c: read 0xfd=0x6
[    6.547051] rt5639 0-001c: ASoC: mux x INR Mux has no paths
[    6.555617] rt5639 0-001c: ASoC: mux x INL Mux has no paths
[    6.577959] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF1 <-> ADMAIF1 mapping ok
[    6.589925] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF2 <-> ADMAIF2 mapping ok
[    6.601806] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF3 <-> ADMAIF3 mapping ok
[    6.613573] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF4 <-> ADMAIF4 mapping ok
[    6.625293] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF5 <-> ADMAIF5 mapping ok
[    6.636953] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF6 <-> ADMAIF6 mapping ok
[    6.648528] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF7 <-> ADMAIF7 mapping ok
[    6.660063] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF8 <-> ADMAIF8 mapping ok
[    6.671557] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF9 <-> ADMAIF9 mapping ok
[    6.682961] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADMAIF10 <-> ADMAIF10 mapping ok
[    6.749066] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADSP-FE1 <-> ADSP PCM1 mapping ok
[    6.760036] tegra-snd-t210ref-mobile-rt5639 sound.27:  ADSP-FE2 <-> ADSP PCM2 mapping ok
[    6.770904] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[    6.779421] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[    6.788344] gpio wake4 for gpio=38
[    6.793991] [116][tegra_t210ref_jack_notifier]ETTA
[    6.800874] [2153][tegra_machine_get_codec_dai_link_idx]etta[num_dai_links= 107][idx= 97]
[    6.811279] [2160][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    6.821139] [2164][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    6.855127] input: tegra-snd-t210ref-mobile-rt5639 Headphone Jack as /devices/platform/sound.27/sound/card1/input1
[    6.871558] [890][tegra_t210ref_driver_probe]ETTA
[    6.878609] [2153][tegra_machine_get_codec_dai_link_idx]etta[num_dai_links= 107][idx= 97]
[    6.889231] [2160][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    6.899372] [2164][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    6.910993] GACT probability NOT on
[    6.916927] Mirror/redirect action on
[    6.922956] u32 classifier
[    6.927954]     Actions configured
[    6.933705] Netfilter messages via NETLINK v0.30.
[    6.940846] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    6.949647] ctnetlink v0.93: registering with nfnetlink.
[    6.957511] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    6.966996] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    6.975685] xt_time: kernel timezone is -0000
[    6.982730] ipip: IPv4 over IPv4 tunneling driver
[    6.990370] ip_tables: (C) 2000-2006 Netfilter Core Team
[    6.998412] arp_tables: (C) 2002 David S. Miller
[    7.005659] TCP: cubic registered
[    7.011619] Initializing XFRM netlink socket
[    7.018637] NET: Registered protocol family 10
[    7.026434] mip6: Mobile IPv6
[    7.031992] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    7.040011] sit: IPv6 over IPv4 tunneling driver
[    7.047867] NET: Registered protocol family 17
[    7.054758] [116][tegra_t210ref_jack_notifier]ETTA
[    7.061990] [2153][tegra_machine_get_codec_dai_link_idx]etta[num_dai_links= 107][idx= 97]
[    7.062031] NET: Registered protocol family 15
[    7.079673] [2160][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    7.079708] Bridge firewalling registered
[    7.079719] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    7.079728] Bluetooth: HIDP socket layer initialized
[    7.079752] NET: Registered protocol family 35
[    7.120023] [2164][tegra_machine_get_codec_dai_link_idx]etta[name= rt5639-playback]
[    7.120043] Key type dns_resolver registered
[    7.120047] NET: Registered protocol family 41
[    7.145130] rt5639 0-001c: rt5639_headset_detect jack_type = 1
[    7.146825] Registering SWP/SWPB emulation handler
[    7.170258] isp isp.0: initialized
[    7.177996] isp isp.1: initialized
[    7.184737] vdd_gpu: disabling
[    7.190764] en-vdd-vcm-2v8: disabling
[    7.197441] usb-vbus3: disabling

3.command message

ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="I2S1 Mux" 20
numid=557,iface=MIXER,name='I2S1 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=55
  ; 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 'SPDIF1-1'
  ; Item #28 'SPDIF1-2'
  ; Item #29 'AFC1'
  ; Item #30 'AFC2'
  ; Item #31 'AFC3'
  ; Item #32 'AFC4'
  ; Item #33 'AFC5'
  ; Item #34 'AFC6'
  ; Item #35 'OPE1'
  ; Item #36 'OPE2'
  ; Item #37 'SPKPROT1'
  ; Item #38 'MVC1'
  ; Item #39 'MVC2'
  ; Item #40 'IQC1-1'
  ; Item #41 'IQC1-2'
  ; Item #42 'IQC2-1'
  ; Item #43 'IQC2-2'
  ; Item #44 'DMIC1'
  ; Item #45 'DMIC2'
  ; Item #46 'DMIC3'
  ; Item #47 'ADX1-1'
  ; Item #48 'ADX1-2'
  ; Item #49 'ADX1-3'
  ; Item #50 'ADX1-4'
  ; Item #51 'ADX2-1'
  ; Item #52 'ADX2-2'
  ; Item #53 'ADX2-3'
  ; Item #54 'ADX2-4'
  : values=20
ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="MIXER1-1 Mux" 1
numid=548,iface=MIXER,name='MIXER1-1 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=55
  ; 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 'SPDIF1-1'
  ; Item #28 'SPDIF1-2'
  ; Item #29 'AFC1'
  ; Item #30 'AFC2'
  ; Item #31 'AFC3'
  ; Item #32 'AFC4'
  ; Item #33 'AFC5'
  ; Item #34 'AFC6'
  ; Item #35 'OPE1'
  ; Item #36 'OPE2'
  ; Item #37 'SPKPROT1'
  ; Item #38 'MVC1'
  ; Item #39 'MVC2'
  ; Item #40 'IQC1-1'
  ; Item #41 'IQC1-2'
  ; Item #42 'IQC2-1'
  ; Item #43 'IQC2-2'
  ; Item #44 'DMIC1'
  ; Item #45 'DMIC2'
  ; Item #46 'DMIC3'
  ; Item #47 'ADX1-1'
  ; Item #48 'ADX1-2'
  ; Item #49 'ADX1-3'
  ; Item #50 'ADX1-4'
  ; Item #51 'ADX2-1'
  ; Item #52 'ADX2-2'
  ; Item #53 'ADX2-3'
  ; Item #54 'ADX2-4'
  : values=1
ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="Adder1 RX1" 1
numid=506,iface=MIXER,name='Adder1 RX1'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="Mixer Enable" 1
numid=151,iface=MIXER,name='Mixer Enable'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="ADMAIF1 Mux" 11
numid=567,iface=MIXER,name='ADMAIF1 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=55
  ; 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 'SPDIF1-1'
  ; Item #28 'SPDIF1-2'
  ; Item #29 'AFC1'
  ; Item #30 'AFC2'
  ; Item #31 'AFC3'
  ; Item #32 'AFC4'
  ; Item #33 'AFC5'
  ; Item #34 'AFC6'
  ; Item #35 'OPE1'
  ; Item #36 'OPE2'
  ; Item #37 'SPKPROT1'
  ; Item #38 'MVC1'
  ; Item #39 'MVC2'
  ; Item #40 'IQC1-1'
  ; Item #41 'IQC1-2'
  ; Item #42 'IQC2-1'
  ; Item #43 'IQC2-2'
  ; Item #44 'DMIC1'
  ; Item #45 'DMIC2'
  ; Item #46 'DMIC3'
  ; Item #47 'ADX1-1'
  ; Item #48 'ADX1-2'
  ; Item #49 'ADX1-3'
  ; Item #50 'ADX1-4'
  ; Item #51 'ADX2-1'
  ; Item #52 'ADX2-2'
  ; Item #53 'ADX2-3'
  ; Item #54 'ADX2-4'
  : values=11
ubuntu@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="x Int Spk Switch" 1
numid=568,iface=MIXER,name='x Int Spk Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
olume" 32gra-ubuntu:~$ amixer cset -c tegrasndt210ref name="x Speaker Playback V
numid=291,iface=MIXER,name='x Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-46.50dB,step=1.50dB,mute=0
tch" 1@tegra-ubuntu:~$ amixer cset -c tegrasndt210ref name="x Headphone Jack Swi
numid=569,iface=MIXER,name='x Headphone Jack Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
ubuntu@tegra-ubuntu:~$ amixer sset -c tegrasndt210ref 'MIXER1-1 Mux' 'ADMAIF1'
Simple mixer control 'MIXER1-1 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'I2S1' 'I2S2' 'I2S3' 'I2S4' 'I2S5' 'SFC1' 'SFC2' 'SFC3' 'SFC4' 'MIXER1-1' 'MIXER1-2' 'MIXER1-3' 'MIXER1-4' 'MIXER1-5' 'AMX1' 'AMX2' 'SPDIF1-1' 'SPDIF1-2' 'AFC1' 'AFC2' 'AFC3' 'AFC4' 'AFC5' 'AFC6' 'OPE1' 'OPE2' 'SPKPROT1' 'MVC1' 'MVC2' 'IQC1-1' 'IQC1-2' 'IQC2-1' 'IQC2-2' 'DMIC1' 'DMIC2' 'DMIC3' 'ADX1-1' 'ADX1-2' 'ADX1-3' 'ADX1-4' 'ADX2-1' 'ADX2-2' 'ADX2-3' 'ADX2-4'
  Item0: 'ADMAIF1'
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ amixer sset -c tegrasndt210ref 'I2S1 Mux' 'MIXER1-1'
Simple mixer control 'I2S1 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'I2S1' 'I2S2' 'I2S3' 'I2S4' 'I2S5' 'SFC1' 'SFC2' 'SFC3' 'SFC4' 'MIXER1-1' 'MIXER1-2' 'MIXER1-3' 'MIXER1-4' 'MIXER1-5' 'AMX1' 'AMX2' 'SPDIF1-1' 'SPDIF1-2' 'AFC1' 'AFC2' 'AFC3' 'AFC4' 'AFC5' 'AFC6' 'OPE1' 'OPE2' 'SPKPROT1' 'MVC1' 'MVC2' 'IQC1-1' 'IQC1-2' 'IQC2-1' 'IQC2-2' 'DMIC1' 'DMIC2' 'DMIC3' 'ADX1-1' 'ADX1-2' 'ADX1-3' 'ADX1-4' 'ADX2-1' 'ADX2-2' 'ADX2-3' 'ADX2-4'
  Item0: 'MIXER1-1'
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ aplay -Dhw:1,0 ./test.wav
Playing WAVE './test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

^CAborted by signal Interrupt...
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
  1. i check the /proc/device-tree but some information is wrong
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# ls
avdd-supply     linux,phandle         nvidia,dai-link-4      nvidia,xbar
compatible      name                  nvidia,dai-link-5      phandle
dbvdd-supply    nvidia,audio-routing  nvidia,hp-det-gpios    spkvdd-supply
dmicvdd-supply  nvidia,dai-link-1     nvidia,ldo-gpios       status
iommus          nvidia,dai-link-2     nvidia,model
ldoen-supply    nvidia,dai-link-3     nvidia,num-codec-link
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat avdd-supply
^root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat compatible
nvidia,tegra-audio-t210ref-mobile-rt5639root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat dbvdd-supply
^root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat
^C
root@tegra-ubuntu:/proc/device-tree/sound# cat dmicvdd-supply
Vroot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat iommus
F"root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat ldoen-supply
^root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat linux,phandle
oot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat name
soundroot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,audio-routing
x Headphone Jackx HPOLx Headphone Jackx HPORx Int Spkx SPORPx Int Spkx SPORNx Int Spkx SPOLPx Int Spkx SPOLNx micbias1x Mic Jackx IN2Px Mic Jackx DMIC L1x Int Micx DMIC L2x Int Micx DMIC R1x Int Micx DMIC R2x Int Micy Headphoney OUTy INy Micz Headphonez OUTz INz Micl INl OUTs Headphones OUTs INs Microot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,hp-det-gpios
_&root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,ldo-gpios
_菡oot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,model
tegra-snd-t210ref-mobile-rt5639root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,num-codec-link
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat nvidia,xbar
`root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat phandle
oot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat spkvdd-supply
^root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cat status
okayroot@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound#
root@tegra-ubuntu:/proc/device-tree/sound# cd nvidia,dai-link-1
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# ls
bclk_ratio             codec-dai       format              link-name    srate
bitclock-noninversion  codec-dai-name  frame-noninversion  name
bitclock-slave         cpu-dai         frame-slave         name-prefix
bit-format             cpu-dai-name    ignore_suspend      num-channel
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat bclk_ratio
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
ersionegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat bitclock-noninv
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat bitclock-slave
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat bit-format
s16_leroot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat codec-dai
broot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat codec-dai-name
rt5639-aif1root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat cpu-dai
aroot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat cpu-dai-name
I2S1root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat format
i2sroot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
iont@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat frame-noninvers
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat frame-slave
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat ignore_suspend
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat link-name
rt5639-playbackroot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat name
nvidia,dai-link-1root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat name-prefix
xroot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat num-channel
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1# cat srate
裸oot@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#
root@tegra-ubuntu:/proc/device-tree/sound/nvidia,dai-link-1#

i can make sure the dts is work,because if i remove the <nvidia,ldo-gpios> my audio can’t reset after boot up.

Whether or not insert headset into the audio connector the message always show
[ 6.304774] rt5639 0-001c: rt5639_headset_detect jack_type = 1

how can i debug my audio codec?

For debugging tips, please refer to https://devtalk.nvidia.com/default/topic/960938/

Please try the patch also

gpio@6000d000 {
    gpio_default: default {
        gpio-to-sfio = <8 9 10 11 216 219>;
    };
};

Hi etta,

Did you have to change the rt5639 0-001c address in any other areas? for some reason when I compile it doesn’t recognize the address and therefore the driver.

Or change any other files?

thanks