2 ALC5640 port to NANO

Hi, I’m working on our custom board using Nano and we used 2 ALC5640 to capture and playback audio individually.
Accroding to

I configured the dts as follows

	i2c@7000c000 {
		rt5640_in: rt5640_in@1c {
			status = "okay";
			compatible = "realtek,rt5640";
        	reg = <0x1c>;
		};
	};
	i2c@7000c400 {
		rt5640_out: rt5640_out@1c {
			status = "okay";
			compatible = "realtek,rt5640";
        	reg = <0x1c>;	
		};
	};
........
tegra_sound: sound {
		status = "okay";
		compatible = "nvidia,tegra-audio-t210ref-mobile-rt565x";
		nvidia,model = "tegra-snd-t210ref-mobile-rt5640";

		clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
			 <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
			 <&tegra_car TEGRA210_CLK_EXTERN1>;
		clock-names = "pll_a", "pll_a_out0", "extern1";
		assigned-clocks = <&tegra_car TEGRA210_CLK_EXTERN1>,
				  <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
				  <&tegra_car TEGRA210_CLK_PLL_A>;
		assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
		assigned-clock-rates = <12288000>, <49152000>, <368640000>;

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

		nvidia,audio-routing =
			"x IN2P"     , "x Mic",
			"x IN2N"     , "x Mic", 
			"y Headphone", "y LOUTL",
			"y Headphone", "y LOUTR",
			"y Headphone", "y HPOR",
			"y Headphone", "y HPOL";


		nvidia,xbar = <&tegra_axbar>;
		mclk-fs = <256>;

		/*audio input*/
		hdr40_snd_link_i2s: i2s_dai_link1: nvidia,dai-link-1 {
			link-name = "rt5640-capture";
			cpu-dai = <&tegra_i2s4>;
			codec-dai = <&rt5640_in>;
			cpu-dai-name = "I2S4";
			codec-dai-name = "rt5640-aif1";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "x";
			status = "okay";
		};

		/*audio output*/
		nvidia,dai-link-2 {
			link-name = "rt5640-playback";
			cpu-dai = <&tegra_i2s3>;
			codec-dai = <&rt5640_out>;
			cpu-dai-name = "I2S3";
			codec-dai-name = "rt5640-aif1";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "y";
			status = "okay";
		};
	};

	/*I2S*/
	ahub {
		i2s@702d1000 {
			status = "okay";
		};

		i2s@702d1300 {
			status = "okay";
		};
	};

And modified the tegra_machine_driver_mobile.c to regist our two codecs.
After flash our board and boot it, there is no error in codec register and can see two codec.

But when I tried to test the line-out route by

amixer -c tegrasndt210ref cset name='y HP L Playback Switch' on
amixer -c tegrasndt210ref cset name='y HP R Playback Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXL DAC L1 Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXR DAC R1 Switch' on
amixer -c tegrasndt210ref cset name='y HPO MIX DAC1 Switch' on

aplay -D hw:1,2 story_long.wav

I get these error message

nvidia@nvidia:~$ aplay -D hw:1,2 story_long.wav
Playing WAVE 'story_long.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
underrun!!! (at least 0.333 ms long)
underrun!!! (at least 0.296 ms long)

Recording to the topics above, I tried these and get this information

echo 0 | sudo tee /sys/kernel/debug/tracing/trace
echo 0 | sudo tee /sys/kernel/debug/tracing/events/enable
echo 1 | sudo tee /sys/kernel/debug/tracing/tracing_on
echo 1 | sudo tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_path/enable
echo 1 | sudo tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_widget_power/enable
aplay ...
sudo cat /sys/kernel/debug/tracing/trace


# tracer: nop
#
# entries-in-buffer/entries-written: 2/2   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
           aplay-10310 [000] ....   396.108511: snd_soc_dapm_path: *ADMAIF3 Receive <- (direct) <- Playback 3
           aplay-10310 [000] ....   396.108543: snd_soc_dapm_path: *ADMAIF3 Receive <- (direct) <- ADMAIF3 CIF Receive-ADMAIF3 Receive

I wonder how to fix this problem, beacause I’m really know nothing about codec configuration.

Thanks!!

I want to test the line-out route and it uses I2S3 to playback
The topics in forums only use one codec and I2S4, and all I knoe is the ADMAIF1 is mapped to I2S4, but I don’t know how I2S3 map.
Here is the information of ADMAIF MUX

nvidia@nvidia:~$ amixer -c tegrasndt210ref sget "ADMAIF1 Mux"
Simple mixer control 'ADMAIF1 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' '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: 'I2S4'
nvidia@nvidia:~$
nvidia@nvidia:~$ amixer -c tegrasndt210ref sget "ADMAIF2 Mux"
Simple mixer control 'ADMAIF2 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' '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: 'None'
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$ amixer -c tegrasndt210ref sget "ADMAIF3 Mux"
Simple mixer control 'ADMAIF3 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' '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: 'None'

I think this is the reason I can not use the playback, I2S3 is not mapped to any ADMAIF MUX
How can I fix this?
Thanks

By the way, I’m really confused by nano’s I2S name.
In pinmux excel there is I2S3(I2S1) I2S4(I2S0)
but in device tree, there is tegra_i2s1-5,I don’t know which is mapped to which. All I can know is tegra_i2s4: i2s@702d1300 is I2S4 because it’s said in dt. I find in other topic says that I2S1 is I2S3 so I enable i2s@702d1000 for I2S3. But tegra_i2s1 seems not working.
I hope you can upgrade the documentaion to inform the clear realtion about name and device tree node.

Hi ,I used

amixer -c tegrasndt210ref cset name='y LOUT MIX DAC L1 Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX DAC R1 Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX OUTVOL L Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX OUTVOL R Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXL DAC L1 Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXR DAC R1 Switch' on
amixer -c tegrasndt210ref cset name='y HPO MIX DAC1 Switch' on

to enable the Lineout route not headphone or speaker and I can see more infomation in trace as below

nvidia@nvidia:~$ aplay -D hw:1,1 story_long.wav
Playing WAVE 'story_long.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$ sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 24/24   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
           aplay-9556  [000] ....   284.795317: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- Playback 2
           aplay-9556  [000] ....   284.795359: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- ADMAIF2 CIF Receive-ADMAIF2 Receive
          amixer-12641 [002] ....   814.811565: snd_soc_dapm_path: *y DAC L1 -> DAC L1 Switch -> y LOUT MIX
          amixer-12641 [002] ....   814.811569: snd_soc_dapm_path: *y LOUT MIX -> (direct) -> y LOUT amp
          amixer-12641 [002] ....   814.811571: snd_soc_dapm_path: *y LOUT amp -> (direct) -> y LOUTR
          amixer-12641 [002] ....   814.811572: snd_soc_dapm_path: *y LOUTR -> (direct) -> y Headphone
          amixer-12641 [002] ....   814.811574: snd_soc_dapm_path: *y LOUT amp -> (direct) -> y LOUTL
          amixer-12641 [002] ....   814.811575: snd_soc_dapm_path: *y LOUTL -> (direct) -> y Headphone
          amixer-12641 [002] ....   814.811576: snd_soc_dapm_path: *y DAC L1 -> HPO MIX DAC1 Switch -> y HPO MIX L
          amixer-12641 [002] ....   814.811577: snd_soc_dapm_path:  y DAC L1 -> DAC L1 Switch -> y SPOL MIX
          amixer-12641 [002] ....   814.811579: snd_soc_dapm_path:  y DAC L1 -> DAC L1 Switch -> y OUT MIXL
          amixer-12641 [002] ....   814.811580: snd_soc_dapm_path:  y DAC L1 -> DAC L1 Switch -> y SPK MIXL
          amixer-12642 [001] ....   814.825683: snd_soc_dapm_path: *y DAC R1 -> DAC R1 Switch -> y LOUT MIX
          amixer-12642 [001] ....   814.825687: snd_soc_dapm_path: *y DAC R1 -> HPO MIX DAC1 Switch -> y HPO MIX R
          amixer-12642 [001] ....   814.825688: snd_soc_dapm_path:  y DAC R1 -> DAC R1 Switch -> y SPOR MIX
          amixer-12642 [001] ....   814.825689: snd_soc_dapm_path:  y DAC R1 -> DAC R1 Switch -> y SPOL MIX
          amixer-12642 [001] ....   814.825690: snd_soc_dapm_path:  y DAC R1 -> DAC R1 Switch -> y OUT MIXR
          amixer-12642 [001] ....   814.825691: snd_soc_dapm_path:  y DAC R1 -> DAC R1 Switch -> y SPK MIXR
          amixer-12643 [001] ....   814.838619: snd_soc_dapm_path: *y OUTVOL L -> OUTVOL L Switch -> y LOUT MIX
          amixer-12643 [001] ....   814.838622: snd_soc_dapm_path:  y OUTVOL L -> OUTVOL L Switch -> y Mono MIX
          amixer-12644 [003] ....   814.851689: snd_soc_dapm_path: *y OUTVOL R -> OUTVOL R Switch -> y LOUT MIX
          amixer-12644 [003] ....   814.851692: snd_soc_dapm_path:  y OUTVOL R -> OUTVOL R Switch -> y Mono MIX
           aplay-12744 [000] ....   835.462874: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- Playback 2
           aplay-12744 [000] ....   835.462894: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- ADMAIF2 CIF Receive-ADMAIF2 Receive

But there is no audio out, our wav file contains 3:45 sound but aplay only goes seconds and end.

Hi 854053437,

This appears same as below one. It would have been better to continue the discussion in the original thread.

Having said above, I think you haven’t connected audio routes properly.
It seems to me that you are interested in playing on I2S3 so please connect ADMAIF1 to I2S3 and playback with below commands:

amixer -c tegrasndt210ref cset name='I2S3 Mux" 'ADMAIF1"
aplay -D hw:1,0 story_long.wav

Please note that it is possible to route any ADMAIF stream to any I2S. So even though by default it may be connected to I2S4, it is possible to re-reroute the same to a different I2S like above.

Provide your observations with above. If you still don’t hear the audio, then perform following debug steps:

  • Probe I2S3 clock lines during aplay and confirm if clocks are as expected.
  • Check if you see any errors during playback and share all the relevant logs. In the DAPM trace you should see I2S3 routes getting activated.

Yes, but this thread has been closed automatilly by system so I take a new thread.

No, we have two codec conected to nano, one is for line-in using I2S4 and another is for line-out using I2S3. We have to confirm both can work, but now I only have line-out device to test.
So I2S4 for ADMAIF1 and I2S3 for ADMAIF2, I can get nothing if I set as you mention, just get the original information

nvidia@nvidia:~$ aplay -D hw:1,0 story_long.wav
Playing WAVE 'story_long.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
underrun!!! (at least 0.901 ms long)
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$ sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 2/2   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
           aplay-9651  [000] ....   289.769135: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- Playback 1
           aplay-9651  [000] ....   289.769169: snd_soc_dapm_path: *ADMAIF1 Receive <- (direct) <- ADMAIF1 CIF Receive-ADMAIF1 Receive
nvidia@nvidia:~$

I mean device0 is for line-in (dai-link-1, prefix=‘x’)and device1 is for line-out(dai-link-2,prefix=‘y’), is that right?

dai-link-1 uses I2S4 (and prefix = “x”), so as per your requirement it is line-in for you.
dai-link-2 uses I2S3 (and prefix = “y”) and it is line-out for you.

If you refer to device tree references for above it will be clear.

Since you mentioned, you are able to register the codecs, I assume you made proper changes to the device tree. For reference, you can upload the changes you made.

Did you run this command before running the following aplay command?
aplay -D hw:1,0 story_long.wav

DAPM trace dump should show up I2S and codec routes if it is set up properly.

The device tree I used for coedec are

i2c@7000c000 {
		rt5640_in: rt5640_in@1c {
			status = "okay";
			compatible = "realtek,rt5640";
        	reg = <0x1c>;
		};
	};
	i2c@7000c400 {
		rt5640_out: rt5640_out@1c {
			status = "okay";
			compatible = "realtek,rt5640";
        	reg = <0x1c>;	
		};
	};
........
tegra_sound: sound {
		status = "okay";
		compatible = "nvidia,tegra-audio-t210ref-mobile-rt565x";
		nvidia,model = "tegra-snd-t210ref-mobile-rt5640";

		clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
			 <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
			 <&tegra_car TEGRA210_CLK_EXTERN1>;
		clock-names = "pll_a", "pll_a_out0", "extern1";
		assigned-clocks = <&tegra_car TEGRA210_CLK_EXTERN1>,
				  <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
				  <&tegra_car TEGRA210_CLK_PLL_A>;
		assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
		assigned-clock-rates = <12288000>, <49152000>, <368640000>;

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

		nvidia,audio-routing =
			"x IN2P"     , "x Mic",
			"x IN2N"     , "x Mic", 
			"y Headphone", "y LOUTL",
			"y Headphone", "y LOUTR";

		nvidia,xbar = <&tegra_axbar>;
		mclk-fs = <256>;

		/*audio input*/
		hdr40_snd_link_i2s: i2s_dai_link1: nvidia,dai-link-1 {
			link-name = "rt5640-capture";
			cpu-dai = <&tegra_i2s4>;
			codec-dai = <&rt5640_in>;
			cpu-dai-name = "I2S4";
			codec-dai-name = "rt5640-aif1";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "x";
			status = "okay";
		};

		/*audio output*/
		nvidia,dai-link-2 {
			link-name = "rt5640-playback";
			cpu-dai = <&tegra_i2s3>;
			codec-dai = <&rt5640_out>;
			cpu-dai-name = "I2S3";
			codec-dai-name = "rt5640-aif2";
			format = "i2s";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s16_le";
			srate = <48000>;
			num-channel = <2>;
			ignore_suspend;
			name-prefix = "y";
			status = "okay";
		};
	};

	/*I2S*/
	ahub {
		i2s@702d1200 {
			status = "okay";
		};

		i2s@702d1300 {
			status = "okay";
		};
	};

Yes, I did the full command. The trace have nothing, but I use aplay -D hw:1,1 story_long.wav, I can see the dapm path

I tried this and get different trace print

nvidia@nvidia:~$ amixer -c tegrasndt210ref sset "ADMAIF2 Mux" I2S3
Simple mixer control 'ADMAIF2 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' '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: 'I2S3'
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$ aplay -D hw:1,1 story_long.wav
Playing WAVE 'story_long.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$
nvidia@nvidia:~$ sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 57/57   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
           aplay-8582  [000] ....   231.630092: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- Playback 2
           aplay-8582  [000] ....   231.630126: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- ADMAIF2 CIF Receive-ADMAIF2 Receive
          amixer-8765  [002] ....   258.929386: snd_soc_dapm_path: *ADMAIF2 RX <- (direct) <- ADMAIF2 Receive
          amixer-8765  [002] ....   258.929391: snd_soc_dapm_path:  I2S3 Mux <- OPE2 <- OPE2 RX
          amixer-8765  [002] ....   258.929392: snd_soc_dapm_path:  I2S3 Mux <- ADX2-4 <- ADX2-4 RX
          amixer-8765  [002] ....   258.929392: snd_soc_dapm_path:  I2S3 Mux <- ADX2-3 <- ADX2-3 RX
          amixer-8765  [002] ....   258.929393: snd_soc_dapm_path:  I2S3 Mux <- ADX2-2 <- ADX2-2 RX
          amixer-8765  [002] ....   258.929394: snd_soc_dapm_path:  I2S3 Mux <- ADX2-1 <- ADX2-1 RX
          amixer-8765  [002] ....   258.929395: snd_soc_dapm_path:  I2S3 Mux <- AMX2 <- AMX2 RX
          amixer-8765  [002] ....   258.929395: snd_soc_dapm_path:  I2S3 Mux <- ADX1-4 <- ADX1-4 RX
          amixer-8765  [002] ....   258.929396: snd_soc_dapm_path:  I2S3 Mux <- ADX1-3 <- ADX1-3 RX
          amixer-8765  [002] ....   258.929397: snd_soc_dapm_path:  I2S3 Mux <- ADX1-2 <- ADX1-2 RX
          amixer-8765  [002] ....   258.929398: snd_soc_dapm_path:  I2S3 Mux <- ADX1-1 <- ADX1-1 RX
          amixer-8765  [002] ....   258.929398: snd_soc_dapm_path:  I2S3 Mux <- AMX1 <- AMX1 RX
          amixer-8765  [002] ....   258.929399: snd_soc_dapm_path:  I2S3 Mux <- DMIC3 <- DMIC3 RX
          amixer-8765  [002] ....   258.929400: snd_soc_dapm_path:  I2S3 Mux <- DMIC2 <- DMIC2 RX
          amixer-8765  [002] ....   258.929400: snd_soc_dapm_path:  I2S3 Mux <- DMIC1 <- DMIC1 RX
          amixer-8765  [002] ....   258.929401: snd_soc_dapm_path:  I2S3 Mux <- IQC2-2 <- IQC2-2 RX
          amixer-8765  [002] ....   258.929401: snd_soc_dapm_path:  I2S3 Mux <- IQC2-1 <- IQC2-1 RX
          amixer-8765  [002] ....   258.929402: snd_soc_dapm_path:  I2S3 Mux <- IQC1-2 <- IQC1-2 RX
          amixer-8765  [002] ....   258.929403: snd_soc_dapm_path:  I2S3 Mux <- IQC1-1 <- IQC1-1 RX
          amixer-8765  [002] ....   258.929403: snd_soc_dapm_path:  I2S3 Mux <- MVC2 <- MVC2 RX
          amixer-8765  [002] ....   258.929404: snd_soc_dapm_path:  I2S3 Mux <- MVC1 <- MVC1 RX
          amixer-8765  [002] ....   258.929405: snd_soc_dapm_path:  I2S3 Mux <- OPE1 <- OPE1 RX
          amixer-8765  [002] ....   258.929405: snd_soc_dapm_path:  I2S3 Mux <- AFC6 <- AFC6 RX
          amixer-8765  [002] ....   258.929406: snd_soc_dapm_path:  I2S3 Mux <- AFC5 <- AFC5 RX
          amixer-8765  [002] ....   258.929407: snd_soc_dapm_path:  I2S3 Mux <- AFC4 <- AFC4 RX
          amixer-8765  [002] ....   258.929407: snd_soc_dapm_path:  I2S3 Mux <- AFC3 <- AFC3 RX
          amixer-8765  [002] ....   258.929408: snd_soc_dapm_path:  I2S3 Mux <- AFC2 <- AFC2 RX
          amixer-8765  [002] ....   258.929408: snd_soc_dapm_path:  I2S3 Mux <- AFC1 <- AFC1 RX
          amixer-8765  [002] ....   258.929409: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-5 <- MIXER1-5 RX
          amixer-8765  [002] ....   258.929410: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-4 <- MIXER1-4 RX
          amixer-8765  [002] ....   258.929410: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-3 <- MIXER1-3 RX
          amixer-8765  [002] ....   258.929411: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-2 <- MIXER1-2 RX
          amixer-8765  [002] ....   258.929412: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-1 <- MIXER1-1 RX
          amixer-8765  [002] ....   258.929413: snd_soc_dapm_path:  I2S3 Mux <- SFC4 <- SFC4 RX
          amixer-8765  [002] ....   258.929413: snd_soc_dapm_path:  I2S3 Mux <- SFC3 <- SFC3 RX
          amixer-8765  [002] ....   258.929414: snd_soc_dapm_path:  I2S3 Mux <- SFC2 <- SFC2 RX
          amixer-8765  [002] ....   258.929414: snd_soc_dapm_path:  I2S3 Mux <- SFC1 <- SFC1 RX
          amixer-8765  [002] ....   258.929415: snd_soc_dapm_path:  I2S3 Mux <- I2S5 <- I2S5 RX
          amixer-8765  [002] ....   258.929415: snd_soc_dapm_path:  I2S3 Mux <- I2S4 <- I2S4 RX
          amixer-8765  [002] ....   258.929416: snd_soc_dapm_path:  I2S3 Mux <- I2S3 <- I2S3 RX
          amixer-8765  [002] ....   258.929417: snd_soc_dapm_path:  I2S3 Mux <- I2S2 <- I2S2 RX
          amixer-8765  [002] ....   258.929417: snd_soc_dapm_path:  I2S3 Mux <- I2S1 <- I2S1 RX
          amixer-8765  [002] ....   258.929418: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF10 <- ADMAIF10 RX
          amixer-8765  [002] ....   258.929419: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF9 <- ADMAIF9 RX
          amixer-8765  [002] ....   258.929419: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF8 <- ADMAIF8 RX
          amixer-8765  [002] ....   258.929420: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF7 <- ADMAIF7 RX
          amixer-8765  [002] ....   258.929420: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF6 <- ADMAIF6 RX
          amixer-8765  [002] ....   258.929421: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF5 <- ADMAIF5 RX
          amixer-8765  [002] ....   258.929422: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF4 <- ADMAIF4 RX
          amixer-8765  [002] ....   258.929422: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF3 <- ADMAIF3 RX
          amixer-8765  [002] ....   258.929423: snd_soc_dapm_path: *I2S3 Mux <- ADMAIF2 <- ADMAIF2 RX
          amixer-8765  [002] ....   258.929424: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF1 <- ADMAIF1 RX
          amixer-8765  [002] ....   258.929425: snd_soc_dapm_path: *ADMAIF1 RX <- (direct) <- ADMAIF1 Receive
           aplay-8851  [000] ....   277.370378: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- Playback 2
           aplay-8851  [000] ....   277.370411: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- ADMAIF2 CIF Receive-ADMAIF2 Receive

I chenged the device tree in node sound to

		nvidia,audio-routing =
			"x IN2P"     , "x Line In",
			"x IN2N"     , "x Line In", 
			"y Line Out", "y LOUTL",
			"y Line Out", "y LOUTR";

But there is still these trace message


          amixer-12941 [000] ....   909.083472: snd_soc_dapm_path:  I2S3 Mux <- OPE2 <- OPE2 RX
          amixer-12941 [000] ....   909.083476: snd_soc_dapm_path:  I2S3 Mux <- ADX2-4 <- ADX2-4 RX
          amixer-12941 [000] ....   909.083477: snd_soc_dapm_path:  I2S3 Mux <- ADX2-3 <- ADX2-3 RX
          amixer-12941 [000] ....   909.083478: snd_soc_dapm_path:  I2S3 Mux <- ADX2-2 <- ADX2-2 RX
          amixer-12941 [000] ....   909.083479: snd_soc_dapm_path:  I2S3 Mux <- ADX2-1 <- ADX2-1 RX
          amixer-12941 [000] ....   909.083479: snd_soc_dapm_path:  I2S3 Mux <- AMX2 <- AMX2 RX
          amixer-12941 [000] ....   909.083480: snd_soc_dapm_path:  I2S3 Mux <- ADX1-4 <- ADX1-4 RX
          amixer-12941 [000] ....   909.083480: snd_soc_dapm_path:  I2S3 Mux <- ADX1-3 <- ADX1-3 RX
          amixer-12941 [000] ....   909.083481: snd_soc_dapm_path:  I2S3 Mux <- ADX1-2 <- ADX1-2 RX
          amixer-12941 [000] ....   909.083481: snd_soc_dapm_path:  I2S3 Mux <- ADX1-1 <- ADX1-1 RX
          amixer-12941 [000] ....   909.083482: snd_soc_dapm_path:  I2S3 Mux <- AMX1 <- AMX1 RX
          amixer-12941 [000] ....   909.083482: snd_soc_dapm_path:  I2S3 Mux <- DMIC3 <- DMIC3 RX
          amixer-12941 [000] ....   909.083483: snd_soc_dapm_path:  I2S3 Mux <- DMIC2 <- DMIC2 RX
          amixer-12941 [000] ....   909.083483: snd_soc_dapm_path:  I2S3 Mux <- DMIC1 <- DMIC1 RX
          amixer-12941 [000] ....   909.083484: snd_soc_dapm_path:  I2S3 Mux <- IQC2-2 <- IQC2-2 RX
          amixer-12941 [000] ....   909.083484: snd_soc_dapm_path:  I2S3 Mux <- IQC2-1 <- IQC2-1 RX
          amixer-12941 [000] ....   909.083485: snd_soc_dapm_path:  I2S3 Mux <- IQC1-2 <- IQC1-2 RX
          amixer-12941 [000] ....   909.083485: snd_soc_dapm_path:  I2S3 Mux <- IQC1-1 <- IQC1-1 RX
          amixer-12941 [000] ....   909.083486: snd_soc_dapm_path:  I2S3 Mux <- MVC2 <- MVC2 RX
          amixer-12941 [000] ....   909.083487: snd_soc_dapm_path:  I2S3 Mux <- MVC1 <- MVC1 RX
          amixer-12941 [000] ....   909.083487: snd_soc_dapm_path:  I2S3 Mux <- OPE1 <- OPE1 RX
          amixer-12941 [000] ....   909.083488: snd_soc_dapm_path:  I2S3 Mux <- AFC6 <- AFC6 RX
          amixer-12941 [000] ....   909.083488: snd_soc_dapm_path:  I2S3 Mux <- AFC5 <- AFC5 RX
          amixer-12941 [000] ....   909.083489: snd_soc_dapm_path:  I2S3 Mux <- AFC4 <- AFC4 RX
          amixer-12941 [000] ....   909.083489: snd_soc_dapm_path:  I2S3 Mux <- AFC3 <- AFC3 RX
          amixer-12941 [000] ....   909.083490: snd_soc_dapm_path:  I2S3 Mux <- AFC2 <- AFC2 RX
          amixer-12941 [000] ....   909.083490: snd_soc_dapm_path:  I2S3 Mux <- AFC1 <- AFC1 RX
          amixer-12941 [000] ....   909.083491: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-5 <- MIXER1-5 RX
          amixer-12941 [000] ....   909.083492: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-4 <- MIXER1-4 RX
          amixer-12941 [000] ....   909.083492: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-3 <- MIXER1-3 RX
          amixer-12941 [000] ....   909.083493: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-2 <- MIXER1-2 RX
          amixer-12941 [000] ....   909.083493: snd_soc_dapm_path:  I2S3 Mux <- MIXER1-1 <- MIXER1-1 RX
          amixer-12941 [000] ....   909.083494: snd_soc_dapm_path:  I2S3 Mux <- SFC4 <- SFC4 RX
          amixer-12941 [000] ....   909.083494: snd_soc_dapm_path:  I2S3 Mux <- SFC3 <- SFC3 RX
          amixer-12941 [000] ....   909.083495: snd_soc_dapm_path:  I2S3 Mux <- SFC2 <- SFC2 RX
          amixer-12941 [000] ....   909.083495: snd_soc_dapm_path:  I2S3 Mux <- SFC1 <- SFC1 RX
          amixer-12941 [000] ....   909.083496: snd_soc_dapm_path:  I2S3 Mux <- I2S5 <- I2S5 RX
          amixer-12941 [000] ....   909.083497: snd_soc_dapm_path:  I2S3 Mux <- I2S4 <- I2S4 RX
          amixer-12941 [000] ....   909.083497: snd_soc_dapm_path:  I2S3 Mux <- I2S3 <- I2S3 RX
          amixer-12941 [000] ....   909.083498: snd_soc_dapm_path:  I2S3 Mux <- I2S2 <- I2S2 RX
          amixer-12941 [000] ....   909.083498: snd_soc_dapm_path:  I2S3 Mux <- I2S1 <- I2S1 RX
          amixer-12941 [000] ....   909.083499: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF10 <- ADMAIF10 RX
          amixer-12941 [000] ....   909.083499: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF9 <- ADMAIF9 RX
          amixer-12941 [000] ....   909.083500: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF8 <- ADMAIF8 RX
          amixer-12941 [000] ....   909.083500: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF7 <- ADMAIF7 RX
          amixer-12941 [000] ....   909.083501: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF6 <- ADMAIF6 RX
          amixer-12941 [000] ....   909.083502: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF5 <- ADMAIF5 RX
          amixer-12941 [000] ....   909.083502: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF4 <- ADMAIF4 RX
          amixer-12941 [000] ....   909.083503: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF3 <- ADMAIF3 RX
          amixer-12941 [000] ....   909.083503: snd_soc_dapm_path: *I2S3 Mux <- ADMAIF2 <- ADMAIF2 RX
          amixer-12941 [000] ....   909.083504: snd_soc_dapm_path:  I2S3 Mux <- ADMAIF1 <- ADMAIF1 RX
          amixer-12941 [000] ....   909.083505: snd_soc_dapm_path: *ADMAIF1 RX <- (direct) <- ADMAIF1 Receive
           aplay-12972 [003] ....   917.899653: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- Playback 2
           aplay-12972 [003] ....   917.899658: snd_soc_dapm_path: *ADMAIF2 Receive <- (direct) <- ADMAIF2 CIF Receive-ADMAIF2 Receive

I have a question about the configuration, in this forums people just use mic and headphone to test audio.
I can see setting as below

# playback
$ amixer -c tegrasndt210ref cset name='x HP L Playback Switch' on
$ amixer -c tegrasndt210ref cset name='x HP R Playback Switch' on
$ amixer -c tegrasndt210ref cset name='x Stereo DAC MIXL DAC L1 Switch' on
$ amixer -c tegrasndt210ref cset name='x Stereo DAC MIXR DAC R1 Switch' on
$ amixer -c tegrasndt210ref cset name='x HPO MIX DAC1 Switch' on
# capture
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXL ADC2 Switch" 0
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXR ADC2 Switch" 0
$ amixer -c tegrasndt210ref cset name="x ADC Capture Switch" 1
$ amixer -c tegrasndt210ref cset name="x RECMIXL BST1 Switch" 0
$ amixer -c tegrasndt210ref cset name="x RECMIXR BST1 Switch" 0
$ amixer -c tegrasndt210ref cset name="x RECMIXL BST2 Switch" 1
$ amixer -c tegrasndt210ref cset name="x RECMIXR BST2 Switch" 1
$ amixer -c tegrasndt210ref cset name="x Stereo ADC L1 Mux" "ADC"
$ amixer -c tegrasndt210ref cset name="x Stereo ADC R1 Mux" "ADC"
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXL ADC1 Switch" 1
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXR ADC1 Switch" 1
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXL ADC2 Switch" 0
$ amixer -c tegrasndt210ref cset name="x Stereo ADC MIXR ADC2 Switch" 0
$ amixer -c tegrasndt210ref cset name="x IN1 Mode Control" "Single ended"
$ amixer -c tegrasndt210ref cset name="x IN2 Mode Control" "Single ended"

But if I only use line-in and line-out, how can I configure playback and capture feature?

Hi 854053437

For line out/in functionality, please check with the codec vendor which mixer control settings need to be set for the codec to enable respective configuration in the codec. I can help with getting signals out of your Nano device.

Also, since you are interested in line-out (I2S3) to begin with, you need to check controls with “y” prefix. For example, in above case you need to check corresponding control which is “y HP L Playback Switch”. However you need check with codec vendor which ones of controls with “y” prefix are required for LOUT functionality.

This trace looks OK till I2S3 Mux. I don’t see routes related to the audio codec here.

Actually these routes should be shown in DAPM trace along with I2S3 when you perform aplay. Do you see hw_params() call happening in the codec driver? If not, there is some issue with your I2S3 and codec mapping.

Hi, I add these settings and I can play music, thanks for help!

amixer -c tegrasndt210ref cset name="I2S3 Mux" "ADMAIF2"
amixer -c tegrasndt210ref cset name="ADMAIF2 Mux" "I2S3"
amixer -c tegrasndt210ref cset name='y LOUT MIX DAC L1 Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX DAC R1 Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX OUTVOL L Switch' on
amixer -c tegrasndt210ref cset name='y LOUT MIX OUTVOL R Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXL DAC L2 Switch' on
amixer -c tegrasndt210ref cset name='y Stereo DAC MIXR DAC R2 Switch' on
amixer -c tegrasndt210ref cset name='y HPO MIX DAC1 Switch' on

I should enable DAC L2/R2 for I2S3/hw:1,1

And I’ll try line-in

Hi,spujar
there is some issues in line-in test.
For our usage, we use codecs’s IN2 to record audio,then I used a dual 3.5mm cable to connect the line-in and line-out.
But when I play and record, I get this error message and no dmesg err, the play is just fine.

nvidia@nvidia:~$ arecord -D hw:1,0 -c 2 -r 48000 -f S16_LE -d 5 out.wav
Recording WAVE 'out.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2103: read error: Input/output error

nvidia@nvidia:~$ sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 2/2   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
         arecord-8147  [001] ....   105.343455: snd_soc_dapm_path: *ADMAIF1 Transmit -> (direct) -> Capture 1
         arecord-8147  [001] ....   105.343484: snd_soc_dapm_path: *ADMAIF1 Transmit -> (direct) -> ADMAIF1 Transmit-ADMAIF1 CIF Transmit

Can you please give some advice?
Thanks

I set like this, and record seems fine and can get output file, but there is no sound when I play it on PC

amixer -c tegrasndt210ref cset name="x ADC Capture Switch" 1
amixer -c tegrasndt210ref cset name="x ADC IF1 Data Switch" "1"
amixer -c tegrasndt210ref cset name="x RECMIXL BST1 Switch" 1
amixer -c tegrasndt210ref cset name="x RECMIXR BST1 Switch" 1
amixer -c tegrasndt210ref cset name="x RECMIXR INR Switch" 1
amixer -c tegrasndt210ref cset name="x RECMIXL INL Switch" 1
amixer -c tegrasndt210ref cset name="x Stereo ADC MIXL ADC1 Switch" 1
amixer -c tegrasndt210ref cset name="x Stereo ADC MIXR ADC1 Switch" 1

Here is the trace

 arecord-21200 [001] ....  2320.197894: snd_soc_dapm_path: *Capture 1 <- (direct) <- ADMAIF1 Transmit
         arecord-21200 [001] ....  2320.197900: snd_soc_dapm_path: *ADMAIF1 Transmit <- (direct) <- ADMAIF1 TX
         arecord-21200 [001] ....  2320.197903: snd_soc_dapm_path: *ADMAIF1 TX <- (direct) <- ADMAIF1 Mux
         arecord-21200 [001] ....  2320.197905: snd_soc_dapm_path:  ADMAIF1 Mux <- OPE2 <- OPE2 RX
         arecord-21200 [001] ....  2320.197907: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX2-4 <- ADX2-4 RX
         arecord-21200 [001] ....  2320.197909: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX2-3 <- ADX2-3 RX
         arecord-21200 [001] ....  2320.197913: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX2-2 <- ADX2-2 RX
         arecord-21200 [001] ....  2320.197915: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX2-1 <- ADX2-1 RX
         arecord-21200 [001] ....  2320.197917: snd_soc_dapm_path:  ADMAIF1 Mux <- AMX2 <- AMX2 RX
         arecord-21200 [001] ....  2320.197919: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX1-4 <- ADX1-4 RX
         arecord-21200 [001] ....  2320.197921: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX1-3 <- ADX1-3 RX
         arecord-21200 [001] ....  2320.197923: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX1-2 <- ADX1-2 RX
         arecord-21200 [001] ....  2320.197924: snd_soc_dapm_path:  ADMAIF1 Mux <- ADX1-1 <- ADX1-1 RX
         arecord-21200 [001] ....  2320.197926: snd_soc_dapm_path:  ADMAIF1 Mux <- AMX1 <- AMX1 RX
         arecord-21200 [001] ....  2320.197927: snd_soc_dapm_path:  ADMAIF1 Mux <- DMIC3 <- DMIC3 RX
         arecord-21200 [001] ....  2320.197930: snd_soc_dapm_path:  ADMAIF1 Mux <- DMIC2 <- DMIC2 RX
         arecord-21200 [001] ....  2320.197931: snd_soc_dapm_path:  ADMAIF1 Mux <- DMIC1 <- DMIC1 RX
         arecord-21200 [001] ....  2320.197933: snd_soc_dapm_path:  ADMAIF1 Mux <- IQC2-2 <- IQC2-2 RX
         arecord-21200 [001] ....  2320.197935: snd_soc_dapm_path:  ADMAIF1 Mux <- IQC2-1 <- IQC2-1 RX
         arecord-21200 [001] ....  2320.197936: snd_soc_dapm_path:  ADMAIF1 Mux <- IQC1-2 <- IQC1-2 RX
         arecord-21200 [001] ....  2320.197938: snd_soc_dapm_path:  ADMAIF1 Mux <- IQC1-1 <- IQC1-1 RX
         arecord-21200 [001] ....  2320.197940: snd_soc_dapm_path:  ADMAIF1 Mux <- MVC2 <- MVC2 RX
         arecord-21200 [001] ....  2320.197941: snd_soc_dapm_path:  ADMAIF1 Mux <- MVC1 <- MVC1 RX
         arecord-21200 [001] ....  2320.197943: snd_soc_dapm_path:  ADMAIF1 Mux <- OPE1 <- OPE1 RX
         arecord-21200 [001] ....  2320.197944: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC6 <- AFC6 RX
         arecord-21200 [001] ....  2320.197946: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC5 <- AFC5 RX
         arecord-21200 [001] ....  2320.197948: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC4 <- AFC4 RX
         arecord-21200 [001] ....  2320.197950: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC3 <- AFC3 RX
         arecord-21200 [001] ....  2320.197951: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC2 <- AFC2 RX
         arecord-21200 [001] ....  2320.197953: snd_soc_dapm_path:  ADMAIF1 Mux <- AFC1 <- AFC1 RX
         arecord-21200 [001] ....  2320.197954: snd_soc_dapm_path:  ADMAIF1 Mux <- MIXER1-5 <- MIXER1-5 RX
         arecord-21200 [001] ....  2320.197957: snd_soc_dapm_path:  ADMAIF1 Mux <- MIXER1-4 <- MIXER1-4 RX
         arecord-21200 [001] ....  2320.197958: snd_soc_dapm_path:  ADMAIF1 Mux <- MIXER1-3 <- MIXER1-3 RX
         arecord-21200 [001] ....  2320.197960: snd_soc_dapm_path:  ADMAIF1 Mux <- MIXER1-2 <- MIXER1-2 RX
         arecord-21200 [001] ....  2320.197962: snd_soc_dapm_path:  ADMAIF1 Mux <- MIXER1-1 <- MIXER1-1 RX
         arecord-21200 [001] ....  2320.197963: snd_soc_dapm_path:  ADMAIF1 Mux <- SFC4 <- SFC4 RX
         arecord-21200 [001] ....  2320.197965: snd_soc_dapm_path:  ADMAIF1 Mux <- SFC3 <- SFC3 RX
         arecord-21200 [001] ....  2320.197967: snd_soc_dapm_path:  ADMAIF1 Mux <- SFC2 <- SFC2 RX
         arecord-21200 [001] ....  2320.197968: snd_soc_dapm_path:  ADMAIF1 Mux <- SFC1 <- SFC1 RX
         arecord-21200 [001] ....  2320.197970: snd_soc_dapm_path:  ADMAIF1 Mux <- I2S5 <- I2S5 RX
         arecord-21200 [001] ....  2320.197972: snd_soc_dapm_path: *ADMAIF1 Mux <- I2S4 <- I2S4 RX
         arecord-21200 [001] ....  2320.197974: snd_soc_dapm_path: *I2S4 RX <- (direct) <- I2S4 Receive
         arecord-21200 [001] ....  2320.197976: snd_soc_dapm_path: *I2S4 Receive <- (direct) <- I2S4 CIF Transmit-I2S4 Receive
         arecord-21200 [001] ....  2320.197979: snd_soc_dapm_path: *I2S4 CIF Transmit-I2S4 Receive <- (direct) <- I2S4 CIF Transmit
         arecord-21200 [001] ....  2320.197981: snd_soc_dapm_path: *I2S4 CIF Transmit <- (direct) <- I2S4 CIF TX
         arecord-21200 [001] ....  2320.197983: snd_soc_dapm_path: *I2S4 CIF TX <- (direct) <- I2S4 DAP RX
         arecord-21200 [001] ....  2320.197985: snd_soc_dapm_path: *I2S4 DAP RX <- (direct) <- I2S4 DAP Receive
         arecord-21200 [001] ....  2320.197988: snd_soc_dapm_path: *I2S4 DAP Receive <- (direct) <- x AIF1 Capture-I2S4 DAP Receive
         arecord-21200 [001] ....  2320.197990: snd_soc_dapm_path: *x AIF1 Capture-I2S4 DAP Receive <- (direct) <- x AIF1 Capture
         arecord-21200 [001] ....  2320.197992: snd_soc_dapm_path: *x AIF1 Capture <- (direct) <- x AIF1TX
         arecord-21200 [001] ....  2320.197994: snd_soc_dapm_path: *x AIF1TX <- (direct) <- x SDI1 TX Mux
         arecord-21200 [001] ....  2320.197996: snd_soc_dapm_path: *x AIF1TX <- (direct) <- x DAI1 TX Mux
         arecord-21200 [001] ....  2320.197998: snd_soc_dapm_path:  x DAI1 TX Mux <- 1:2|2:1 <- x IF2 ADC
         arecord-21200 [001] ....  2320.198000: snd_soc_dapm_path: *x DAI1 TX Mux <- 1:1|2:2 <- x IF1 ADC
         arecord-21200 [001] ....  2320.198003: snd_soc_dapm_path: *x IF1 ADC <- (direct) <- x IF1 ADC R
         arecord-21200 [001] ....  2320.198005: snd_soc_dapm_path: *x IF1 ADC R <- (direct) <- x Stereo ADC MIXR
         arecord-21200 [001] ....  2320.198008: snd_soc_dapm_path:  x Stereo ADC MIXR <- ADC2 Switch <- x Stereo ADC R2 Mux
         arecord-21200 [001] ....  2320.198010: snd_soc_dapm_path: *x Stereo ADC MIXR <- ADC1 Switch <- x Stereo ADC R1 Mux
         arecord-21200 [001] ....  2320.198012: snd_soc_dapm_path:  x Stereo ADC R1 Mux <- DIG MIX <- x DIG MIXR
         arecord-21200 [001] ....  2320.198014: snd_soc_dapm_path: *x Stereo ADC R1 Mux <- ADC <- x ADC R
         arecord-21200 [001] ....  2320.198017: snd_soc_dapm_path: *x ADC R <- (direct) <- x RECMIXR
         arecord-21200 [001] ....  2320.198019: snd_soc_dapm_path: *x IF1 ADC <- (direct) <- x IF1 ADC L
         arecord-21200 [001] ....  2320.198021: snd_soc_dapm_path: *x IF1 ADC L <- (direct) <- x Stereo ADC MIXL
         arecord-21200 [001] ....  2320.198025: snd_soc_dapm_path:  x Stereo ADC MIXL <- ADC2 Switch <- x Stereo ADC L2 Mux
         arecord-21200 [001] ....  2320.198027: snd_soc_dapm_path: *x Stereo ADC MIXL <- ADC1 Switch <- x Stereo ADC L1 Mux
         arecord-21200 [001] ....  2320.198029: snd_soc_dapm_path:  x Stereo ADC L1 Mux <- DIG MIX <- x DIG MIXL
         arecord-21200 [001] ....  2320.198031: snd_soc_dapm_path: *x Stereo ADC L1 Mux <- ADC <- x ADC L
         arecord-21200 [001] ....  2320.198033: snd_soc_dapm_path: *x ADC L <- (direct) <- x RECMIXL
         arecord-21200 [001] ....  2320.198036: snd_soc_dapm_path:  ADMAIF1 Mux <- I2S3 <- I2S3 RX
         arecord-21200 [001] ....  2320.198038: snd_soc_dapm_path:  ADMAIF1 Mux <- I2S2 <- I2S2 RX
         arecord-21200 [001] ....  2320.198040: snd_soc_dapm_path:  ADMAIF1 Mux <- I2S1 <- I2S1 RX
         arecord-21200 [001] ....  2320.198042: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF10 <- ADMAIF10 RX
         arecord-21200 [001] ....  2320.198044: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF9 <- ADMAIF9 RX
         arecord-21200 [001] ....  2320.198046: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF8 <- ADMAIF8 RX
         arecord-21200 [001] ....  2320.198047: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF7 <- ADMAIF7 RX
         arecord-21200 [001] ....  2320.198049: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF6 <- ADMAIF6 RX
         arecord-21200 [001] ....  2320.198051: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF5 <- ADMAIF5 RX
         arecord-21200 [001] ....  2320.198052: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF4 <- ADMAIF4 RX
         arecord-21200 [001] ....  2320.198054: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF3 <- ADMAIF3 RX
         arecord-21200 [001] ....  2320.198056: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF2 <- ADMAIF2 RX
         arecord-21200 [001] ....  2320.198057: snd_soc_dapm_path:  ADMAIF1 Mux <- ADMAIF1 <- ADMAIF1 RX
         arecord-21200 [001] ....  2320.198061: snd_soc_dapm_widget_power: widget=Capture 1 val=1
         arecord-21200 [001] ....  2320.198063: snd_soc_dapm_widget_power: widget=ADMAIF1 Transmit val=1
         arecord-21200 [001] ....  2320.198065: snd_soc_dapm_path: *ADMAIF1 TX -> (direct) -> ADMAIF1 Transmit
         arecord-21200 [001] ....  2320.198067: snd_soc_dapm_widget_power: widget=ADMAIF1 TX val=1
         arecord-21200 [001] ....  2320.198070: snd_soc_dapm_path: *ADMAIF1 Transmit-ADMAIF1 CIF Transmit <- (direct) <- ADMAIF1 Transmit
         arecord-21200 [001] ....  2320.198072: snd_soc_dapm_path: *ADMAIF1 Mux -> (direct) -> ADMAIF1 TX
         arecord-21200 [001] ....  2320.198074: snd_soc_dapm_widget_power: widget=ADMAIF1 Mux val=1
         arecord-21200 [001] ....  2320.198079: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADX2 Mux
         arecord-21200 [001] ....  2320.198081: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADX1 Mux
         arecord-21200 [001] ....  2320.198084: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-4 Mux
         arecord-21200 [001] ....  2320.198086: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-3 Mux
         arecord-21200 [001] ....  2320.198087: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-2 Mux
         arecord-21200 [001] ....  2320.198089: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-1 Mux
         arecord-21200 [001] ....  2320.198091: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-4 Mux
         arecord-21200 [001] ....  2320.198092: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-3 Mux
         arecord-21200 [001] ....  2320.198094: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-2 Mux
         arecord-21200 [001] ....  2320.198096: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-1 Mux
         arecord-21200 [001] ....  2320.198097: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MVC2 Mux
         arecord-21200 [001] ....  2320.198099: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MVC1 Mux
         arecord-21200 [001] ....  2320.198176: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SPKPROT1 Mux
         arecord-21200 [001] ....  2320.198180: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> OPE2 Mux
         arecord-21200 [001] ....  2320.198181: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> OPE1 Mux
         arecord-21200 [001] ....  2320.198183: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC6 Mux
         arecord-21200 [001] ....  2320.198185: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC5 Mux
         arecord-21200 [001] ....  2320.198187: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC4 Mux
         arecord-21200 [001] ....  2320.198188: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC3 Mux
         arecord-21200 [001] ....  2320.198190: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC2 Mux
         arecord-21200 [001] ....  2320.198192: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC1 Mux
         arecord-21200 [001] ....  2320.198193: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-10 Mux
         arecord-21200 [001] ....  2320.198195: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-9 Mux
         arecord-21200 [001] ....  2320.198197: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-8 Mux
         arecord-21200 [001] ....  2320.198198: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-7 Mux
         arecord-21200 [001] ....  2320.198200: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-6 Mux
         arecord-21200 [001] ....  2320.198202: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-5 Mux
         arecord-21200 [001] ....  2320.198203: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-4 Mux
         arecord-21200 [001] ....  2320.198205: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-3 Mux
         arecord-21200 [001] ....  2320.198207: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-2 Mux
         arecord-21200 [001] ....  2320.198209: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-1 Mux
         arecord-21200 [001] ....  2320.198210: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC4 Mux
         arecord-21200 [001] ....  2320.198212: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC3 Mux
         arecord-21200 [001] ....  2320.198214: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC2 Mux
         arecord-21200 [001] ....  2320.198215: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC1 Mux
         arecord-21200 [001] ....  2320.198217: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S5 Mux
         arecord-21200 [001] ....  2320.198219: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S4 Mux
         arecord-21200 [001] ....  2320.198221: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S3 Mux
         arecord-21200 [001] ....  2320.198222: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S2 Mux
         arecord-21200 [001] ....  2320.198226: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S1 Mux
         arecord-21200 [001] ....  2320.198228: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF10 Mux
         arecord-21200 [001] ....  2320.198230: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF9 Mux
         arecord-21200 [001] ....  2320.198231: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF8 Mux
         arecord-21200 [001] ....  2320.198233: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF7 Mux
         arecord-21200 [001] ....  2320.198234: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF6 Mux
         arecord-21200 [001] ....  2320.198235: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF5 Mux
         arecord-21200 [001] ....  2320.198237: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF4 Mux
         arecord-21200 [001] ....  2320.198238: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF3 Mux
         arecord-21200 [001] ....  2320.198239: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF2 Mux
         arecord-21200 [001] ....  2320.198240: snd_soc_dapm_path: *I2S4 RX -> I2S4 -> ADMAIF1 Mux
         arecord-21200 [001] ....  2320.198242: snd_soc_dapm_widget_power: widget=I2S4 RX val=1
         arecord-21200 [001] ....  2320.198245: snd_soc_dapm_path: *I2S4 Receive -> (direct) -> I2S4 RX
         arecord-21200 [001] ....  2320.198247: snd_soc_dapm_widget_power: widget=I2S4 Receive val=1
         arecord-21200 [001] ....  2320.198248: snd_soc_dapm_path: *I2S4 CIF Transmit-I2S4 Receive -> (direct) -> I2S4 Receive
         arecord-21200 [001] ....  2320.198250: snd_soc_dapm_widget_power: widget=I2S4 CIF Transmit-I2S4 Receive val=1
         arecord-21200 [001] ....  2320.198251: snd_soc_dapm_path: *I2S4 CIF Transmit -> (direct) -> I2S4 CIF Transmit-I2S4 Receive
         arecord-21200 [001] ....  2320.198252: snd_soc_dapm_widget_power: widget=I2S4 CIF Transmit val=1
         arecord-21200 [001] ....  2320.198254: snd_soc_dapm_path: *I2S4 CIF TX -> (direct) -> I2S4 CIF Transmit
         arecord-21200 [001] ....  2320.198255: snd_soc_dapm_widget_power: widget=I2S4 CIF TX val=1
         arecord-21200 [001] ....  2320.198257: snd_soc_dapm_path: *I2S4 DAP RX -> (direct) -> I2S4 CIF TX
         arecord-21200 [001] ....  2320.198258: snd_soc_dapm_widget_power: widget=I2S4 DAP RX val=1
         arecord-21200 [001] ....  2320.198259: snd_soc_dapm_path: *I2S4 DAP Receive -> (direct) -> I2S4 DAP RX
         arecord-21200 [001] ....  2320.198260: snd_soc_dapm_widget_power: widget=I2S4 DAP Receive val=1
         arecord-21200 [001] ....  2320.198261: snd_soc_dapm_path: *x AIF1 Capture-I2S4 DAP Receive -> (direct) -> I2S4 DAP Receive
         arecord-21200 [001] ....  2320.198262: snd_soc_dapm_widget_power: widget=x AIF1 Capture-I2S4 DAP Receive val=1
         arecord-21200 [001] ....  2320.198263: snd_soc_dapm_path: *x AIF1 Capture -> (direct) -> x AIF1 Capture-I2S4 DAP Receive
         arecord-21200 [001] ....  2320.198264: snd_soc_dapm_widget_power: widget=x AIF1 Capture val=1
         arecord-21200 [001] ....  2320.198266: snd_soc_dapm_path: *x AIF1TX -> (direct) -> x AIF1 Capture
         arecord-21200 [001] ....  2320.198267: snd_soc_dapm_widget_power: widget=x AIF1TX val=1
         arecord-21200 [001] ....  2320.198268: snd_soc_dapm_path: *x SDI1 TX Mux -> (direct) -> x AIF1TX
         arecord-21200 [001] ....  2320.198269: snd_soc_dapm_path: *x DAI1 TX Mux -> (direct) -> x AIF1TX
         arecord-21200 [001] ....  2320.198270: snd_soc_dapm_widget_power: widget=x DAI1 TX Mux val=1
         arecord-21200 [001] ....  2320.198272: snd_soc_dapm_path:  x IF1 ADC -> 1:2|2:2 -> x DAI2 IF1 Mux
         arecord-21200 [001] ....  2320.198273: snd_soc_dapm_path:  x IF1 ADC -> 1:2|2:1 -> x DAI2 TX Mux
         arecord-21200 [001] ....  2320.198274: snd_soc_dapm_path:  x IF1 ADC -> 1:1|2:1 -> x DAI1 IF1 Mux
         arecord-21200 [001] ....  2320.198275: snd_soc_dapm_path: *x IF1 ADC -> 1:1|2:2 -> x DAI1 TX Mux
         arecord-21200 [001] ....  2320.198276: snd_soc_dapm_widget_power: widget=x IF1 ADC val=1
         arecord-21200 [001] ....  2320.198277: snd_soc_dapm_path: *x IF1 ADC R -> (direct) -> x IF1 ADC
         arecord-21200 [001] ....  2320.198278: snd_soc_dapm_widget_power: widget=x IF1 ADC R val=1
         arecord-21200 [001] ....  2320.198280: snd_soc_dapm_path: *x IF1 ADC L -> (direct) -> x IF1 ADC
         arecord-21200 [001] ....  2320.198280: snd_soc_dapm_widget_power: widget=x IF1 ADC L val=1
         arecord-21200 [001] ....  2320.198282: snd_soc_dapm_widget_power: widget=x I2S1 val=1
         arecord-21200 [001] ....  2320.198284: snd_soc_dapm_path:  x Stereo ADC MIXR -> Stereo ADC Switch -> x DAC MIXR
         arecord-21200 [001] ....  2320.198285: snd_soc_dapm_path: *x Stereo ADC MIXR -> (direct) -> x IF1 ADC R
         arecord-21200 [001] ....  2320.198286: snd_soc_dapm_path: *x Stereo ADC MIXR -> (direct) -> x ANC
         arecord-21200 [001] ....  2320.198287: snd_soc_dapm_widget_power: widget=x Stereo ADC MIXR val=1
         arecord-21200 [001] ....  2320.198289: snd_soc_dapm_path:  x Stereo ADC MIXL -> Stereo ADC Switch -> x DAC MIXL
         arecord-21200 [001] ....  2320.198290: snd_soc_dapm_path: *x Stereo ADC MIXL -> (direct) -> x IF1 ADC L
         arecord-21200 [001] ....  2320.198291: snd_soc_dapm_path: *x Stereo ADC MIXL -> (direct) -> x ANC
         arecord-21200 [001] ....  2320.198292: snd_soc_dapm_widget_power: widget=x Stereo ADC MIXL val=1
         arecord-21200 [001] ....  2320.198294: snd_soc_dapm_widget_power: widget=x Stereo Filter val=1
         arecord-21200 [001] ....  2320.198296: snd_soc_dapm_path: *x Stereo ADC R1 Mux -> ADC1 Switch -> x Stereo ADC MIXR
         arecord-21200 [001] ....  2320.198297: snd_soc_dapm_widget_power: widget=x Stereo ADC R1 Mux val=1
         arecord-21200 [001] ....  2320.198299: snd_soc_dapm_path: *x ANC <- (direct) <- x Stereo ADC MIXR
         arecord-21200 [001] ....  2320.198300: snd_soc_dapm_path: *x ANC <- (direct) <- x Stereo ADC MIXL
         arecord-21200 [001] ....  2320.198301: snd_soc_dapm_path: *x Stereo ADC L1 Mux -> ADC1 Switch -> x Stereo ADC MIXL
         arecord-21200 [001] ....  2320.198302: snd_soc_dapm_widget_power: widget=x Stereo ADC L1 Mux val=1
         arecord-21200 [001] ....  2320.198309: snd_soc_dapm_path: *x ADC R -> ADCR -> x Mono ADC R1 Mux
         arecord-21200 [001] ....  2320.198310: snd_soc_dapm_path: *x ADC R -> ADC -> x Stereo ADC R1 Mux
         arecord-21200 [001] ....  2320.198311: snd_soc_dapm_widget_power: widget=x ADC R val=1
         arecord-21200 [001] ....  2320.198313: snd_soc_dapm_path: *x ADC L -> ADCL -> x Mono ADC L1 Mux
         arecord-21200 [001] ....  2320.198313: snd_soc_dapm_path: *x ADC L -> ADC -> x Stereo ADC L1 Mux
         arecord-21200 [001] ....  2320.198314: snd_soc_dapm_widget_power: widget=x ADC L val=1
         arecord-21200 [001] ....  2320.198316: snd_soc_dapm_path:  x RECMIXR -> REC MIXR Switch -> x OUT MIXR
         arecord-21200 [001] ....  2320.198317: snd_soc_dapm_path:  x RECMIXR -> REC MIXR Switch -> x SPK MIXR
         arecord-21200 [001] ....  2320.198318: snd_soc_dapm_path: *x RECMIXR -> (direct) -> x ADC R
         arecord-21200 [001] ....  2320.198320: snd_soc_dapm_widget_power: widget=x RECMIXR val=1
         arecord-21200 [001] ....  2320.198322: snd_soc_dapm_path: *x Mono ADC R1 Mux <- ADCR <- x ADC R
         arecord-21200 [001] ....  2320.198324: snd_soc_dapm_path:  x Mono ADC R1 Mux <- Mono DAC MIXR <- x Mono DAC MIXR
         arecord-21200 [001] ....  2320.198325: snd_soc_dapm_path:  x RECMIXL -> REC MIXL Switch -> x OUT MIXL
         arecord-21200 [001] ....  2320.198326: snd_soc_dapm_path:  x RECMIXL -> REC MIXL Switch -> x SPK MIXL
         arecord-21200 [001] ....  2320.198327: snd_soc_dapm_path: *x RECMIXL -> (direct) -> x ADC L
         arecord-21200 [001] ....  2320.198328: snd_soc_dapm_widget_power: widget=x RECMIXL val=1
         arecord-21200 [001] ....  2320.198330: snd_soc_dapm_path: *x Mono ADC L1 Mux <- ADCL <- x ADC L
         arecord-21200 [001] ....  2320.198331: snd_soc_dapm_path:  x Mono ADC L1 Mux <- Mono DAC MIXL <- x Mono DAC MIXL
         arecord-21200 [001] ....  2320.198332: snd_soc_dapm_path:  x INR VOL -> INR Switch -> x OUT MIXR
         arecord-21200 [001] ....  2320.198333: snd_soc_dapm_path:  x INR VOL -> INR Switch -> x SPK MIXR
         arecord-21200 [001] ....  2320.198334: snd_soc_dapm_path: *x INR VOL -> INR Switch -> x RECMIXR
         arecord-21200 [001] ....  2320.198334: snd_soc_dapm_widget_power: widget=x INR VOL val=1
         arecord-21200 [001] ....  2320.198336: snd_soc_dapm_path:  x INL VOL -> INL Switch -> x OUT MIXL
         arecord-21200 [001] ....  2320.198337: snd_soc_dapm_path:  x INL VOL -> INL Switch -> x SPK MIXL
         arecord-21200 [001] ....  2320.198338: snd_soc_dapm_path: *x INL VOL -> INL Switch -> x RECMIXL
         arecord-21200 [001] ....  2320.198338: snd_soc_dapm_widget_power: widget=x INL VOL val=1
         arecord-21200 [001] ....  2320.198340: snd_soc_dapm_path: *x IN2N -> (direct) -> x INR VOL
         arecord-21200 [001] ....  2320.198342: snd_soc_dapm_path: *x IN2N -> (direct) -> x BST2
         arecord-21200 [001] ....  2320.198343: snd_soc_dapm_widget_power: widget=x IN2N val=1
         arecord-21200 [001] ....  2320.198344: snd_soc_dapm_path: *x IN2P -> (direct) -> x INL VOL
         arecord-21200 [001] ....  2320.198345: snd_soc_dapm_path: *x IN2P -> (direct) -> x BST2
         arecord-21200 [001] ....  2320.198346: snd_soc_dapm_widget_power: widget=x IN2P val=1
         arecord-21200 [001] ....  2320.198347: snd_soc_dapm_path: *x Line In -> (direct) -> x IN2N
         arecord-21200 [001] ....  2320.198348: snd_soc_dapm_path: *x Line In -> (direct) -> x IN2P
         arecord-21200 [001] ....  2320.198348: snd_soc_dapm_widget_power: widget=x Line In val=1
         arecord-21200 [001] ....  2320.198351: snd_soc_dapm_widget_power: widget=x LDO2 val=1
         arecord-21200 [000] ....  2335.244456: snd_soc_dapm_widget_power: widget=Capture 1 val=0
         arecord-21200 [000] ....  2335.244578: snd_soc_dapm_path: *ADMAIF1 Transmit -> (direct) -> Capture 1
         arecord-21200 [000] ....  2335.244592: snd_soc_dapm_path: *ADMAIF1 Transmit -> (direct) -> ADMAIF1 Transmit-ADMAIF1 CIF Transmit
         arecord-21200 [000] ....  2335.244604: snd_soc_dapm_widget_power: widget=ADMAIF1 Transmit val=0
         arecord-21200 [000] ....  2335.244618: snd_soc_dapm_path: *ADMAIF1 TX -> (direct) -> ADMAIF1 Transmit
         arecord-21200 [000] ....  2335.244627: snd_soc_dapm_widget_power: widget=ADMAIF1 TX val=0
         arecord-21200 [000] ....  2335.244638: snd_soc_dapm_path: *ADMAIF1 Mux -> (direct) -> ADMAIF1 TX
         arecord-21200 [000] ....  2335.244646: snd_soc_dapm_widget_power: widget=ADMAIF1 Mux val=0
         arecord-21200 [000] ....  2335.244675: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADX2 Mux
         arecord-21200 [000] ....  2335.244687: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADX1 Mux
         arecord-21200 [000] ....  2335.244697: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-4 Mux
         arecord-21200 [000] ....  2335.244805: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-3 Mux
         arecord-21200 [000] ....  2335.244817: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-2 Mux
         arecord-21200 [000] ....  2335.244826: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX2-1 Mux
         arecord-21200 [000] ....  2335.244836: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-4 Mux
         arecord-21200 [000] ....  2335.244844: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-3 Mux
         arecord-21200 [000] ....  2335.244854: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-2 Mux
         arecord-21200 [000] ....  2335.244862: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AMX1-1 Mux
         arecord-21200 [000] ....  2335.244870: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MVC2 Mux
         arecord-21200 [000] ....  2335.244880: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MVC1 Mux
         arecord-21200 [000] ....  2335.244889: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SPKPROT1 Mux
         arecord-21200 [000] ....  2335.244899: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> OPE2 Mux
         arecord-21200 [000] ....  2335.244908: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> OPE1 Mux
         arecord-21200 [000] ....  2335.244916: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC6 Mux
         arecord-21200 [000] ....  2335.244924: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC5 Mux
         arecord-21200 [000] ....  2335.244933: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC4 Mux
         arecord-21200 [000] ....  2335.244941: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC3 Mux
         arecord-21200 [000] ....  2335.244949: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC2 Mux
         arecord-21200 [000] ....  2335.245039: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> AFC1 Mux
         arecord-21200 [000] ....  2335.245047: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-10 Mux
         arecord-21200 [000] ....  2335.245056: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-9 Mux
         arecord-21200 [000] ....  2335.245066: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-8 Mux
         arecord-21200 [000] ....  2335.245075: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-7 Mux
         arecord-21200 [000] ....  2335.245083: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-6 Mux
         arecord-21200 [000] ....  2335.245091: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-5 Mux
         arecord-21200 [000] ....  2335.245100: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-4 Mux
         arecord-21200 [000] ....  2335.245109: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-3 Mux
         arecord-21200 [000] ....  2335.245118: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-2 Mux
         arecord-21200 [000] ....  2335.245126: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> MIXER1-1 Mux
         arecord-21200 [000] ....  2335.245134: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC4 Mux
         arecord-21200 [000] ....  2335.245143: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC3 Mux
         arecord-21200 [000] ....  2335.245152: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC2 Mux
         arecord-21200 [000] ....  2335.245220: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> SFC1 Mux
         arecord-21200 [000] ....  2335.245230: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S5 Mux
         arecord-21200 [000] ....  2335.245239: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S4 Mux
         arecord-21200 [000] ....  2335.245248: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S3 Mux
         arecord-21200 [000] ....  2335.245257: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S2 Mux
         arecord-21200 [000] ....  2335.245265: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> I2S1 Mux
         arecord-21200 [000] ....  2335.245274: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF10 Mux
         arecord-21200 [000] ....  2335.245283: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF9 Mux
         arecord-21200 [000] ....  2335.245291: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF8 Mux
         arecord-21200 [000] ....  2335.245300: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF7 Mux
         arecord-21200 [000] ....  2335.245309: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF6 Mux
         arecord-21200 [000] ....  2335.245318: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF5 Mux
         arecord-21200 [000] ....  2335.245327: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF4 Mux
         arecord-21200 [000] ....  2335.245337: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF3 Mux
         arecord-21200 [000] ....  2335.245346: snd_soc_dapm_path:  I2S4 RX -> I2S4 -> ADMAIF2 Mux
         arecord-21200 [000] ....  2335.245354: snd_soc_dapm_path: *I2S4 RX -> I2S4 -> ADMAIF1 Mux
         arecord-21200 [000] ....  2335.245362: snd_soc_dapm_widget_power: widget=I2S4 RX val=0
         arecord-21200 [000] ....  2335.245391: snd_soc_dapm_path: *I2S4 Receive -> (direct) -> I2S4 RX
         arecord-21200 [000] ....  2335.245400: snd_soc_dapm_widget_power: widget=I2S4 Receive val=0
         arecord-21200 [000] ....  2335.245413: snd_soc_dapm_path: *I2S4 CIF Transmit-I2S4 Receive -> (direct) -> I2S4 Receive
         arecord-21200 [000] ....  2335.245421: snd_soc_dapm_widget_power: widget=I2S4 CIF Transmit-I2S4 Receive val=0
         arecord-21200 [000] ....  2335.245435: snd_soc_dapm_path: *I2S4 CIF Transmit -> (direct) -> I2S4 CIF Transmit-I2S4 Receive
         arecord-21200 [000] ....  2335.245444: snd_soc_dapm_widget_power: widget=I2S4 CIF Transmit val=0
         arecord-21200 [000] ....  2335.245456: snd_soc_dapm_path: *I2S4 CIF TX -> (direct) -> I2S4 CIF Transmit
         arecord-21200 [000] ....  2335.245464: snd_soc_dapm_widget_power: widget=I2S4 CIF TX val=0
         arecord-21200 [000] ....  2335.245486: snd_soc_dapm_path: *I2S4 DAP RX -> (direct) -> I2S4 CIF TX
         arecord-21200 [000] ....  2335.245495: snd_soc_dapm_widget_power: widget=I2S4 DAP RX val=0
         arecord-21200 [000] ....  2335.245506: snd_soc_dapm_path: *I2S4 DAP Receive -> (direct) -> I2S4 DAP RX
         arecord-21200 [000] ....  2335.245514: snd_soc_dapm_widget_power: widget=I2S4 DAP Receive val=0
         arecord-21200 [000] ....  2335.245530: snd_soc_dapm_path: *x AIF1 Capture-I2S4 DAP Receive -> (direct) -> I2S4 DAP Receive
         arecord-21200 [000] ....  2335.245539: snd_soc_dapm_widget_power: widget=x AIF1 Capture-I2S4 DAP Receive val=0
         arecord-21200 [000] ....  2335.245551: snd_soc_dapm_path: *x AIF1 Capture -> (direct) -> x AIF1 Capture-I2S4 DAP Receive
         arecord-21200 [000] ....  2335.245561: snd_soc_dapm_widget_power: widget=x AIF1 Capture val=0
         arecord-21200 [000] ....  2335.245572: snd_soc_dapm_path: *x AIF1TX -> (direct) -> x AIF1 Capture
         arecord-21200 [000] ....  2335.245580: snd_soc_dapm_widget_power: widget=x AIF1TX val=0
         arecord-21200 [000] ....  2335.245593: snd_soc_dapm_path: *x DAI1 TX Mux -> (direct) -> x AIF1TX
         arecord-21200 [000] ....  2335.245600: snd_soc_dapm_widget_power: widget=x DAI1 TX Mux val=0
         arecord-21200 [000] ....  2335.245613: snd_soc_dapm_path:  x IF1 ADC -> 1:2|2:2 -> x DAI2 IF1 Mux
         arecord-21200 [000] ....  2335.245624: snd_soc_dapm_path:  x IF1 ADC -> 1:2|2:1 -> x DAI2 TX Mux
         arecord-21200 [000] ....  2335.245634: snd_soc_dapm_path:  x IF1 ADC -> 1:1|2:1 -> x DAI1 IF1 Mux
         arecord-21200 [000] ....  2335.245642: snd_soc_dapm_path: *x IF1 ADC -> 1:1|2:2 -> x DAI1 TX Mux
         arecord-21200 [000] ....  2335.245650: snd_soc_dapm_widget_power: widget=x IF1 ADC val=0
         arecord-21200 [000] ....  2335.245663: snd_soc_dapm_path: *x IF1 ADC R -> (direct) -> x IF1 ADC
         arecord-21200 [000] ....  2335.245671: snd_soc_dapm_widget_power: widget=x IF1 ADC R val=0
         arecord-21200 [000] ....  2335.245683: snd_soc_dapm_path: *x IF1 ADC L -> (direct) -> x IF1 ADC
         arecord-21200 [000] ....  2335.245691: snd_soc_dapm_widget_power: widget=x IF1 ADC L val=0
         arecord-21200 [000] ....  2335.245707: snd_soc_dapm_widget_power: widget=x I2S1 val=0
         arecord-21200 [000] ....  2335.245722: snd_soc_dapm_path:  x Stereo ADC MIXR -> Stereo ADC Switch -> x DAC MIXR
         arecord-21200 [000] ....  2335.245732: snd_soc_dapm_path: *x Stereo ADC MIXR -> (direct) -> x IF1 ADC R
         arecord-21200 [000] ....  2335.245743: snd_soc_dapm_path: *x Stereo ADC MIXR -> (direct) -> x ANC
         arecord-21200 [000] ....  2335.245751: snd_soc_dapm_widget_power: widget=x Stereo ADC MIXR val=0
         arecord-21200 [000] ....  2335.245768: snd_soc_dapm_path:  x Stereo ADC MIXL -> Stereo ADC Switch -> x DAC MIXL
         arecord-21200 [000] ....  2335.245777: snd_soc_dapm_path: *x Stereo ADC MIXL -> (direct) -> x IF1 ADC L
         arecord-21200 [000] ....  2335.245785: snd_soc_dapm_path: *x Stereo ADC MIXL -> (direct) -> x ANC
         arecord-21200 [000] ....  2335.245793: snd_soc_dapm_widget_power: widget=x Stereo ADC MIXL val=0
         arecord-21200 [000] ....  2335.245807: snd_soc_dapm_widget_power: widget=x Stereo Filter val=0
         arecord-21200 [000] ....  2335.245822: snd_soc_dapm_path: *x Stereo ADC R1 Mux -> ADC1 Switch -> x Stereo ADC MIXR
         arecord-21200 [000] ....  2335.245830: snd_soc_dapm_widget_power: widget=x Stereo ADC R1 Mux val=0
         arecord-21200 [000] ....  2335.245844: snd_soc_dapm_path: *x Stereo ADC L1 Mux -> ADC1 Switch -> x Stereo ADC MIXL
         arecord-21200 [000] ....  2335.245852: snd_soc_dapm_widget_power: widget=x Stereo ADC L1 Mux val=0
         arecord-21200 [000] ....  2335.245867: snd_soc_dapm_path: *x ADC R -> ADCR -> x Mono ADC R1 Mux
         arecord-21200 [000] ....  2335.245876: snd_soc_dapm_path: *x ADC R -> ADC -> x Stereo ADC R1 Mux
         arecord-21200 [000] ....  2335.245885: snd_soc_dapm_widget_power: widget=x ADC R val=0
         arecord-21200 [000] ....  2335.245898: snd_soc_dapm_path: *x ADC L -> ADCL -> x Mono ADC L1 Mux
         arecord-21200 [000] ....  2335.245907: snd_soc_dapm_path: *x ADC L -> ADC -> x Stereo ADC L1 Mux
         arecord-21200 [000] ....  2335.245915: snd_soc_dapm_widget_power: widget=x ADC L val=0
         arecord-21200 [000] ....  2335.245928: snd_soc_dapm_path:  x RECMIXR -> REC MIXR Switch -> x OUT MIXR
         arecord-21200 [000] ....  2335.245940: snd_soc_dapm_path:  x RECMIXR -> REC MIXR Switch -> x SPK MIXR
         arecord-21200 [000] ....  2335.245949: snd_soc_dapm_path: *x RECMIXR -> (direct) -> x ADC R
         arecord-21200 [000] ....  2335.245957: snd_soc_dapm_widget_power: widget=x RECMIXR val=0
         arecord-21200 [000] ....  2335.245975: snd_soc_dapm_path:  x RECMIXL -> REC MIXL Switch -> x OUT MIXL
         arecord-21200 [000] ....  2335.245985: snd_soc_dapm_path:  x RECMIXL -> REC MIXL Switch -> x SPK MIXL
         arecord-21200 [000] ....  2335.245993: snd_soc_dapm_path: *x RECMIXL -> (direct) -> x ADC L
         arecord-21200 [000] ....  2335.246001: snd_soc_dapm_widget_power: widget=x RECMIXL val=0
         arecord-21200 [000] ....  2335.246016: snd_soc_dapm_path:  x INR VOL -> INR Switch -> x OUT MIXR
         arecord-21200 [000] ....  2335.246025: snd_soc_dapm_path:  x INR VOL -> INR Switch -> x SPK MIXR
         arecord-21200 [000] ....  2335.246032: snd_soc_dapm_path: *x INR VOL -> INR Switch -> x RECMIXR
         arecord-21200 [000] ....  2335.246040: snd_soc_dapm_widget_power: widget=x INR VOL val=0
         arecord-21200 [000] ....  2335.246052: snd_soc_dapm_path:  x INL VOL -> INL Switch -> x OUT MIXL
         arecord-21200 [000] ....  2335.246061: snd_soc_dapm_path:  x INL VOL -> INL Switch -> x SPK MIXL
         arecord-21200 [000] ....  2335.246068: snd_soc_dapm_path: *x INL VOL -> INL Switch -> x RECMIXL
         arecord-21200 [000] ....  2335.246075: snd_soc_dapm_widget_power: widget=x INL VOL val=0
         arecord-21200 [000] ....  2335.246087: snd_soc_dapm_path: *x IN2N -> (direct) -> x INR VOL
         arecord-21200 [000] ....  2335.246097: snd_soc_dapm_path: *x IN2N -> (direct) -> x BST2
         arecord-21200 [000] ....  2335.246547: snd_soc_dapm_widget_power: widget=x IN2N val=0
         arecord-21200 [000] ....  2335.246562: snd_soc_dapm_path: *x IN2P -> (direct) -> x INL VOL
         arecord-21200 [000] ....  2335.246570: snd_soc_dapm_path: *x IN2P -> (direct) -> x BST2
         arecord-21200 [000] ....  2335.246578: snd_soc_dapm_widget_power: widget=x IN2P val=0
         arecord-21200 [000] ....  2335.246589: snd_soc_dapm_path: *x Line In -> (direct) -> x IN2N
         arecord-21200 [000] ....  2335.246597: snd_soc_dapm_path: *x Line In -> (direct) -> x IN2P
         arecord-21200 [000] ....  2335.246605: snd_soc_dapm_widget_power: widget=x Line In val=0
         arecord-21200 [000] ....  2335.246619: snd_soc_dapm_widget_power: widget=x LDO2 val=0