TX2 Audio Processing Engine multi-channel MIXER problem

Hi,

I have follow suggestions and solution in:
https://devtalk.nvidia.com/default/topic/1045131/jetson-tx2/stange-behavior-of-tx2-audio-processing-engine/post/5304852/#5304852

I was able successful map 6 channels 16bit input to I2S1/TDM 32bit output.
Now, command:

speaker-test -D hw:0,8 -c 6 -f 400

working as expected.

Only problem I found out is - only AMX2-1 configured for 6 channel input.

My mapping is:

amixer sset “codec rate” “48kHz”
amixer sset “AMX2-1 Mux” “ADMAIF9”
amixer sset “I2S1 Mux” “AMX2”
amixer sset “Adder1 RX4” on
amixer sset “Mixer Enable” on

and adding:
amixer sset “AMX2 Byte Map 0” 0
amixer sset “AMX2 Byte Map 1” 0
amixer sset “AMX2 Byte Map 2” 0
amixer sset “AMX2 Byte Map 3” 1

amixer sset “AMX2 Byte Map 4” 0
amixer sset “AMX2 Byte Map 5” 0
amixer sset “AMX2 Byte Map 6” 4
amixer sset “AMX2 Byte Map 7” 5

amixer sset “AMX2 Byte Map 8” 0
amixer sset “AMX2 Byte Map 9” 0
amixer sset “AMX2 Byte Map 10” 8
amixer sset “AMX2 Byte Map 11” 9

amixer sset “AMX2 Byte Map 12” 0
amixer sset “AMX2 Byte Map 13” 0
amixer sset “AMX2 Byte Map 14” 12
amixer sset “AMX2 Byte Map 15” 13

amixer sset “AMX2 Byte Map 16” 0
amixer sset “AMX2 Byte Map 17” 0
amixer sset “AMX2 Byte Map 18” 16
amixer sset “AMX2 Byte Map 19” 17

amixer sset “AMX2 Byte Map 20” 0
amixer sset “AMX2 Byte Map 21” 0
amixer sset “AMX2 Byte Map 22” 20
amixer sset “AMX2 Byte Map 23” 21

This implement path: ADMAIF->AMX2-1->AMX2->I2S1

Now I would like to create a path via MIXER1-X
So I can control volume or mixing with other ADMAIFx or I2S,
but adding any MIXER1-X in the path like:
ADMAIFx -> MIXER1-x -> MIXER1-1 -> AMX2-1 -> AMX2 ->I2S
or
ADMAIFx -> AMX2-1 -> AMX2 -> MIXER1-x -> MIXER1-1 -> I2S

will revert output to 2 channels outputs.

What I am missing?

Thanks,
Andrei

Hi Andrei,

Have you configured the number of channels for the MIXER input and output?

amixer -c tegrasndt186ref cset name="RX1 Channels" 6
amixer -c tegrasndt186ref cset name="TX1 Channels" 6

You need to specify the number of channels you are using for each MIXER input (RX) and output (TX).

Regards,
Jon

Jon,
Thanks for replay, but my version does not have such controls:

root@nvidia:~# amixer sget “RX1 Channels”
amixer: Unable to find simple control ‘RX1 Channels’,0

root@nvidia:~# amixer sset “RX1 Channels” 6
amixer: Unable to find simple control ‘RX1 Channels’,0

Is it possible to enable some debug, so codec setup is traceable?

Andrei

Hi Andrei,

That’s odd. What L4T release are you using? I check rel-28 and they should be there.

What do you see if you execute …

$ amixer -c tegrasndt186ref controls | grep RX1

Although looking some more at the MIXER driver it might not be necessary to set the number of channels via the userspace mixer controls because the MIXER driver should automatically use the number of channels specified from the speaker-test command.

How did you set up the Mux settings when using the MIXER? If you are using MIXER RX4 and TX1 then you should have something like …

amixer sset “AMX2-1 Mux” “ADMAIF9”
amixer sset “MIXER1-4” “AMX2”
amixer sset “I2S1 Mux” “MIXER1-1”
amixer sset “Adder1 RX4” on
amixer sset “Mixer Enable” on

You could also try just the MIXER by itself first …

amixer sset “MIXER1-4” “ADMAIF9”
amixer sset “I2S1 Mux” “MIXER1-1”
amixer sset “Adder1 RX4” on
amixer sset “Mixer Enable” on

You check the path by tracing the enabling of the DAPM widget when running the speaker-test command …

$ echo 1 | sudo tee /sys/kernel/debug/tracing/tracing_on
$ echo 1 | sudo tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_widget_power/enable
$ echo 0 | sudo tee /sys/kernel/debug/tracing/trace
$ speaker-test -D hw:0,8 -c 6 -F S16_LE -t sine -f 400 -l 1
$ sudo cat /sys/kernel/debug/tracing/trace

Regards,
Jon

Hi Jon,
I am not sure what release I am using, but I think it is 25.24.01

Thing you need to see this:

/
	/* set ADMAIF dai ops */
	for (i = TEGRA186_DAI_LINK_ADMAIF1;
			i <= TEGRA186_DAI_LINK_ADMAIF20; i++)
		tegra_machine_set_dai_ops(i, &tegra_t186ref_p2382_spdif_ops);

	for (i = 0; i < machine->num_codec_links; i++) {
		if (tegra_t186ref_p2382_codec_links[i].name) {
			if (strstr(tegra_t186ref_p2382_codec_links[i].name,
				"p2382-audio-dsp-tdm1-1")) {
				dev_err(&pdev->dev, "Add DSP links  dsp-tdm1-1 (%d)\n", i);
				for (j = TEGRA186_DAI_LINK_ADMAIF1;
					j <= TEGRA186_DAI_LINK_ADMAIF4; j++)
					tegra_machine_set_dai_ops(j,
						&tegra_t186ref_p2382_audio_dsp_tdm1_ops);
			} else if (strstr(tegra_t186ref_p2382_codec_links[i].name,
				"p2382-audio-dsp-tdm1-2")) {
				dev_err(&pdev->dev, "Add DSP links  dsp-tdm1-2 (%d)\n", i);
				for (j = TEGRA186_DAI_LINK_ADMAIF5;
					j <= TEGRA186_DAI_LINK_ADMAIF8; j++)
					tegra_machine_set_dai_ops(j,
						&tegra_t186ref_p2382_audio_dsp_tdm2_ops);
			} else if (strstr(tegra_t186ref_p2382_codec_links[i].name,
				"p2382-btsco")) {
				dev_err(&pdev->dev, "Add DSP links p2382-btsco (%d)\n", i);
				tegra_machine_set_dai_ops(TEGRA186_DAI_LINK_ADMAIF9,
					&tegra_t186ref_p2382_btsco_ops);
			}
		}

and DTB portion:

nvidia,audio-routing = "Headphone-x", "x OUT", "x IN", "LineIn-x", "Headphone-y", "y OUT", "y IN", "LineIn-y", "Headphone-d", "d OUT", "d IN", "LineIn-d", "BT-out", "b OUT", "b IN", "BT-in", "EAVB-out", "ADSP EAVB Transmit", "ADSP EAVB Receive", "EAVB-in";
		nvidia,xbar = <0x92>;
		linux,phandle = <0x58>;
		phandle = <0x58>;

		nvidia,dai-link-1 {
			link-name = "p2382-audio-dsp-tdm1-1";
			cpu-dai = <0x93>;
			codec-dai = <0x94>;
			cpu-dai-name = "I2S3";
			codec-dai-name = "dit-hifi";
			tx-mask = <0xff>;
			rx-mask = <0xff>;
			format = "dsp_a";
			bitclock-master;
			frame-master;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s32_le";
			bclk_ratio = <0x1>;
			srate = <0xbb80>;
			num-channel = <0x8>;
			name-prefix = "x";
		};

		nvidia,dai-link-2 {
			link-name = "p2382-audio-dsp-tdm1-2";
			cpu-dai = <0x95>;
			codec-dai = <0x96>;
			cpu-dai-name = "I2S4";
			codec-dai-name = "dit-hifi";
			tx-mask = <0xff>;
			rx-mask = <0xff>;
			format = "dsp_a";
			bitclock-master;
			frame-master;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s32_le";
			bclk_ratio = <0x1>;
			srate = <0xbb80>;
			num-channel = <0x8>;
			name-prefix = "y";
		};

		nvidia,dai-link-3 {
			link-name = "dummy-playback";
			cpu-dai = <0x97>;
			codec-dai = <0x98>;
			cpu-dai-name = "I2S1";
			codec-dai-name = "dit-hifi";
			tx-mask = <0xff>;
			rx-mask = <0xff>;
			format = "dsp_a";
			bitclock-slave;
			frame-slave;
			bitclock-noninversion;
			frame-noninversion;
			bit-format = "s32_le";
			bclk_ratio = <0x1>;
			srate = <0xbb80>;
			num-channel = <0x8>;
			name-prefix = "d";
		};

		nvidia,dai-link-4 {
			link-name = "p2382-btsco";
			cpu-dai = <0x99>;
			codec-dai = <0x9a>;
			cpu-dai-name = "I2S6";
			codec-dai-name = "dit-hifi";
			format = "i2s";
			bitclock-master;
			frame-master;
			bit-format = "s16_le";
			bclk_ratio = <0x1>;
			srate = <0x1f40>;
			num-channel = <0x2>;
			name-prefix = "b";
		};

I think ADMAIF9 not a best choice.
I have switched to ADMAIF10.

I have run this sequence:

amixer sset “MIXER1-4” “ADMAIF10”
amixer sset “I2S1 Mux” “MIXER1-1”
amixer sset “Adder1 RX4” on
amixer sset “Mixer Enable” on

echo 1 | tee /sys/kernel/debug/tracing/tracing_on
echo 1 | tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_widget_power/enable
echo 0 | tee /sys/kernel/debug/tracing/trace
speaker-test -D hw:0,9 -c 6 -F S16_LE -t sine -f 400 -l 1
cat /sys/kernel/debug/tracing/trace

result is:

# tracer: nop
#
# entries-in-buffer/entries-written: 0/0   #P:6
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |

I have also some of my traces added to different DAI:

[   64.730235] tegra_alt_pcm_open: pcm open
[   64.737345] snd_soc_set_runtime_hwparams: runtime_params
[   64.748666] soc_pcm_open: pcm open
[   64.753115] tegra_t186ref_p2382_spdif_hw_params: set params 
[   64.761458] soc_pcm_hw_params: Codecs: 1
[   64.768119] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 0 rx fixup: 0, tx fixup :0
[   64.778524] soc_dai_hw_params: DAI[9]:ADMAIF10 
[   64.785826] soc_dai_hw_params: No hw_params defined
[   64.792733] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 6 bits: 16
[   64.799007] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 0 bits: 0
[   64.805174] soc_dai_hw_params: DAI[9]:ADMAIF10 
[   64.809711] tegra210_admaif_hw_params: DAI_id: 9 Qverride: 0
[   64.815357] tegra210_admaif_hw_params: Set: a_chan:6 cl_chan: 6
[   64.821285] tegra210_xbar_set_cif: Client chan:6 audio_chan:6
[   64.827068] tegra210-ape-admaif tegra210-admaif: ASoC: tegra210-admaif hw params: channels: 6 bits: 16
[   64.836407] soc_pcm_prepare: pcm_prepare:
[   64.840408] soc_pcm_prepare: codec: ADMAIF10 prepare

Using ADMAIF9 produce same result.

Nothing on output and nothing in trace.

Andrei

Also might be useful this:

amixer sset “RX4 Gain” 3000
amixer sset “codec rate” “48kHz”
amixer sset “MIXER1-4 Mux” “ADMAIF10”
amixer sset “AMX1-1 Mux” “MIXER1-1”
amixer sset “Adder1 RX4” on
amixer sset “Mixer Enable” on
amixer sset “I2S1 Mux” “AMX1”

Produce a trace:

cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 76/76   #P:6
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
    speaker-test-6459  [001] ...1    72.925090: snd_soc_dapm_widget_power: widget=Playback 10 val=1
    speaker-test-6459  [001] ...1    72.925095: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
    speaker-test-6459  [001] ...1    72.925103: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
    speaker-test-6459  [001] ...1    72.925109: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
    speaker-test-6459  [001] ...1    72.925112: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
    speaker-test-6459  [001] ...1    72.925114: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
    speaker-test-6459  [001] ...1    72.925115: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
    speaker-test-6459  [001] ...1    72.925117: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
    speaker-test-6459  [001] ...1    72.925118: snd_soc_dapm_widget_power: widget=RX4 val=1
    speaker-test-6459  [001] ...1    72.925121: snd_soc_dapm_widget_power: widget=Adder1 val=1
    speaker-test-6459  [001] ...1    72.925122: snd_soc_dapm_widget_power: widget=TX1 val=1
    speaker-test-6459  [001] ...1    72.925124: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
    speaker-test-6459  [001] ...1    72.925125: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
    speaker-test-6459  [001] ...1    72.925127: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
    speaker-test-6459  [001] ...1    72.925130: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
    speaker-test-6459  [001] ...1    72.925137: snd_soc_dapm_widget_power: widget=AMX1-1 Mux val=1
    speaker-test-6459  [001] ...1    72.925140: snd_soc_dapm_widget_power: widget=AMX1-1 TX val=1
    speaker-test-6459  [001] ...1    72.925141: snd_soc_dapm_widget_power: widget=AMX1-1 Transmit val=1
    speaker-test-6459  [001] ...1    72.925143: snd_soc_dapm_widget_power: widget=AMX1-1 Transmit-AMX1 IN1 Receive val=1
    speaker-test-6459  [001] ...1    72.925145: snd_soc_dapm_widget_power: widget=AMX1 IN1 Receive val=1
    speaker-test-6459  [001] ...1    72.925146: snd_soc_dapm_widget_power: widget=AMX1 IN1 val=1
    speaker-test-6459  [001] ...1    72.925181: snd_soc_dapm_widget_power: widget=AMX1 OUT val=1
    speaker-test-6459  [001] ...1    72.925184: snd_soc_dapm_widget_power: widget=AMX1 OUT Transmit val=1
    speaker-test-6459  [001] ...1    72.925185: snd_soc_dapm_widget_power: widget=AMX1 OUT Transmit-AMX1 Receive val=1
    speaker-test-6459  [001] ...1    72.925187: snd_soc_dapm_widget_power: widget=AMX1 Receive val=1
    speaker-test-6459  [001] ...1    72.925189: snd_soc_dapm_widget_power: widget=AMX1 RX val=1
    speaker-test-6459  [001] ...1    72.925210: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
    speaker-test-6459  [001] ...1    72.925213: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
    speaker-test-6459  [001] ...1    72.925214: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
    speaker-test-6459  [001] ...1    72.925216: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
    speaker-test-6459  [001] ...1    72.925217: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
    speaker-test-6459  [001] ...1    72.925219: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
    speaker-test-6459  [001] ...1    72.925220: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
    speaker-test-6459  [001] ...1    72.925222: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
    speaker-test-6459  [001] ...1    72.925224: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=1
    speaker-test-6459  [001] ...1    72.925225: snd_soc_dapm_widget_power: widget=d Playback val=1
    speaker-test-6459  [001] ...1    72.925226: snd_soc_dapm_widget_power: widget=d OUT val=1
    speaker-test-6459  [001] ...1    72.925228: snd_soc_dapm_widget_power: widget=Headphone-d val=1
    speaker-test-6459  [004] ...1    75.219969: snd_soc_dapm_widget_power: widget=Playback 10 val=0
    speaker-test-6459  [004] ...1    75.219976: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=0
    speaker-test-6459  [004] ...1    75.219978: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=0
    speaker-test-6459  [004] ...1    75.219982: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=0
    speaker-test-6459  [004] ...1    75.219984: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=0
    speaker-test-6459  [004] ...1    75.219984: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=0
    speaker-test-6459  [004] ...1    75.219985: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=0
    speaker-test-6459  [004] ...1    75.219986: snd_soc_dapm_widget_power: widget=RX4 Receive val=0
    speaker-test-6459  [004] ...1    75.219987: snd_soc_dapm_widget_power: widget=RX4 val=0
    speaker-test-6459  [004] ...1    75.219989: snd_soc_dapm_widget_power: widget=Adder1 val=0
    speaker-test-6459  [004] ...1    75.219989: snd_soc_dapm_widget_power: widget=TX1 val=0
    speaker-test-6459  [004] ...1    75.219990: snd_soc_dapm_widget_power: widget=TX1 Transmit val=0
    speaker-test-6459  [004] ...1    75.219991: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=0
    speaker-test-6459  [004] ...1    75.219992: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=0
    speaker-test-6459  [004] ...1    75.219993: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=0
    speaker-test-6459  [004] ...1    75.219998: snd_soc_dapm_widget_power: widget=AMX1-1 Mux val=0
    speaker-test-6459  [004] ...1    75.220000: snd_soc_dapm_widget_power: widget=AMX1-1 TX val=0
    speaker-test-6459  [004] ...1    75.220001: snd_soc_dapm_widget_power: widget=AMX1-1 Transmit val=0
    speaker-test-6459  [004] ...1    75.220001: snd_soc_dapm_widget_power: widget=AMX1-1 Transmit-AMX1 IN1 Receive val=0
    speaker-test-6459  [004] ...1    75.220002: snd_soc_dapm_widget_power: widget=AMX1 IN1 Receive val=0
    speaker-test-6459  [004] ...1    75.220003: snd_soc_dapm_widget_power: widget=AMX1 IN1 val=0
    speaker-test-6459  [004] ...1    75.220020: snd_soc_dapm_widget_power: widget=AMX1 OUT val=0
    speaker-test-6459  [004] ...1    75.220021: snd_soc_dapm_widget_power: widget=AMX1 OUT Transmit val=0
    speaker-test-6459  [004] ...1    75.220022: snd_soc_dapm_widget_power: widget=AMX1 OUT Transmit-AMX1 Receive val=0
    speaker-test-6459  [004] ...1    75.220022: snd_soc_dapm_widget_power: widget=AMX1 Receive val=0
    speaker-test-6459  [004] ...1    75.220024: snd_soc_dapm_widget_power: widget=AMX1 RX val=0
    speaker-test-6459  [004] ...1    75.220029: snd_soc_dapm_widget_power: widget=I2S1 Mux val=0
    speaker-test-6459  [004] ...1    75.220030: snd_soc_dapm_widget_power: widget=I2S1 TX val=0
    speaker-test-6459  [004] ...1    75.220031: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=0
    speaker-test-6459  [004] ...1    75.220032: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=0
    speaker-test-6459  [004] ...1    75.220033: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=0
    speaker-test-6459  [004] ...1    75.220034: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=0
    speaker-test-6459  [004] ...1    75.220034: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=0
    speaker-test-6459  [004] ...1    75.220035: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=0
    speaker-test-6459  [004] ...1    75.220036: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=0
    speaker-test-6459  [004] ...1    75.220037: snd_soc_dapm_widget_power: widget=d Playback val=0
    speaker-test-6459  [004] ...1    75.220037: snd_soc_dapm_widget_power: widget=d OUT val=0
    speaker-test-6459  [004] ...1    75.220038: snd_soc_dapm_widget_power: widget=Headphone-d val=0

and my trace:

[   72.810629] tegra_alt_pcm_open: pcm open
[   72.817372] snd_soc_set_runtime_hwparams: runtime_params
[   72.828734] soc_pcm_open: pcm open
[   72.832483] tegra_t186ref_p2382_spdif_hw_params: set params 
[   72.840855] soc_pcm_hw_params: Codecs: 1
[   72.847516] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 0 rx fixup: 0, tx fixup :0
[   72.857920] soc_dai_hw_params: DAI[9]:ADMAIF10 
[   72.865207] soc_dai_hw_params: No hw_params defined
[   72.872120] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 6 bits: 16
[   72.878400] soc_pcm_hw_params: DAI[9]:ADMAIF10 channels: 0 bits: 0
[   72.884565] soc_dai_hw_params: DAI[9]:ADMAIF10 
[   72.889114] tegra210_admaif_hw_params: DAI_id: 9 Qverride: 0
[   72.894761] tegra210_admaif_hw_params: Set: a_chan:6 cl_chan: 6
[   72.900707] tegra210_xbar_set_cif: Client chan:6 audio_chan:6
[   72.906490] tegra210-ape-admaif tegra210-admaif: ASoC: tegra210-admaif hw params: channels: 6 bits: 16
[   72.915848] soc_pcm_prepare: pcm_prepare:
[   72.919849] soc_pcm_prepare: codec: ADMAIF10 prepare
[   72.925586] snd_soc_dai_link_event: Link event: channels min:8, channel max:8
[   72.932707] snd_soc_dai_link_event: Link event: capture 1
[   72.938120] soc_dai_hw_params: DAI[1]:DAP 
[   72.942815] tegra210_xbar_set_cif: Client chan:8 audio_chan:8
[   72.948578] snd_soc_dai_link_event: Link event: playback 2
[   72.954052] soc_dai_hw_params: DAI[0]:dit-hifi 
[   72.958596] soc_dai_hw_params: No hw_params defined
[   72.963466] snd_soc_dai_link_event: Link event: channels min:8, channel max:8
[   72.970607] snd_soc_dai_link_event: Link event: capture 1
[   72.976012] soc_dai_hw_params: DAI[10]:I2S1 
[   72.980271] soc_dai_hw_params: No hw_params defined
[   72.985156] snd_soc_dai_link_event: Link event: playback 2
[   72.990628] soc_dai_hw_params: DAI[0]:CIF 
[   72.994716] soc_dai_hw_params: No hw_params defined
[   72.999604] snd_soc_dai_link_event: Link event: channels min:8, channel max:8
[   73.006740] snd_soc_dai_link_event: Link event: capture 1
[   73.012125] soc_dai_hw_params: DAI[4]:OUT 
[   73.016229] tegra210_amx_out_hw_params: amx_out: OUT
[   73.021184] tegra210_amx_set_audio_cif: channels: 8 bits: 7
[   73.026760] tegra210_xbar_set_cif: Client chan:8 audio_chan:8
[   73.032496] snd_soc_dai_link_event: Link event: playback 2
[   73.037988] soc_dai_hw_params: DAI[48]:AMX1 
[   73.042253] soc_dai_hw_params: No hw_params defined
[   73.047165] snd_soc_dai_link_event: Link event: channels min:2, channel max:2
[   73.054284] snd_soc_dai_link_event: Link event: capture 1
[   73.059697] soc_dai_hw_params: DAI[49]:AMX1-1 
[   73.064129] soc_dai_hw_params: No hw_params defined
[   73.069014] snd_soc_dai_link_event: Link event: playback 2
[   73.074487] soc_dai_hw_params: DAI[0]:IN1 
[   73.078593] tegra210_amx_in_hw_params: amx_in: IN1
[   73.083373] tegra210_amx_set_audio_cif: channels: 2 bits: 3
[   73.088957] tegra210_xbar_set_cif: Client chan:2 audio_chan:2
[   73.094696] snd_soc_dai_link_event: Link event: channels min:6, channel max:6
[   73.101832] snd_soc_dai_link_event: Link event: capture 1
[   73.107237] soc_dai_hw_params: DAI[10]:TX1 
[   73.111411] tegra210_mixer_set_audio_cif: Mixer bits: 3 channels: 6
[   73.117510] tegra210_xbar_set_cif: Client chan:6 audio_chan:6
[   73.123429] snd_soc_dai_link_event: Link event: playback 2
[   73.128921] soc_dai_hw_params: DAI[19]:MIXER1-1 
[   73.133527] soc_dai_hw_params: No hw_params defined
[   73.138416] snd_soc_dai_link_event: Link event: channels min:2, channel max:2
[   73.145553] snd_soc_dai_link_event: Link event: capture 1
[   73.150938] soc_dai_hw_params: DAI[22]:MIXER1-4 
[   73.155560] soc_dai_hw_params: No hw_params defined
[   73.160425] snd_soc_dai_link_event: Link event: playback 2
[   73.165917] soc_dai_hw_params: DAI[3]:RX4 
[   73.170003] tegra210_mixer_set_audio_cif: Mixer bits: 3 channels: 2
[   73.176100] tegra210_xbar_set_cif: Client chan:2 audio_chan:2

and I forget,

numid=636,iface=MIXER,name='DSPK1 Mux'
numid=635,iface=MIXER,name='DSPK2 Mux'
numid=474,iface=MIXER,name='I2S1 Loopback'
numid=705,iface=MIXER,name='I2S1 Mux'
numid=476,iface=MIXER,name='I2S1 codec bit format'
numid=475,iface=MIXER,name='I2S1 input bit format'
numid=704,iface=MIXER,name='I2S2 Mux'
numid=468,iface=MIXER,name='I2S3 Loopback'
numid=703,iface=MIXER,name='I2S3 Mux'
numid=470,iface=MIXER,name='I2S3 codec bit format'
numid=469,iface=MIXER,name='I2S3 input bit format'
numid=471,iface=MIXER,name='I2S4 Loopback'
numid=702,iface=MIXER,name='I2S4 Mux'
numid=473,iface=MIXER,name='I2S4 codec bit format'
numid=472,iface=MIXER,name='I2S4 input bit format'
numid=701,iface=MIXER,name='I2S5 Mux'
numid=477,iface=MIXER,name='I2S6 Loopback'
numid=654,iface=MIXER,name='I2S6 Mux'
numid=479,iface=MIXER,name='I2S6 codec bit format'
numid=478,iface=MIXER,name='I2S6 input bit format'
numid=592,iface=MIXER,name='ADMA1 MUX'
numid=32,iface=MIXER,name='ADMA1 set params'
numid=583,iface=MIXER,name='ADMA10 MUX'
numid=41,iface=MIXER,name='ADMA10 set params'
numid=591,iface=MIXER,name='ADMA2 MUX'
numid=33,iface=MIXER,name='ADMA2 set params'
numid=590,iface=MIXER,name='ADMA3 MUX'
numid=34,iface=MIXER,name='ADMA3 set params'
numid=589,iface=MIXER,name='ADMA4 MUX'
numid=35,iface=MIXER,name='ADMA4 set params'
numid=588,iface=MIXER,name='ADMA5 MUX'
numid=36,iface=MIXER,name='ADMA5 set params'
numid=587,iface=MIXER,name='ADMA6 MUX'
numid=37,iface=MIXER,name='ADMA6 set params'
numid=586,iface=MIXER,name='ADMA7 MUX'
numid=38,iface=MIXER,name='ADMA7 set params'
numid=585,iface=MIXER,name='ADMA8 MUX'
numid=39,iface=MIXER,name='ADMA8 set params'
numid=584,iface=MIXER,name='ADMA9 MUX'
numid=40,iface=MIXER,name='ADMA9 set params'
numid=1,iface=MIXER,name='ADMAIF1 Channels'
numid=715,iface=MIXER,name='ADMAIF1 Mux'
numid=10,iface=MIXER,name='ADMAIF10 Channels'
numid=706,iface=MIXER,name='ADMAIF10 Mux'
numid=11,iface=MIXER,name='ADMAIF11 Channels'
numid=664,iface=MIXER,name='ADMAIF11 Mux'
numid=12,iface=MIXER,name='ADMAIF12 Channels'
numid=663,iface=MIXER,name='ADMAIF12 Mux'
numid=13,iface=MIXER,name='ADMAIF13 Channels'
numid=662,iface=MIXER,name='ADMAIF13 Mux'
numid=14,iface=MIXER,name='ADMAIF14 Channels'
numid=661,iface=MIXER,name='ADMAIF14 Mux'
numid=15,iface=MIXER,name='ADMAIF15 Channels'
numid=660,iface=MIXER,name='ADMAIF15 Mux'
numid=16,iface=MIXER,name='ADMAIF16 Channels'
numid=659,iface=MIXER,name='ADMAIF16 Mux'
numid=17,iface=MIXER,name='ADMAIF17 Channels'
numid=658,iface=MIXER,name='ADMAIF17 Mux'
numid=18,iface=MIXER,name='ADMAIF18 Channels'
numid=657,iface=MIXER,name='ADMAIF18 Mux'
numid=19,iface=MIXER,name='ADMAIF19 Channels'
numid=656,iface=MIXER,name='ADMAIF19 Mux'
numid=2,iface=MIXER,name='ADMAIF2 Channels'
numid=714,iface=MIXER,name='ADMAIF2 Mux'
numid=20,iface=MIXER,name='ADMAIF20 Channels'
numid=655,iface=MIXER,name='ADMAIF20 Mux'
numid=3,iface=MIXER,name='ADMAIF3 Channels'
numid=713,iface=MIXER,name='ADMAIF3 Mux'
numid=4,iface=MIXER,name='ADMAIF4 Channels'
numid=712,iface=MIXER,name='ADMAIF4 Mux'
numid=5,iface=MIXER,name='ADMAIF5 Channels'
numid=711,iface=MIXER,name='ADMAIF5 Mux'
numid=6,iface=MIXER,name='ADMAIF6 Channels'
numid=710,iface=MIXER,name='ADMAIF6 Mux'
numid=7,iface=MIXER,name='ADMAIF7 Channels'
numid=709,iface=MIXER,name='ADMAIF7 Mux'
numid=8,iface=MIXER,name='ADMAIF8 Channels'
numid=708,iface=MIXER,name='ADMAIF8 Mux'
numid=9,iface=MIXER,name='ADMAIF9 Channels'
numid=707,iface=MIXER,name='ADMAIF9 Mux'
numid=21,iface=MIXER,name='ADSP init'
numid=628,iface=MIXER,name='ADSP-ADMAIF1 MUX'
numid=619,iface=MIXER,name='ADSP-ADMAIF10 MUX'
numid=618,iface=MIXER,name='ADSP-ADMAIF11 MUX'
numid=617,iface=MIXER,name='ADSP-ADMAIF12 MUX'
numid=616,iface=MIXER,name='ADSP-ADMAIF13 MUX'
numid=615,iface=MIXER,name='ADSP-ADMAIF14 MUX'
numid=614,iface=MIXER,name='ADSP-ADMAIF15 MUX'
numid=613,iface=MIXER,name='ADSP-ADMAIF16 MUX'
numid=612,iface=MIXER,name='ADSP-ADMAIF17 MUX'
numid=611,iface=MIXER,name='ADSP-ADMAIF18 MUX'
numid=610,iface=MIXER,name='ADSP-ADMAIF19 MUX'
numid=627,iface=MIXER,name='ADSP-ADMAIF2 MUX'
numid=609,iface=MIXER,name='ADSP-ADMAIF20 MUX'
numid=626,iface=MIXER,name='ADSP-ADMAIF3 MUX'
numid=625,iface=MIXER,name='ADSP-ADMAIF4 MUX'
numid=624,iface=MIXER,name='ADSP-ADMAIF5 MUX'
numid=623,iface=MIXER,name='ADSP-ADMAIF6 MUX'
numid=622,iface=MIXER,name='ADSP-ADMAIF7 MUX'
numid=621,iface=MIXER,name='ADSP-ADMAIF8 MUX'
numid=620,iface=MIXER,name='ADSP-ADMAIF9 MUX'
numid=629,iface=MIXER,name='ADSP-EAVB MUX'
numid=634,iface=MIXER,name='ADSP-FE1 MUX'
numid=633,iface=MIXER,name='ADSP-FE2 MUX'
numid=632,iface=MIXER,name='ADSP-FE3 MUX'
numid=631,iface=MIXER,name='ADSP-FE4 MUX'
numid=630,iface=MIXER,name='ADSP-FE5 MUX'
numid=666,iface=MIXER,name='ADX1 Mux'
numid=665,iface=MIXER,name='ADX2 Mux'
numid=645,iface=MIXER,name='ADX3 Mux'
numid=644,iface=MIXER,name='ADX4 Mux'
numid=684,iface=MIXER,name='AFC1 Mux'
numid=683,iface=MIXER,name='AFC2 Mux'
numid=682,iface=MIXER,name='AFC3 Mux'
numid=681,iface=MIXER,name='AFC4 Mux'
numid=680,iface=MIXER,name='AFC5 Mux'
numid=679,iface=MIXER,name='AFC6 Mux'
numid=76,iface=MIXER,name='AMX1 Byte Map 0'
numid=77,iface=MIXER,name='AMX1 Byte Map 1'
numid=86,iface=MIXER,name='AMX1 Byte Map 10'
numid=87,iface=MIXER,name='AMX1 Byte Map 11'
numid=88,iface=MIXER,name='AMX1 Byte Map 12'
numid=89,iface=MIXER,name='AMX1 Byte Map 13'
numid=90,iface=MIXER,name='AMX1 Byte Map 14'
numid=91,iface=MIXER,name='AMX1 Byte Map 15'
numid=92,iface=MIXER,name='AMX1 Byte Map 16'
numid=93,iface=MIXER,name='AMX1 Byte Map 17'
numid=94,iface=MIXER,name='AMX1 Byte Map 18'
numid=95,iface=MIXER,name='AMX1 Byte Map 19'
numid=78,iface=MIXER,name='AMX1 Byte Map 2'
numid=96,iface=MIXER,name='AMX1 Byte Map 20'
numid=97,iface=MIXER,name='AMX1 Byte Map 21'
numid=98,iface=MIXER,name='AMX1 Byte Map 22'
numid=99,iface=MIXER,name='AMX1 Byte Map 23'
numid=100,iface=MIXER,name='AMX1 Byte Map 24'
numid=101,iface=MIXER,name='AMX1 Byte Map 25'
numid=102,iface=MIXER,name='AMX1 Byte Map 26'
numid=103,iface=MIXER,name='AMX1 Byte Map 27'
numid=104,iface=MIXER,name='AMX1 Byte Map 28'
numid=105,iface=MIXER,name='AMX1 Byte Map 29'
numid=79,iface=MIXER,name='AMX1 Byte Map 3'
numid=106,iface=MIXER,name='AMX1 Byte Map 30'
numid=107,iface=MIXER,name='AMX1 Byte Map 31'
numid=108,iface=MIXER,name='AMX1 Byte Map 32'
numid=109,iface=MIXER,name='AMX1 Byte Map 33'
numid=110,iface=MIXER,name='AMX1 Byte Map 34'
numid=111,iface=MIXER,name='AMX1 Byte Map 35'
numid=112,iface=MIXER,name='AMX1 Byte Map 36'
numid=113,iface=MIXER,name='AMX1 Byte Map 37'
numid=114,iface=MIXER,name='AMX1 Byte Map 38'
numid=115,iface=MIXER,name='AMX1 Byte Map 39'
numid=80,iface=MIXER,name='AMX1 Byte Map 4'
numid=116,iface=MIXER,name='AMX1 Byte Map 40'
numid=117,iface=MIXER,name='AMX1 Byte Map 41'
numid=118,iface=MIXER,name='AMX1 Byte Map 42'
numid=119,iface=MIXER,name='AMX1 Byte Map 43'
numid=120,iface=MIXER,name='AMX1 Byte Map 44'
numid=121,iface=MIXER,name='AMX1 Byte Map 45'
numid=122,iface=MIXER,name='AMX1 Byte Map 46'
numid=123,iface=MIXER,name='AMX1 Byte Map 47'
numid=124,iface=MIXER,name='AMX1 Byte Map 48'
numid=125,iface=MIXER,name='AMX1 Byte Map 49'
numid=81,iface=MIXER,name='AMX1 Byte Map 5'
numid=126,iface=MIXER,name='AMX1 Byte Map 50'
numid=127,iface=MIXER,name='AMX1 Byte Map 51'
numid=128,iface=MIXER,name='AMX1 Byte Map 52'
numid=129,iface=MIXER,name='AMX1 Byte Map 53'
numid=130,iface=MIXER,name='AMX1 Byte Map 54'
numid=131,iface=MIXER,name='AMX1 Byte Map 55'
numid=132,iface=MIXER,name='AMX1 Byte Map 56'
numid=133,iface=MIXER,name='AMX1 Byte Map 57'
numid=134,iface=MIXER,name='AMX1 Byte Map 58'
numid=135,iface=MIXER,name='AMX1 Byte Map 59'
numid=82,iface=MIXER,name='AMX1 Byte Map 6'
numid=136,iface=MIXER,name='AMX1 Byte Map 60'
numid=137,iface=MIXER,name='AMX1 Byte Map 61'
numid=138,iface=MIXER,name='AMX1 Byte Map 62'
numid=139,iface=MIXER,name='AMX1 Byte Map 63'
numid=83,iface=MIXER,name='AMX1 Byte Map 7'
numid=84,iface=MIXER,name='AMX1 Byte Map 8'
numid=85,iface=MIXER,name='AMX1 Byte Map 9'
numid=140,iface=MIXER,name='AMX1 Output Channels'
numid=674,iface=MIXER,name='AMX1-1 Mux'
numid=673,iface=MIXER,name='AMX1-2 Mux'
numid=672,iface=MIXER,name='AMX1-3 Mux'
numid=671,iface=MIXER,name='AMX1-4 Mux'
numid=141,iface=MIXER,name='AMX2 Byte Map 0'
numid=142,iface=MIXER,name='AMX2 Byte Map 1'
numid=151,iface=MIXER,name='AMX2 Byte Map 10'
numid=152,iface=MIXER,name='AMX2 Byte Map 11'
numid=153,iface=MIXER,name='AMX2 Byte Map 12'
numid=154,iface=MIXER,name='AMX2 Byte Map 13'
numid=155,iface=MIXER,name='AMX2 Byte Map 14'
numid=156,iface=MIXER,name='AMX2 Byte Map 15'
numid=157,iface=MIXER,name='AMX2 Byte Map 16'
numid=158,iface=MIXER,name='AMX2 Byte Map 17'
numid=159,iface=MIXER,name='AMX2 Byte Map 18'
numid=160,iface=MIXER,name='AMX2 Byte Map 19'
numid=143,iface=MIXER,name='AMX2 Byte Map 2'
numid=161,iface=MIXER,name='AMX2 Byte Map 20'
numid=162,iface=MIXER,name='AMX2 Byte Map 21'
numid=163,iface=MIXER,name='AMX2 Byte Map 22'
numid=164,iface=MIXER,name='AMX2 Byte Map 23'
numid=165,iface=MIXER,name='AMX2 Byte Map 24'
numid=166,iface=MIXER,name='AMX2 Byte Map 25'
numid=167,iface=MIXER,name='AMX2 Byte Map 26'
numid=168,iface=MIXER,name='AMX2 Byte Map 27'
numid=169,iface=MIXER,name='AMX2 Byte Map 28'
numid=170,iface=MIXER,name='AMX2 Byte Map 29'
numid=144,iface=MIXER,name='AMX2 Byte Map 3'
numid=171,iface=MIXER,name='AMX2 Byte Map 30'
numid=172,iface=MIXER,name='AMX2 Byte Map 31'
numid=173,iface=MIXER,name='AMX2 Byte Map 32'
numid=174,iface=MIXER,name='AMX2 Byte Map 33'
numid=175,iface=MIXER,name='AMX2 Byte Map 34'
numid=176,iface=MIXER,name='AMX2 Byte Map 35'
numid=177,iface=MIXER,name='AMX2 Byte Map 36'
numid=178,iface=MIXER,name='AMX2 Byte Map 37'
numid=179,iface=MIXER,name='AMX2 Byte Map 38'
numid=180,iface=MIXER,name='AMX2 Byte Map 39'
numid=145,iface=MIXER,name='AMX2 Byte Map 4'
numid=181,iface=MIXER,name='AMX2 Byte Map 40'
numid=182,iface=MIXER,name='AMX2 Byte Map 41'
numid=183,iface=MIXER,name='AMX2 Byte Map 42'
numid=184,iface=MIXER,name='AMX2 Byte Map 43'
numid=185,iface=MIXER,name='AMX2 Byte Map 44'
numid=186,iface=MIXER,name='AMX2 Byte Map 45'
numid=187,iface=MIXER,name='AMX2 Byte Map 46'
numid=188,iface=MIXER,name='AMX2 Byte Map 47'
numid=189,iface=MIXER,name='AMX2 Byte Map 48'
numid=190,iface=MIXER,name='AMX2 Byte Map 49'
numid=146,iface=MIXER,name='AMX2 Byte Map 5'
numid=191,iface=MIXER,name='AMX2 Byte Map 50'
numid=192,iface=MIXER,name='AMX2 Byte Map 51'
numid=193,iface=MIXER,name='AMX2 Byte Map 52'
numid=194,iface=MIXER,name='AMX2 Byte Map 53'
numid=195,iface=MIXER,name='AMX2 Byte Map 54'
numid=196,iface=MIXER,name='AMX2 Byte Map 55'
numid=197,iface=MIXER,name='AMX2 Byte Map 56'
numid=198,iface=MIXER,name='AMX2 Byte Map 57'
numid=199,iface=MIXER,name='AMX2 Byte Map 58'
numid=200,iface=MIXER,name='AMX2 Byte Map 59'
numid=147,iface=MIXER,name='AMX2 Byte Map 6'
numid=201,iface=MIXER,name='AMX2 Byte Map 60'
numid=202,iface=MIXER,name='AMX2 Byte Map 61'
numid=203,iface=MIXER,name='AMX2 Byte Map 62'
numid=204,iface=MIXER,name='AMX2 Byte Map 63'
numid=148,iface=MIXER,name='AMX2 Byte Map 7'
numid=149,iface=MIXER,name='AMX2 Byte Map 8'
numid=150,iface=MIXER,name='AMX2 Byte Map 9'
numid=205,iface=MIXER,name='AMX2 Output Channels'
numid=670,iface=MIXER,name='AMX2-1 Mux'
numid=669,iface=MIXER,name='AMX2-2 Mux'
numid=668,iface=MIXER,name='AMX2-3 Mux'
numid=667,iface=MIXER,name='AMX2-4 Mux'
numid=206,iface=MIXER,name='AMX3 Byte Map 0'
numid=207,iface=MIXER,name='AMX3 Byte Map 1'
numid=216,iface=MIXER,name='AMX3 Byte Map 10'
numid=217,iface=MIXER,name='AMX3 Byte Map 11'
numid=218,iface=MIXER,name='AMX3 Byte Map 12'
numid=219,iface=MIXER,name='AMX3 Byte Map 13'
numid=220,iface=MIXER,name='AMX3 Byte Map 14'
numid=221,iface=MIXER,name='AMX3 Byte Map 15'
numid=222,iface=MIXER,name='AMX3 Byte Map 16'
numid=223,iface=MIXER,name='AMX3 Byte Map 17'
numid=224,iface=MIXER,name='AMX3 Byte Map 18'
numid=225,iface=MIXER,name='AMX3 Byte Map 19'
numid=208,iface=MIXER,name='AMX3 Byte Map 2'
numid=226,iface=MIXER,name='AMX3 Byte Map 20'
numid=227,iface=MIXER,name='AMX3 Byte Map 21'
numid=228,iface=MIXER,name='AMX3 Byte Map 22'
numid=229,iface=MIXER,name='AMX3 Byte Map 23'
numid=230,iface=MIXER,name='AMX3 Byte Map 24'
numid=231,iface=MIXER,name='AMX3 Byte Map 25'
numid=232,iface=MIXER,name='AMX3 Byte Map 26'
numid=233,iface=MIXER,name='AMX3 Byte Map 27'
numid=234,iface=MIXER,name='AMX3 Byte Map 28'
numid=235,iface=MIXER,name='AMX3 Byte Map 29'
numid=209,iface=MIXER,name='AMX3 Byte Map 3'
numid=236,iface=MIXER,name='AMX3 Byte Map 30'
numid=237,iface=MIXER,name='AMX3 Byte Map 31'
numid=238,iface=MIXER,name='AMX3 Byte Map 32'
numid=239,iface=MIXER,name='AMX3 Byte Map 33'
numid=240,iface=MIXER,name='AMX3 Byte Map 34'
numid=241,iface=MIXER,name='AMX3 Byte Map 35'
numid=242,iface=MIXER,name='AMX3 Byte Map 36'
numid=243,iface=MIXER,name='AMX3 Byte Map 37'
numid=244,iface=MIXER,name='AMX3 Byte Map 38'
numid=245,iface=MIXER,name='AMX3 Byte Map 39'
numid=210,iface=MIXER,name='AMX3 Byte Map 4'
numid=246,iface=MIXER,name='AMX3 Byte Map 40'
numid=247,iface=MIXER,name='AMX3 Byte Map 41'
numid=248,iface=MIXER,name='AMX3 Byte Map 42'
numid=249,iface=MIXER,name='AMX3 Byte Map 43'
numid=250,iface=MIXER,name='AMX3 Byte Map 44'
numid=251,iface=MIXER,name='AMX3 Byte Map 45'
numid=252,iface=MIXER,name='AMX3 Byte Map 46'
numid=253,iface=MIXER,name='AMX3 Byte Map 47'
numid=254,iface=MIXER,name='AMX3 Byte Map 48'
numid=255,iface=MIXER,name='AMX3 Byte Map 49'
numid=211,iface=MIXER,name='AMX3 Byte Map 5'
numid=256,iface=MIXER,name='AMX3 Byte Map 50'
numid=257,iface=MIXER,name='AMX3 Byte Map 51'
numid=258,iface=MIXER,name='AMX3 Byte Map 52'
numid=259,iface=MIXER,name='AMX3 Byte Map 53'
numid=260,iface=MIXER,name='AMX3 Byte Map 54'
numid=261,iface=MIXER,name='AMX3 Byte Map 55'
numid=262,iface=MIXER,name='AMX3 Byte Map 56'
numid=263,iface=MIXER,name='AMX3 Byte Map 57'
numid=264,iface=MIXER,name='AMX3 Byte Map 58'
numid=265,iface=MIXER,name='AMX3 Byte Map 59'
numid=212,iface=MIXER,name='AMX3 Byte Map 6'
numid=266,iface=MIXER,name='AMX3 Byte Map 60'
numid=267,iface=MIXER,name='AMX3 Byte Map 61'
numid=268,iface=MIXER,name='AMX3 Byte Map 62'
numid=269,iface=MIXER,name='AMX3 Byte Map 63'
numid=213,iface=MIXER,name='AMX3 Byte Map 7'
numid=214,iface=MIXER,name='AMX3 Byte Map 8'
numid=215,iface=MIXER,name='AMX3 Byte Map 9'
numid=270,iface=MIXER,name='AMX3 Output Channels'
numid=653,iface=MIXER,name='AMX3-1 Mux'
numid=652,iface=MIXER,name='AMX3-2 Mux'
numid=651,iface=MIXER,name='AMX3-3 Mux'
numid=650,iface=MIXER,name='AMX3-4 Mux'
numid=271,iface=MIXER,name='AMX4 Byte Map 0'
numid=272,iface=MIXER,name='AMX4 Byte Map 1'
numid=281,iface=MIXER,name='AMX4 Byte Map 10'
numid=282,iface=MIXER,name='AMX4 Byte Map 11'
numid=283,iface=MIXER,name='AMX4 Byte Map 12'
numid=284,iface=MIXER,name='AMX4 Byte Map 13'
numid=285,iface=MIXER,name='AMX4 Byte Map 14'
numid=286,iface=MIXER,name='AMX4 Byte Map 15'
numid=287,iface=MIXER,name='AMX4 Byte Map 16'
numid=288,iface=MIXER,name='AMX4 Byte Map 17'
numid=289,iface=MIXER,name='AMX4 Byte Map 18'
numid=290,iface=MIXER,name='AMX4 Byte Map 19'
numid=273,iface=MIXER,name='AMX4 Byte Map 2'
numid=291,iface=MIXER,name='AMX4 Byte Map 20'
numid=292,iface=MIXER,name='AMX4 Byte Map 21'
numid=293,iface=MIXER,name='AMX4 Byte Map 22'
numid=294,iface=MIXER,name='AMX4 Byte Map 23'
numid=295,iface=MIXER,name='AMX4 Byte Map 24'
numid=296,iface=MIXER,name='AMX4 Byte Map 25'
numid=297,iface=MIXER,name='AMX4 Byte Map 26'
numid=298,iface=MIXER,name='AMX4 Byte Map 27'
numid=299,iface=MIXER,name='AMX4 Byte Map 28'
numid=300,iface=MIXER,name='AMX4 Byte Map 29'
numid=274,iface=MIXER,name='AMX4 Byte Map 3'
numid=301,iface=MIXER,name='AMX4 Byte Map 30'
numid=302,iface=MIXER,name='AMX4 Byte Map 31'
numid=303,iface=MIXER,name='AMX4 Byte Map 32'
numid=304,iface=MIXER,name='AMX4 Byte Map 33'
numid=305,iface=MIXER,name='AMX4 Byte Map 34'
numid=306,iface=MIXER,name='AMX4 Byte Map 35'
numid=307,iface=MIXER,name='AMX4 Byte Map 36'
numid=308,iface=MIXER,name='AMX4 Byte Map 37'
numid=309,iface=MIXER,name='AMX4 Byte Map 38'
numid=310,iface=MIXER,name='AMX4 Byte Map 39'
numid=275,iface=MIXER,name='AMX4 Byte Map 4'
numid=311,iface=MIXER,name='AMX4 Byte Map 40'
numid=312,iface=MIXER,name='AMX4 Byte Map 41'
numid=313,iface=MIXER,name='AMX4 Byte Map 42'
numid=314,iface=MIXER,name='AMX4 Byte Map 43'
numid=315,iface=MIXER,name='AMX4 Byte Map 44'
numid=316,iface=MIXER,name='AMX4 Byte Map 45'
numid=317,iface=MIXER,name='AMX4 Byte Map 46'
numid=318,iface=MIXER,name='AMX4 Byte Map 47'
numid=319,iface=MIXER,name='AMX4 Byte Map 48'
numid=320,iface=MIXER,name='AMX4 Byte Map 49'
numid=276,iface=MIXER,name='AMX4 Byte Map 5'
numid=321,iface=MIXER,name='AMX4 Byte Map 50'
numid=322,iface=MIXER,name='AMX4 Byte Map 51'
numid=323,iface=MIXER,name='AMX4 Byte Map 52'
numid=324,iface=MIXER,name='AMX4 Byte Map 53'
numid=325,iface=MIXER,name='AMX4 Byte Map 54'
numid=326,iface=MIXER,name='AMX4 Byte Map 55'
numid=327,iface=MIXER,name='AMX4 Byte Map 56'
numid=328,iface=MIXER,name='AMX4 Byte Map 57'
numid=329,iface=MIXER,name='AMX4 Byte Map 58'
numid=330,iface=MIXER,name='AMX4 Byte Map 59'
numid=277,iface=MIXER,name='AMX4 Byte Map 6'
numid=331,iface=MIXER,name='AMX4 Byte Map 60'
numid=332,iface=MIXER,name='AMX4 Byte Map 61'
numid=333,iface=MIXER,name='AMX4 Byte Map 62'
numid=334,iface=MIXER,name='AMX4 Byte Map 63'
numid=278,iface=MIXER,name='AMX4 Byte Map 7'
numid=279,iface=MIXER,name='AMX4 Byte Map 8'
numid=280,iface=MIXER,name='AMX4 Byte Map 9'
numid=335,iface=MIXER,name='AMX4 Output Channels'
numid=649,iface=MIXER,name='AMX4-1 Mux'
numid=648,iface=MIXER,name='AMX4-2 Mux'
numid=647,iface=MIXER,name='AMX4-3 Mux'
numid=646,iface=MIXER,name='AMX4-4 Mux'
numid=608,iface=MIXER,name='APM-IN1 MUX'
numid=607,iface=MIXER,name='APM-IN2 MUX'
numid=606,iface=MIXER,name='APM-IN3 MUX'
numid=605,iface=MIXER,name='APM-IN4 MUX'
numid=604,iface=MIXER,name='APM-IN5 MUX'
numid=603,iface=MIXER,name='APM-IN6 MUX'
numid=602,iface=MIXER,name='APM-IN7 MUX'
numid=601,iface=MIXER,name='APM-IN8 MUX'
numid=600,iface=MIXER,name='APM-OUT1 MUX'
numid=599,iface=MIXER,name='APM-OUT2 MUX'
numid=598,iface=MIXER,name='APM-OUT3 MUX'
numid=597,iface=MIXER,name='APM-OUT4 MUX'
numid=596,iface=MIXER,name='APM-OUT5 MUX'
numid=595,iface=MIXER,name='APM-OUT6 MUX'
numid=594,iface=MIXER,name='APM-OUT7 MUX'
numid=593,iface=MIXER,name='APM-OUT8 MUX'
numid=68,iface=MIXER,name='APM1 Input Mode'
numid=60,iface=MIXER,name='APM1 Min ADSP Clock'
numid=52,iface=MIXER,name='APM1 Priority'
numid=69,iface=MIXER,name='APM2 Input Mode'
numid=61,iface=MIXER,name='APM2 Min ADSP Clock'
numid=53,iface=MIXER,name='APM2 Priority'
numid=70,iface=MIXER,name='APM3 Input Mode'
numid=62,iface=MIXER,name='APM3 Min ADSP Clock'
numid=54,iface=MIXER,name='APM3 Priority'
numid=71,iface=MIXER,name='APM4 Input Mode'
numid=63,iface=MIXER,name='APM4 Min ADSP Clock'
numid=55,iface=MIXER,name='APM4 Priority'
numid=72,iface=MIXER,name='APM5 Input Mode'
numid=64,iface=MIXER,name='APM5 Min ADSP Clock'
numid=56,iface=MIXER,name='APM5 Priority'
numid=73,iface=MIXER,name='APM6 Input Mode'
numid=65,iface=MIXER,name='APM6 Min ADSP Clock'
numid=57,iface=MIXER,name='APM6 Priority'
numid=74,iface=MIXER,name='APM7 Input Mode'
numid=66,iface=MIXER,name='APM7 Min ADSP Clock'
numid=58,iface=MIXER,name='APM7 Priority'
numid=75,iface=MIXER,name='APM8 Input Mode'
numid=67,iface=MIXER,name='APM8 Min ADSP Clock'
numid=59,iface=MIXER,name='APM8 Priority'
numid=427,iface=MIXER,name='ASRC1 Ratio1 Frac'
numid=426,iface=MIXER,name='ASRC1 Ratio1 Int'
numid=438,iface=MIXER,name='ASRC1 Ratio1 SRC'
numid=429,iface=MIXER,name='ASRC1 Ratio2 Frac'
numid=428,iface=MIXER,name='ASRC1 Ratio2 Int'
numid=439,iface=MIXER,name='ASRC1 Ratio2 SRC'
numid=431,iface=MIXER,name='ASRC1 Ratio3 Frac'
numid=430,iface=MIXER,name='ASRC1 Ratio3 Int'
numid=440,iface=MIXER,name='ASRC1 Ratio3 SRC'
numid=433,iface=MIXER,name='ASRC1 Ratio4 Frac'
numid=432,iface=MIXER,name='ASRC1 Ratio4 Int'
numid=441,iface=MIXER,name='ASRC1 Ratio4 SRC'
numid=435,iface=MIXER,name='ASRC1 Ratio5 Frac'
numid=434,iface=MIXER,name='ASRC1 Ratio5 Int'
numid=442,iface=MIXER,name='ASRC1 Ratio5 SRC'
numid=437,iface=MIXER,name='ASRC1 Ratio6 Frac'
numid=436,iface=MIXER,name='ASRC1 Ratio6 Int'
numid=443,iface=MIXER,name='ASRC1 Ratio6 SRC'
numid=444,iface=MIXER,name='ASRC1 Stream1 Enable'
numid=450,iface=MIXER,name='ASRC1 Stream1 Hwcomp Disable'
numid=456,iface=MIXER,name='ASRC1 Stream1 Input Thresh'
numid=462,iface=MIXER,name='ASRC1 Stream1 Output Thresh'
numid=445,iface=MIXER,name='ASRC1 Stream2 Enable'
numid=451,iface=MIXER,name='ASRC1 Stream2 Hwcomp Disable'
numid=457,iface=MIXER,name='ASRC1 Stream2 Input Thresh'
numid=463,iface=MIXER,name='ASRC1 Stream2 Output Thresh'
numid=446,iface=MIXER,name='ASRC1 Stream3 Enable'
numid=452,iface=MIXER,name='ASRC1 Stream3 Hwcomp Disable'
numid=458,iface=MIXER,name='ASRC1 Stream3 Input Thresh'
numid=464,iface=MIXER,name='ASRC1 Stream3 Output Thresh'
numid=447,iface=MIXER,name='ASRC1 Stream4 Enable'
numid=453,iface=MIXER,name='ASRC1 Stream4 Hwcomp Disable'
numid=459,iface=MIXER,name='ASRC1 Stream4 Input Thresh'
numid=465,iface=MIXER,name='ASRC1 Stream4 Output Thresh'
numid=448,iface=MIXER,name='ASRC1 Stream5 Enable'
numid=454,iface=MIXER,name='ASRC1 Stream5 Hwcomp Disable'
numid=460,iface=MIXER,name='ASRC1 Stream5 Input Thresh'
numid=466,iface=MIXER,name='ASRC1 Stream5 Output Thresh'
numid=449,iface=MIXER,name='ASRC1 Stream6 Enable'
numid=455,iface=MIXER,name='ASRC1 Stream6 Hwcomp Disable'
numid=461,iface=MIXER,name='ASRC1 Stream6 Input Thresh'
numid=467,iface=MIXER,name='ASRC1 Stream6 Output Thresh'
numid=643,iface=MIXER,name='ASRC1-1 Mux'
numid=642,iface=MIXER,name='ASRC1-2 Mux'
numid=641,iface=MIXER,name='ASRC1-3 Mux'
numid=640,iface=MIXER,name='ASRC1-4 Mux'
numid=639,iface=MIXER,name='ASRC1-5 Mux'
numid=638,iface=MIXER,name='ASRC1-6 Mux'
numid=637,iface=MIXER,name='ASRC1-7 Mux'
numid=579,iface=MIXER,name='AVB_DEPACK MUX'
numid=45,iface=MIXER,name='AVB_DEPACK send bytes'
numid=25,iface=MIXER,name='AVB_DEPACK set params'
numid=577,iface=MIXER,name='AVB_PACK MUX'
numid=47,iface=MIXER,name='AVB_PACK send bytes'
numid=27,iface=MIXER,name='AVB_PACK set params'
numid=563,iface=MIXER,name='Adder1 RX1'
numid=572,iface=MIXER,name='Adder1 RX10'
numid=564,iface=MIXER,name='Adder1 RX2'
numid=565,iface=MIXER,name='Adder1 RX3'
numid=566,iface=MIXER,name='Adder1 RX4'
numid=567,iface=MIXER,name='Adder1 RX5'
numid=568,iface=MIXER,name='Adder1 RX6'
numid=569,iface=MIXER,name='Adder1 RX7'
numid=570,iface=MIXER,name='Adder1 RX8'
numid=571,iface=MIXER,name='Adder1 RX9'
numid=553,iface=MIXER,name='Adder2 RX1'
numid=562,iface=MIXER,name='Adder2 RX10'
numid=554,iface=MIXER,name='Adder2 RX2'
numid=555,iface=MIXER,name='Adder2 RX3'
numid=556,iface=MIXER,name='Adder2 RX4'
numid=557,iface=MIXER,name='Adder2 RX5'
numid=558,iface=MIXER,name='Adder2 RX6'
numid=559,iface=MIXER,name='Adder2 RX7'
numid=560,iface=MIXER,name='Adder2 RX8'
numid=561,iface=MIXER,name='Adder2 RX9'
numid=543,iface=MIXER,name='Adder3 RX1'
numid=552,iface=MIXER,name='Adder3 RX10'
numid=544,iface=MIXER,name='Adder3 RX2'
numid=545,iface=MIXER,name='Adder3 RX3'
numid=546,iface=MIXER,name='Adder3 RX4'
numid=547,iface=MIXER,name='Adder3 RX5'
numid=548,iface=MIXER,name='Adder3 RX6'
numid=549,iface=MIXER,name='Adder3 RX7'
numid=550,iface=MIXER,name='Adder3 RX8'
numid=551,iface=MIXER,name='Adder3 RX9'
numid=533,iface=MIXER,name='Adder4 RX1'
numid=542,iface=MIXER,name='Adder4 RX10'
numid=534,iface=MIXER,name='Adder4 RX2'
numid=535,iface=MIXER,name='Adder4 RX3'
numid=536,iface=MIXER,name='Adder4 RX4'
numid=537,iface=MIXER,name='Adder4 RX5'
numid=538,iface=MIXER,name='Adder4 RX6'
numid=539,iface=MIXER,name='Adder4 RX7'
numid=540,iface=MIXER,name='Adder4 RX8'
numid=541,iface=MIXER,name='Adder4 RX9'
numid=523,iface=MIXER,name='Adder5 RX1'
numid=532,iface=MIXER,name='Adder5 RX10'
numid=524,iface=MIXER,name='Adder5 RX2'
numid=525,iface=MIXER,name='Adder5 RX3'
numid=526,iface=MIXER,name='Adder5 RX4'
numid=527,iface=MIXER,name='Adder5 RX5'
numid=528,iface=MIXER,name='Adder5 RX6'
numid=529,iface=MIXER,name='Adder5 RX7'
numid=530,iface=MIXER,name='Adder5 RX8'
numid=531,iface=MIXER,name='Adder5 RX9'
numid=492,iface=MIXER,name='Denominator1 Mux'
numid=516,iface=MIXER,name='Denominator1 Prescalar'
numid=493,iface=MIXER,name='Denominator2 Mux'
numid=517,iface=MIXER,name='Denominator2 Prescalar'
numid=494,iface=MIXER,name='Denominator3 Mux'
numid=518,iface=MIXER,name='Denominator3 Prescalar'
numid=495,iface=MIXER,name='Denominator4 Mux'
numid=519,iface=MIXER,name='Denominator4 Prescalar'
numid=496,iface=MIXER,name='Denominator5 Mux'
numid=520,iface=MIXER,name='Denominator5 Prescalar'
numid=497,iface=MIXER,name='Denominator6 Mux'
numid=521,iface=MIXER,name='Denominator6 Prescalar'
numid=580,iface=MIXER,name='EAVB_DMA_RX MUX'
numid=44,iface=MIXER,name='EAVB_DMA_RX send bytes'
numid=24,iface=MIXER,name='EAVB_DMA_RX set params'
numid=578,iface=MIXER,name='EAVB_DMA_TX MUX'
numid=46,iface=MIXER,name='EAVB_DMA_TX send bytes'
numid=26,iface=MIXER,name='EAVB_DMA_TX set params'
numid=499,iface=MIXER,name='Lane1 Ratio Frac'
numid=498,iface=MIXER,name='Lane1 Ratio Int'
numid=480,iface=MIXER,name='Lane1 enable'
numid=501,iface=MIXER,name='Lane2 Ratio Frac'
numid=500,iface=MIXER,name='Lane2 Ratio Int'
numid=481,iface=MIXER,name='Lane2 enable'
numid=503,iface=MIXER,name='Lane3 Ratio Frac'
numid=502,iface=MIXER,name='Lane3 Ratio Int'
numid=482,iface=MIXER,name='Lane3 enable'
numid=505,iface=MIXER,name='Lane4 Ratio Frac'
numid=504,iface=MIXER,name='Lane4 Ratio Int'
numid=483,iface=MIXER,name='Lane4 enable'
numid=507,iface=MIXER,name='Lane5 Ratio Frac'
numid=506,iface=MIXER,name='Lane5 Ratio Int'
numid=484,iface=MIXER,name='Lane5 enable'
numid=509,iface=MIXER,name='Lane6 Ratio Frac'
numid=508,iface=MIXER,name='Lane6 Ratio Int'
numid=485,iface=MIXER,name='Lane6 enable'
numid=696,iface=MIXER,name='MIXER1-1 Mux'
numid=687,iface=MIXER,name='MIXER1-10 Mux'
numid=695,iface=MIXER,name='MIXER1-2 Mux'
numid=694,iface=MIXER,name='MIXER1-3 Mux'
numid=693,iface=MIXER,name='MIXER1-4 Mux'
numid=692,iface=MIXER,name='MIXER1-5 Mux'
numid=691,iface=MIXER,name='MIXER1-6 Mux'
numid=690,iface=MIXER,name='MIXER1-7 Mux'
numid=689,iface=MIXER,name='MIXER1-8 Mux'
numid=688,iface=MIXER,name='MIXER1-9 Mux'
numid=388,iface=MIXER,name='MVC1 Bits'
numid=389,iface=MIXER,name='MVC1 Channels'
numid=387,iface=MIXER,name='MVC1 Curve Type'
numid=386,iface=MIXER,name='MVC1 Mute'
numid=676,iface=MIXER,name='MVC1 Mux'
numid=385,iface=MIXER,name='MVC1 Vol'
numid=393,iface=MIXER,name='MVC2 Bits'
numid=394,iface=MIXER,name='MVC2 Channels'
numid=392,iface=MIXER,name='MVC2 Curve Type'
numid=391,iface=MIXER,name='MVC2 Mute'
numid=675,iface=MIXER,name='MVC2 Mux'
numid=390,iface=MIXER,name='MVC2 Vol'
numid=356,iface=MIXER,name='Mixer Enable'
numid=486,iface=MIXER,name='Numerator1 Mux'
numid=510,iface=MIXER,name='Numerator1 Prescalar'
numid=487,iface=MIXER,name='Numerator2 Mux'
numid=511,iface=MIXER,name='Numerator2 Prescalar'
numid=488,iface=MIXER,name='Numerator3 Mux'
numid=512,iface=MIXER,name='Numerator3 Prescalar'
numid=489,iface=MIXER,name='Numerator4 Mux'
numid=513,iface=MIXER,name='Numerator4 Prescalar'
numid=490,iface=MIXER,name='Numerator5 Mux'
numid=514,iface=MIXER,name='Numerator5 Prescalar'
numid=491,iface=MIXER,name='Numerator6 Mux'
numid=515,iface=MIXER,name='Numerator6 Prescalar'
numid=678,iface=MIXER,name='OPE1 Mux'
numid=425,iface=MIXER,name='OPE1 direction peq to mbdrc'
numid=419,iface=MIXER,name='OPE1 mbdrc attack gain'
numid=408,iface=MIXER,name='OPE1 mbdrc fast attack factor'
numid=413,iface=MIXER,name='OPE1 mbdrc fast attack tc'
numid=409,iface=MIXER,name='OPE1 mbdrc fast release factor'
numid=421,iface=MIXER,name='OPE1 mbdrc fast release gain'
numid=402,iface=MIXER,name='OPE1 mbdrc filter structure'
numid=403,iface=MIXER,name='OPE1 mbdrc frame size'
numid=424,iface=MIXER,name='OPE1 mbdrc high band biquad coeffs'
numid=410,iface=MIXER,name='OPE1 mbdrc iir stages'
numid=411,iface=MIXER,name='OPE1 mbdrc in attack tc'
numid=412,iface=MIXER,name='OPE1 mbdrc in release tc'
numid=414,iface=MIXER,name='OPE1 mbdrc in threshold'
numid=418,iface=MIXER,name='OPE1 mbdrc init gain'
numid=422,iface=MIXER,name='OPE1 mbdrc low band biquad coeffs'
numid=417,iface=MIXER,name='OPE1 mbdrc makeup gain'
numid=407,iface=MIXER,name='OPE1 mbdrc master volume'
numid=423,iface=MIXER,name='OPE1 mbdrc mid band biquad coeffs'
numid=404,iface=MIXER,name='OPE1 mbdrc mode'
numid=415,iface=MIXER,name='OPE1 mbdrc out threshold'
numid=401,iface=MIXER,name='OPE1 mbdrc peak-rms mode'
numid=416,iface=MIXER,name='OPE1 mbdrc ratio'
numid=420,iface=MIXER,name='OPE1 mbdrc release gain'
numid=405,iface=MIXER,name='OPE1 mbdrc rms offset'
numid=406,iface=MIXER,name='OPE1 mbdrc shift control'
numid=395,iface=MIXER,name='OPE1 peq active'
numid=396,iface=MIXER,name='OPE1 peq biquad stages'
numid=397,iface=MIXER,name='OPE1 peq channel0 biquad gain params'
numid=399,iface=MIXER,name='OPE1 peq channel0 biquad shift params'
numid=398,iface=MIXER,name='OPE1 peq channel1 biquad gain params'
numid=400,iface=MIXER,name='OPE1 peq channel1 biquad shift params'
numid=573,iface=MIXER,name='PLUGIN10 MUX'
numid=51,iface=MIXER,name='PLUGIN10 send bytes'
numid=31,iface=MIXER,name='PLUGIN10 set params'
numid=576,iface=MIXER,name='PLUGIN7 MUX'
numid=48,iface=MIXER,name='PLUGIN7 send bytes'
numid=28,iface=MIXER,name='PLUGIN7 set params'
numid=575,iface=MIXER,name='PLUGIN8 MUX'
numid=49,iface=MIXER,name='PLUGIN8 send bytes'
numid=29,iface=MIXER,name='PLUGIN8 set params'
numid=574,iface=MIXER,name='PLUGIN9 MUX'
numid=50,iface=MIXER,name='PLUGIN9 send bytes'
numid=30,iface=MIXER,name='PLUGIN9 set params'
numid=582,iface=MIXER,name='REVERB MUX'
numid=42,iface=MIXER,name='REVERB send bytes'
numid=22,iface=MIXER,name='REVERB set params'
numid=336,iface=MIXER,name='RX1 Gain'
numid=346,iface=MIXER,name='RX1 Gain Instant'
numid=345,iface=MIXER,name='RX10 Gain'
numid=355,iface=MIXER,name='RX10 Gain Instant'
numid=337,iface=MIXER,name='RX2 Gain'
numid=347,iface=MIXER,name='RX2 Gain Instant'
numid=338,iface=MIXER,name='RX3 Gain'
numid=348,iface=MIXER,name='RX3 Gain Instant'
numid=339,iface=MIXER,name='RX4 Gain'
numid=349,iface=MIXER,name='RX4 Gain Instant'
numid=340,iface=MIXER,name='RX5 Gain'
numid=350,iface=MIXER,name='RX5 Gain Instant'
numid=341,iface=MIXER,name='RX6 Gain'
numid=351,iface=MIXER,name='RX6 Gain Instant'
numid=342,iface=MIXER,name='RX7 Gain'
numid=352,iface=MIXER,name='RX7 Gain Instant'
numid=343,iface=MIXER,name='RX8 Gain'
numid=353,iface=MIXER,name='RX8 Gain Instant'
numid=344,iface=MIXER,name='RX9 Gain'
numid=354,iface=MIXER,name='RX9 Gain Instant'
numid=700,iface=MIXER,name='SFC1 Mux'
numid=361,iface=MIXER,name='SFC1 init'
numid=359,iface=MIXER,name='SFC1 input bit format'
numid=357,iface=MIXER,name='SFC1 input rate'
numid=362,iface=MIXER,name='SFC1 input stereo conv'
numid=360,iface=MIXER,name='SFC1 output bit format'
numid=363,iface=MIXER,name='SFC1 output mono conv'
numid=358,iface=MIXER,name='SFC1 output rate'
numid=699,iface=MIXER,name='SFC2 Mux'
numid=368,iface=MIXER,name='SFC2 init'
numid=366,iface=MIXER,name='SFC2 input bit format'
numid=364,iface=MIXER,name='SFC2 input rate'
numid=369,iface=MIXER,name='SFC2 input stereo conv'
numid=367,iface=MIXER,name='SFC2 output bit format'
numid=370,iface=MIXER,name='SFC2 output mono conv'
numid=365,iface=MIXER,name='SFC2 output rate'
numid=698,iface=MIXER,name='SFC3 Mux'
numid=375,iface=MIXER,name='SFC3 init'
numid=373,iface=MIXER,name='SFC3 input bit format'
numid=371,iface=MIXER,name='SFC3 input rate'
numid=376,iface=MIXER,name='SFC3 input stereo conv'
numid=374,iface=MIXER,name='SFC3 output bit format'
numid=377,iface=MIXER,name='SFC3 output mono conv'
numid=372,iface=MIXER,name='SFC3 output rate'
numid=697,iface=MIXER,name='SFC4 Mux'
numid=382,iface=MIXER,name='SFC4 init'
numid=380,iface=MIXER,name='SFC4 input bit format'
numid=378,iface=MIXER,name='SFC4 input rate'
numid=383,iface=MIXER,name='SFC4 input stereo conv'
numid=381,iface=MIXER,name='SFC4 output bit format'
numid=384,iface=MIXER,name='SFC4 output mono conv'
numid=379,iface=MIXER,name='SFC4 output rate'
numid=686,iface=MIXER,name='SPDIF1-1 Mux'
numid=685,iface=MIXER,name='SPDIF1-2 Mux'
numid=677,iface=MIXER,name='SPKPROT1 Mux'
numid=581,iface=MIXER,name='WIRE MUX'
numid=43,iface=MIXER,name='WIRE send bytes'
numid=23,iface=MIXER,name='WIRE set params'
numid=522,iface=MIXER,name='codec rate'

Hi Andrei

There is a typo in the above it should be …

amixer sset "MIXER1-4 Mux" "ADMAIF9"
amixer sset "I2S1 Mux" "MIXER1-1"
amixer sset "Adder1 RX4" on
amixer sset "Mixer Enable" on

I tried this and verified that it works fine (note I am using L4T rel32) …

aplay-26615 [001] ...1 685003.123935: snd_pcm_playback_open <-snd_open
           aplay-26615 [001] .... 685003.130410: snd_soc_dapm_widget_power: widget=Playback 10 val=1
           aplay-26615 [001] .... 685003.130414: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
           aplay-26615 [001] .... 685003.130417: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
           aplay-26615 [001] .... 685003.130425: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
           aplay-26615 [001] .... 685003.130428: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
           aplay-26615 [001] .... 685003.130430: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
           aplay-26615 [001] .... 685003.130431: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
           aplay-26615 [001] .... 685003.130433: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
           aplay-26615 [001] .... 685003.130434: snd_soc_dapm_widget_power: widget=RX4 val=1
           aplay-26615 [001] .... 685003.130437: snd_soc_dapm_widget_power: widget=Adder1 val=1
           aplay-26615 [001] .... 685003.130439: snd_soc_dapm_widget_power: widget=TX1 val=1
           aplay-26615 [001] .... 685003.130440: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
           aplay-26615 [001] .... 685003.130442: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
           aplay-26615 [001] .... 685003.130443: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
           aplay-26615 [001] .... 685003.130445: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
           aplay-26615 [001] .... 685003.130451: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
           aplay-26615 [001] .... 685003.130453: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
           aplay-26615 [001] .... 685003.130455: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
           aplay-26615 [001] .... 685003.130456: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
           aplay-26615 [001] .... 685003.130458: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
           aplay-26615 [001] .... 685003.130459: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
           aplay-26615 [001] .... 685003.130461: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
           aplay-26615 [001] .... 685003.130462: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
           aplay-26615 [001] .... 685003.130464: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-x AIF1 Playback val=1
           aplay-26615 [001] .... 685003.130466: snd_soc_dapm_widget_power: widget=x AIF1 Playback val=1
           aplay-26615 [001] .... 685003.130467: snd_soc_dapm_widget_power: widget=x AIF1RX val=1
           aplay-26615 [001] .... 685003.130470: snd_soc_dapm_widget_power: widget=x IF1 DAC1 val=1
           aplay-26615 [001] .... 685003.130472: snd_soc_dapm_widget_power: widget=x I2S1 val=1
           aplay-26615 [001] .... 685003.130475: snd_soc_dapm_widget_power: widget=x IF1 DAC1 R val=1
           aplay-26615 [001] .... 685003.130476: snd_soc_dapm_widget_power: widget=x IF1 DAC1 L val=1
           aplay-26615 [001] .... 685003.130478: snd_soc_dapm_widget_power: widget=x I2S1 ASRC val=1
           aplay-26615 [001] .... 685003.130481: snd_soc_dapm_widget_power: widget=x DAC R1 Mux val=1
           aplay-26615 [001] .... 685003.130483: snd_soc_dapm_widget_power: widget=x DAC L1 Mux val=1
           aplay-26615 [001] .... 685003.130485: snd_soc_dapm_widget_power: widget=x DAC Stereo1 Filter val=1
           aplay-26615 [001] .... 685003.130488: snd_soc_dapm_widget_power: widget=x DAC1 MIXR val=1
           aplay-26615 [001] .... 685003.130490: snd_soc_dapm_widget_power: widget=x DAC1 MIXL val=1
           aplay-26615 [001] .... 685003.130559: snd_soc_dapm_widget_power: widget=x Stereo DAC MIXR val=1
           aplay-26615 [001] .... 685003.130563: snd_soc_dapm_widget_power: widget=x Stereo DAC MIXL val=1
           aplay-26615 [001] .... 685003.130566: snd_soc_dapm_widget_power: widget=x DAC R2 Source val=1
           aplay-26615 [001] .... 685003.130568: snd_soc_dapm_widget_power: widget=x DAC R1 Source val=1
           aplay-26615 [001] .... 685003.130571: snd_soc_dapm_widget_power: widget=x DAC L2 Source val=1
           aplay-26615 [001] .... 685003.130574: snd_soc_dapm_widget_power: widget=x DAC L1 Source val=1
           aplay-26615 [001] .... 685003.130576: snd_soc_dapm_widget_power: widget=x DAC R2 Power val=1
           aplay-26615 [001] .... 685003.130578: snd_soc_dapm_widget_power: widget=x DAC R2 val=1
           aplay-26615 [001] .... 685003.130580: snd_soc_dapm_widget_power: widget=x DAC R1 Power val=1
           aplay-26615 [001] .... 685003.130581: snd_soc_dapm_widget_power: widget=x DAC R1 val=1
           aplay-26615 [001] .... 685003.130583: snd_soc_dapm_widget_power: widget=x DAC L2 Power val=1
           aplay-26615 [001] .... 685003.130585: snd_soc_dapm_widget_power: widget=x DAC L2 val=1
           aplay-26615 [001] .... 685003.130587: snd_soc_dapm_widget_power: widget=x DAC L1 Power val=1
           aplay-26615 [001] .... 685003.130589: snd_soc_dapm_widget_power: widget=x DAC L1 val=1
           aplay-26615 [001] .... 685003.130591: snd_soc_dapm_widget_power: widget=x SPK MIXR val=1
           aplay-26615 [001] .... 685003.130593: snd_soc_dapm_widget_power: widget=x HP Amp val=1
           aplay-26615 [001] .... 685003.130597: snd_soc_dapm_widget_power: widget=x SPK MIXL val=1
           aplay-26615 [001] .... 685003.130599: snd_soc_dapm_widget_power: widget=x SPKVOL R val=1
           aplay-26615 [001] .... 685003.130601: snd_soc_dapm_widget_power: widget=x SYS CLK DET val=1
           aplay-26615 [001] .... 685003.130603: snd_soc_dapm_widget_power: widget=x Charge Pump val=1
           aplay-26615 [001] .... 685003.130605: snd_soc_dapm_widget_power: widget=x HPO R Playback val=1
           aplay-26615 [001] .... 685003.130607: snd_soc_dapm_widget_power: widget=x HPO L Playback val=1
           aplay-26615 [001] .... 685003.130610: snd_soc_dapm_widget_power: widget=x SPKVOL L val=1
           aplay-26615 [001] .... 685003.130612: snd_soc_dapm_widget_power: widget=x SPO R MIX val=1
           aplay-26615 [001] .... 685003.130615: snd_soc_dapm_widget_power: widget=x CLKDET val=1
           aplay-26615 [001] .... 685003.130616: snd_soc_dapm_widget_power: widget=x Headphone Jack val=1
           aplay-26615 [001] .... 685003.130619: snd_soc_dapm_widget_power: widget=x SPO L MIX val=1
           aplay-26615 [001] .... 685003.130622: snd_soc_dapm_widget_power: widget=x SPK Amp val=1
           aplay-26615 [001] .... 685003.130624: snd_soc_dapm_widget_power: widget=x SPO Playback val=1
           aplay-26615 [001] .... 685003.130626: snd_soc_dapm_widget_power: widget=x Int Spk val=1

Regards,
Jon

Jon, Thanks for replay.
It getting better:
drivers startup, and I can see frame sync on scope, but no data:

amixer sset "MIXER1-4 Mux" "ADMAIF10"
Simple mixer control 'MIXER1-4 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
  Item0: 'ADMAIF10'
root@nvidia:~# amixer sset "I2S1 Mux" "MIXER1-1"
Simple mixer control 'I2S1 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
  Item0: 'MIXER1-1'
root@nvidia:~# amixer sset "Adder1 RX4" on
Simple mixer control 'Adder1 RX4',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
root@nvidia:~# amixer sset "Mixer Enable" on
Simple mixer control 'Mixer Enable',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
root@nvidia:~# amixer sset "RX4 Gain" 3000
Simple mixer control 'RX4 Gain',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 131072
  Mono: 3000 [2%]


speaker-test -D hw:0,9 -c 6 -F S16_LE -t sine -f 400

speaker-test 1.0.28

Playback device is hw:0,9
Stream parameters are 48000Hz, S16_LE, 6 channels
Sine wave rate is 400.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 12 to 2730
Period size range from 12 to 1364
Using max buffer size 2728
Periods = 4
was set period_size = 682
was set buffer_size = 2728
 0 - Front Left
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error
root@nvidia:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 54/54   #P:6
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
    speaker-test-6975  [000] ...1    81.231055: snd_soc_dapm_widget_power: widget=Playback 10 val=1
    speaker-test-6975  [000] ...1    81.231058: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
    speaker-test-6975  [000] ...1    81.231064: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
    speaker-test-6975  [000] ...1    81.231070: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
    speaker-test-6975  [000] ...1    81.231072: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
    speaker-test-6975  [000] ...1    81.231073: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
    speaker-test-6975  [000] ...1    81.231073: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
    speaker-test-6975  [000] ...1    81.231074: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
    speaker-test-6975  [000] ...1    81.231075: snd_soc_dapm_widget_power: widget=RX4 val=1
    speaker-test-6975  [000] ...1    81.231077: snd_soc_dapm_widget_power: widget=Adder1 val=1
    speaker-test-6975  [000] ...1    81.231078: snd_soc_dapm_widget_power: widget=TX1 val=1
    speaker-test-6975  [000] ...1    81.231079: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
    speaker-test-6975  [000] ...1    81.231080: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
    speaker-test-6975  [000] ...1    81.231080: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
    speaker-test-6975  [000] ...1    81.231082: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
    speaker-test-6975  [000] ...1    81.231088: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
    speaker-test-6975  [000] ...1    81.231089: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
    speaker-test-6975  [000] ...1    81.231090: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
    speaker-test-6975  [000] ...1    81.231091: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
    speaker-test-6975  [000] ...1    81.231091: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
    speaker-test-6975  [000] ...1    81.231092: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
    speaker-test-6975  [000] ...1    81.231093: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
    speaker-test-6975  [000] ...1    81.231094: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
    speaker-test-6975  [000] ...1    81.231095: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=1
    speaker-test-6975  [000] ...1    81.231095: snd_soc_dapm_widget_power: widget=d Playback val=1
    speaker-test-6975  [000] ...1    81.231096: snd_soc_dapm_widget_power: widget=d OUT val=1
    speaker-test-6975  [000] ...1    81.231097: snd_soc_dapm_widget_power: widget=Headphone-d val=1
    speaker-test-6975  [000] ...1   101.246277: snd_soc_dapm_widget_power: widget=Playback 10 val=0
    speaker-test-6975  [000] ...1   101.246285: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=0
    speaker-test-6975  [000] ...1   101.246287: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=0
    speaker-test-6975  [000] ...1   101.246291: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=0
    speaker-test-6975  [000] ...1   101.246293: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=0
    speaker-test-6975  [000] ...1   101.246294: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=0
    speaker-test-6975  [000] ...1   101.246295: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=0
    speaker-test-6975  [000] ...1   101.246296: snd_soc_dapm_widget_power: widget=RX4 Receive val=0
    speaker-test-6975  [000] ...1   101.246297: snd_soc_dapm_widget_power: widget=RX4 val=0
    speaker-test-6975  [000] ...1   101.246298: snd_soc_dapm_widget_power: widget=Adder1 val=0
    speaker-test-6975  [000] ...1   101.246299: snd_soc_dapm_widget_power: widget=TX1 val=0
    speaker-test-6975  [000] ...1   101.246300: snd_soc_dapm_widget_power: widget=TX1 Transmit val=0
    speaker-test-6975  [000] ...1   101.246301: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=0
    speaker-test-6975  [000] ...1   101.246302: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=0
    speaker-test-6975  [000] ...1   101.246311: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=0
    speaker-test-6975  [000] ...1   101.246317: snd_soc_dapm_widget_power: widget=I2S1 Mux val=0
    speaker-test-6975  [000] ...1   101.246318: snd_soc_dapm_widget_power: widget=I2S1 TX val=0
    speaker-test-6975  [000] ...1   101.246319: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=0
    speaker-test-6975  [000] ...1   101.246320: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=0
    speaker-test-6975  [000] ...1   101.246320: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=0
    speaker-test-6975  [000] ...1   101.246321: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=0
    speaker-test-6975  [000] ...1   101.246322: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=0
    speaker-test-6975  [000] ...1   101.246322: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=0
    speaker-test-6975  [000] ...1   101.246323: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=0
    speaker-test-6975  [000] ...1   101.246324: snd_soc_dapm_widget_power: widget=d Playback val=0
    speaker-test-6975  [000] ...1   101.246325: snd_soc_dapm_widget_power: widget=d OUT val=0

If I do patch tegra_asoc_machine_alt_t18x.c:

[TEGRA186_DAI_LINK_MIXER1_TX1] = {
		.name = "MIXER1 TX1",
		.stream_name = "MIXER1 TX",
		.cpu_dai_name = "TX1",
		.codec_dai_name = "MIXER1-1",
		.cpu_name = "tegra210-mixer",
		.codec_name = "2900800.ahub",
-		.params = &default_link_params,
+		.params = &my_link_params,

Where my_link_params is:

static const struct snd_soc_pcm_stream my_link_params = {
	.formats = SNDRV_PCM_FMTBIT_S16_LE,
	.rate_min = 48000,
	.rate_max = 48000,
	.channels_min = 6,
	.channels_max = 6,
};

I am getting data out:

amixer sset "MIXER1-4 Mux" "ADMAIF10"
Simple mixer control 'MIXER1-4 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
  Item0: 'ADMAIF10'
root@nvidia:~# amixer sset "I2S1 Mux" "MIXER1-1"
Simple mixer control 'I2S1 Mux',0
  Capabilities: enum
  Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
  Item0: 'MIXER1-1'
root@nvidia:~# amixer sset "Adder1 RX4" on
Simple mixer control 'Adder1 RX4',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
root@nvidia:~# amixer sset "Mixer Enable" on
Simple mixer control 'Mixer Enable',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
root@nvidia:~# amixer sset "RX4 Gain" 3000
Simple mixer control 'RX4 Gain',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 131072
  Mono: 3000 [2%]
root@nvidia:~# echo 1 | tee /sys/kernel/debug/tracing/tracing_on
1
idget_power/enableo 1 | tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_w 
1
root@nvidia:~# echo 0 | tee /sys/kernel/debug/tracing/trace
0
root@nvidia:~# speaker-test -D hw:0,9 -c 6 -F S16_LE -t sine -f 400

speaker-test 1.0.28

Playback device is hw:0,9
Stream parameters are 48000Hz, S16_LE, 6 channels
Sine wave rate is 400.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 12 to 2730
Period size range from 12 to 1364
Using max buffer size 2728
Periods = 4
was set period_size = 682
was set buffer_size = 2728
 0 - Front Left
 4 - Center
 1 - Front Right
 3 - Rear Right
 2 - Rear Left
 5 - LFE
Time per period = 5.977323
 0 - Front Left
 4 - Center
 1 - Front Right
 3 - Rear Right
 2 - Rear Left
 5 - LFE
^CTime per period = 5.619081
root@nvidia:~# [  847.626728] mttcan c310000.mttcan can0: Acknowledgement Error Detected
[  847.633255] mttcan c310000.mttcan can0: IR = 0x8000000 PSR 0x71b
[  847.639282] mttcan c310000.mttcan can0: entered error passive state
[  847.645552] mttcan c310000.mttcan can0: Acknowledgement Error Detected
[  847.652087] mttcan c310000.mttcan can0: IR = 0x9800000 PSR 0x77b
[  847.658108] mttcan c310000.mttcan can0: IR = 0x8001201 PSR 0x768

root@nvidia:~# 
root@nvidia:~# 
root@nvidia:~# 
root@nvidia:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 54/54   #P:6
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
    speaker-test-13652 [000] ...1   830.716471: snd_soc_dapm_widget_power: widget=Playback 10 val=1
    speaker-test-13652 [000] ...1   830.716474: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
    speaker-test-13652 [000] ...1   830.716523: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
    speaker-test-13652 [000] ...1   830.716527: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
    speaker-test-13652 [000] ...1   830.716529: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
    speaker-test-13652 [000] ...1   830.716530: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
    speaker-test-13652 [000] ...1   830.716531: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
    speaker-test-13652 [000] ...1   830.716531: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
    speaker-test-13652 [000] ...1   830.716532: snd_soc_dapm_widget_power: widget=RX4 val=1
    speaker-test-13652 [000] ...1   830.716534: snd_soc_dapm_widget_power: widget=Adder1 val=1
    speaker-test-13652 [000] ...1   830.716535: snd_soc_dapm_widget_power: widget=TX1 val=1
    speaker-test-13652 [000] ...1   830.716536: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
    speaker-test-13652 [000] ...1   830.716536: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
    speaker-test-13652 [000] ...1   830.716537: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
    speaker-test-13652 [000] ...1   830.716539: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
    speaker-test-13652 [000] ...1   830.716544: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
    speaker-test-13652 [000] ...1   830.716546: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
    speaker-test-13652 [000] ...1   830.716547: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
    speaker-test-13652 [000] ...1   830.716547: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
    speaker-test-13652 [000] ...1   830.716548: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
    speaker-test-13652 [000] ...1   830.716549: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
    speaker-test-13652 [000] ...1   830.716550: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
    speaker-test-13652 [000] ...1   830.716550: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
    speaker-test-13652 [000] ...1   830.716551: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=1
    speaker-test-13652 [000] ...1   830.716552: snd_soc_dapm_widget_power: widget=d Playback val=1
    speaker-test-13652 [000] ...1   830.716553: snd_soc_dapm_widget_power: widget=d OUT val=1
    speaker-test-13652 [000] ...1   830.716553: snd_soc_dapm_widget_power: widget=Headphone-d val=1
    speaker-test-13652 [003] ...1   842.314988: snd_soc_dapm_widget_power: widget=Playback 10 val=0
    speaker-test-13652 [003] ...1   842.314996: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=0
    speaker-test-13652 [003] ...1   842.314997: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=0
    speaker-test-13652 [003] ...1   842.315001: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=0
    speaker-test-13652 [003] ...1   842.315003: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=0
    speaker-test-13652 [003] ...1   842.315004: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=0
    speaker-test-13652 [003] ...1   842.315005: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=0
    speaker-test-13652 [003] ...1   842.315006: snd_soc_dapm_widget_power: widget=RX4 Receive val=0
    speaker-test-13652 [003] ...1   842.315006: snd_soc_dapm_widget_power: widget=RX4 val=0
    speaker-test-13652 [003] ...1   842.315009: snd_soc_dapm_widget_power: widget=Adder1 val=0
    speaker-test-13652 [003] ...1   842.315009: snd_soc_dapm_widget_power: widget=TX1 val=0
    speaker-test-13652 [003] ...1   842.315010: snd_soc_dapm_widget_power: widget=TX1 Transmit val=0
    speaker-test-13652 [003] ...1   842.315011: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=0
    speaker-test-13652 [003] ...1   842.315012: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=0
    speaker-test-13652 [003] ...1   842.315013: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=0
    speaker-test-13652 [003] ...1   842.315018: snd_soc_dapm_widget_power: widget=I2S1 Mux val=0
    speaker-test-13652 [003] ...1   842.315020: snd_soc_dapm_widget_power: widget=I2S1 TX val=0
    speaker-test-13652 [003] ...1   842.315020: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=0
    speaker-test-13652 [003] ...1   842.315021: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=0
    speaker-test-13652 [003] ...1   842.315022: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=0
    speaker-test-13652 [003] ...1   842.315022: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=0
    speaker-test-13652 [003] ...1   842.315023: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=0
    speaker-test-13652 [003] ...1   842.315024: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=0
    speaker-test-13652 [003] ...1   842.315024: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=0
    speaker-test-13652 [003] ...1   842.315025: snd_soc_dapm_widget_power: widget=d Playback val=0
    speaker-test-13652 [003] ...1   842.315026: snd_soc_dapm_widget_power: widget=d OUT val=0
    speaker-test-13652 [003] ...1   842.315026: snd_soc_dapm_widget_power: widget=Headphone-d val=0

but I2S1 bus have garbage.

Andrei

Hi Andrei,

Can you dump the following registers?

sudo cat /sys/kernel/debug/regmap/tegra210-admaif
sudo cat /sys/kernel/debug/regmap/tegra210-mixer
sudo cat /sys/kernel/debug/regmap/tegra210-i2s.0

Thanks
Jon

Hi Jon,
I have dump registers after
configuring as:

amixer sset "MIXER1-4 Mux" "ADMAIF9"
amixer sset "I2S1 Mux" "MIXER1-1"
amixer sset "Adder1 RX4" on
amixer sset "Mixer Enable" on

registers are:

cat /sys/kernel/debug/regmap/tegra210-admaif/registers 
000: XXXXXXXX
004: XXXXXXXX
00c: XXXXXXXX
010: XXXXXXXX
020: 00007700
028: 00000300
040: XXXXXXXX
044: XXXXXXXX
04c: XXXXXXXX
050: XXXXXXXX
060: 00007700
068: 00000304
080: XXXXXXXX
084: XXXXXXXX
08c: XXXXXXXX
090: XXXXXXXX
0a0: 00007700
0a8: 00000308
0c0: XXXXXXXX
0c4: XXXXXXXX
0cc: XXXXXXXX
0d0: XXXXXXXX
0e0: 00007700
0e8: 0000030c
100: XXXXXXXX
104: XXXXXXXX
10c: XXXXXXXX
110: XXXXXXXX
120: 00007700
128: 00000210
140: XXXXXXXX
144: XXXXXXXX
14c: XXXXXXXX
150: XXXXXXXX
160: 00007700
168: 00000213
180: XXXXXXXX
184: XXXXXXXX
18c: XXXXXXXX
190: XXXXXXXX
1a0: 00007700
1a8: 00000216
1c0: XXXXXXXX
1c4: XXXXXXXX
1cc: XXXXXXXX
1d0: XXXXXXXX
1e0: 00007700
1e8: 00000219
200: XXXXXXXX
204: XXXXXXXX
20c: XXXXXXXX
210: XXXXXXXX
220: 00007700
228: 0000021c
240: XXXXXXXX
244: XXXXXXXX
24c: XXXXXXXX
250: XXXXXXXX
260: 00007700
268: 0000021f
280: XXXXXXXX
284: XXXXXXXX
28c: XXXXXXXX
290: XXXXXXXX
2a0: 00007700
2a8: 00000222
2c0: XXXXXXXX
2c4: XXXXXXXX
2cc: XXXXXXXX
2d0: XXXXXXXX
2e0: 00007700
2e8: 00000225
300: XXXXXXXX
304: XXXXXXXX
30c: XXXXXXXX
310: XXXXXXXX
320: 00007700
328: 00000228
340: XXXXXXXX
344: XXXXXXXX
34c: XXXXXXXX
350: XXXXXXXX
360: 00007700
368: 0000022b
380: XXXXXXXX
384: XXXXXXXX
38c: XXXXXXXX
390: XXXXXXXX
3a0: 00007700
3a8: 0000022e
3c0: XXXXXXXX
3c4: XXXXXXXX
3cc: XXXXXXXX
3d0: XXXXXXXX
3e0: 00007700
3e8: 00000231
400: XXXXXXXX
404: XXXXXXXX
40c: XXXXXXXX
410: XXXXXXXX
420: 00007700
428: 00000234
440: XXXXXXXX
444: XXXXXXXX
44c: XXXXXXXX
450: XXXXXXXX
460: 00007700
468: 00000237
480: XXXXXXXX
484: XXXXXXXX
48c: XXXXXXXX
490: XXXXXXXX
4a0: 00007700
4a8: 0000023a
4c0: XXXXXXXX
4c4: XXXXXXXX
4cc: XXXXXXXX
4d0: XXXXXXXX
4e0: 00007700
4e8: 0000023d
500: XXXXXXXX
504: XXXXXXXX
50c: XXXXXXXX
510: XXXXXXXX
520: 00007700
528: 02000300
540: XXXXXXXX
544: XXXXXXXX
54c: XXXXXXXX
550: XXXXXXXX
560: 00007700
568: 02000304
580: XXXXXXXX
584: XXXXXXXX
58c: XXXXXXXX
590: XXXXXXXX
5a0: 00007700
5a8: 02000308
5c0: XXXXXXXX
5c4: XXXXXXXX
5cc: XXXXXXXX
5d0: XXXXXXXX
5e0: 00007700
5e8: 0200030c
600: XXXXXXXX
604: XXXXXXXX
60c: XXXXXXXX
610: XXXXXXXX
620: 00007700
628: 01800210
640: XXXXXXXX
644: XXXXXXXX
64c: XXXXXXXX
650: XXXXXXXX
660: 00007700
668: 01800213
680: XXXXXXXX
684: XXXXXXXX
68c: XXXXXXXX
690: XXXXXXXX
6a0: 00007700
6a8: 01800216
6c0: XXXXXXXX
6c4: XXXXXXXX
6cc: XXXXXXXX
6d0: XXXXXXXX
6e0: 00007700
6e8: 01800219
700: XXXXXXXX
704: XXXXXXXX
70c: XXXXXXXX
710: XXXXXXXX
720: 00007700
728: 0180021c
740: XXXXXXXX
744: XXXXXXXX
74c: XXXXXXXX
750: XXXXXXXX
760: 00007700
768: 0180021f
780: XXXXXXXX
784: XXXXXXXX
78c: XXXXXXXX
790: XXXXXXXX
7a0: 00007700
7a8: 01800222
7c0: XXXXXXXX
7c4: XXXXXXXX
7cc: XXXXXXXX
7d0: XXXXXXXX
7e0: 00007700
7e8: 01800225
800: XXXXXXXX
804: XXXXXXXX
80c: XXXXXXXX
810: XXXXXXXX
820: 00007700
828: 01800228
840: XXXXXXXX
844: XXXXXXXX
84c: XXXXXXXX
850: XXXXXXXX
860: 00007700
868: 0180022b
880: XXXXXXXX
884: XXXXXXXX
88c: XXXXXXXX
890: XXXXXXXX
8a0: 00007700
8a8: 0180022e
8c0: XXXXXXXX
8c4: XXXXXXXX
8cc: XXXXXXXX
8d0: XXXXXXXX
8e0: 00007700
8e8: 01800231
900: XXXXXXXX
904: XXXXXXXX
90c: XXXXXXXX
910: XXXXXXXX
920: 00007700
928: 01800234
940: XXXXXXXX
944: XXXXXXXX
94c: XXXXXXXX
950: XXXXXXXX
960: 00007700
968: 01800237
980: XXXXXXXX
984: XXXXXXXX
98c: XXXXXXXX
990: XXXXXXXX
9a0: 00007700
9a8: 0180023a
9c0: XXXXXXXX
9c4: XXXXXXXX
9cc: XXXXXXXX
9d0: XXXXXXXX
9e0: 00007700
9e8: 0180023d
a00: 00000000
a04: 00000000
a0c: 00000000
a10: 00000000
a20: 00000000
a28: 00000000
a40: 00000000
a44: 00000000
a4c: 00000000
a50: 00000000
a60: 00000000
a68: 00000000
a80: 00000000
a84: 00000000
a8c: 00000000
a90: 00000000
aa0: 00000000
aa8: 00000000
ac0: 00000000
ac4: 00000000
acc: 00000000
ad0: 00000000
ae0: 00000000
ae8: 00000000
b00: 00000000
b04: 00000000
b0c: 00000000
b10: 00000000
b20: 00000000
b28: 00000000
b40: 00000000
b44: 00000000
b4c: 00000000
b50: 00000000
b60: 00000000
b68: 00000000
b80: 00000000
b84: 00000000
b8c: 00000000
b90: 00000000
ba0: 00000000
ba8: 00000000
bc0: 00000000
bc4: 00000000
bcc: 00000000
bd0: 00000000
be0: 00000000
be8: 00000000
c00: 00000000
c04: 00000000
c0c: 00000000
c10: 00000000
c20: 00000000
c28: 00000000
c40: 00000000
c44: 00000000
c4c: 00000000
c50: 00000000
c60: 00000000
c68: 00000000
c80: 00000000
c84: 00000000
c8c: 00000000
c90: 00000000
ca0: 00000000
ca8: 00000000
cc0: 00000000
cc4: 00000000
ccc: 00000000
cd0: 00000000
ce0: 00000000
ce8: 00000000
d00: 00000001
d04: 00000000
d0c: 00000000
d10: 00000000
d20: 00000000
d28: 00000000
d40: 00000000
d44: 00000000
d4c: 00000000
d50: 00000000
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-mixer
cat: /sys/kernel/debug/regmap/tegra210-mixer: Is a directory
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-mixer/
access        cache_dirty   name          registers     
cache_bypass  cache_only    range         
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-mixer/registers 
004: XXXXXXXX
010: XXXXXXXX
024: 00007700
028: 00010823
02c: 000012c0
030: 00000000
044: XXXXXXXX
050: XXXXXXXX
064: 00007700
068: 00010823
06c: 000012c0
070: 00000000
084: XXXXXXXX
090: XXXXXXXX
0a4: 00007700
0a8: 00010823
0ac: 000012c0
0b0: 00000000
0c4: XXXXXXXX
0d0: XXXXXXXX
0e4: 00007700
0e8: 00010823
0ec: 000012c0
0f0: 00000000
104: XXXXXXXX
110: XXXXXXXX
124: 00113300
128: 00010823
12c: 000012c0
130: 00000000
144: XXXXXXXX
150: XXXXXXXX
164: 00007700
168: 00010823
16c: 000012c0
170: 00000000
184: XXXXXXXX
190: XXXXXXXX
1a4: 00007700
1a8: 00010823
1ac: 000012c0
1b0: 00000000
1c4: XXXXXXXX
1d0: XXXXXXXX
1e4: 00007700
1e8: 00010823
1ec: 000012c0
1f0: 00000000
204: XXXXXXXX
210: XXXXXXXX
224: 00007700
228: 00010823
22c: 000012c0
230: 00000000
244: XXXXXXXX
250: XXXXXXXX
264: 00007700
268: 00010823
26c: 000012c0
270: 00000000
280: 00000000
284: XXXXXXXX
290: XXXXXXXX
294: XXXXXXXX
298: 00000001
29c: XXXXXXXX
2a0: 00000000
2a4: 00007700
2a8: 00000008
2c0: 00000000
2c4: XXXXXXXX
2d0: XXXXXXXX
2d4: XXXXXXXX
2d8: 00000001
2dc: XXXXXXXX
2e0: 00000000
2e4: 00007700
2e8: 00000000
300: 00000000
304: XXXXXXXX
310: XXXXXXXX
314: XXXXXXXX
318: 00000001
31c: XXXXXXXX
320: 00000000
324: 00007700
328: 00000000
340: 00000000
344: XXXXXXXX
350: XXXXXXXX
354: XXXXXXXX
358: 00000001
35c: XXXXXXXX
360: 00000000
364: 00007700
368: 00000000
380: 00000000
384: XXXXXXXX
390: XXXXXXXX
394: XXXXXXXX
398: 00000001
39c: XXXXXXXX
3a0: 00000000
3a4: 00113300
3a8: 00000010
400: 00000001
404: XXXXXXXX
408: 00000001
410: XXXXXXXX
414: XXXXXXXX
42c: XXXXXXXX
434: XXXXXXXX
43c: 00000000
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-i2s.0/r
range      registers  
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-i2s.0/registers 
00: 00000000
04: XXXXXXXX
0c: XXXXXXXX
10: XXXXXXXX
14: 00000003
18: 00000000
1c: 00000000
20: 03777700
24: 00000100
28: 000000ff
2c: 00000000
34: 00000000
40: 00000000
44: XXXXXXXX
4c: XXXXXXXX
50: XXXXXXXX
54: 00000003
58: 00000000
5c: 00000000
60: 00007700
64: 00000100
68: 000000ff
6c: 00000000
74: 00000000
80: 00000001
84: 00000000
88: 00000001
8c: 00000000
90: XXXXXXXX
a0: 1f001407
a4: 000000ff
a8: 00000007
ac: 00000000
b0: 00000000

Hi Andrei,

Thanks. Can you dump them while the audio playback is running? Sorry I should have been clearer.

Jon

root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-admaif/registers 
000: 00000000
004: 00000000
00c: 00000090
010: 00000000
020: 00007700
028: 00000300
040: 00000000
044: 00000000
04c: 00000090
050: 00000000
060: 00007700
068: 00000304
080: 00000000
084: 00000000
08c: 00000090
090: 00000000
0a0: 00007700
0a8: 00000308
0c0: 00000000
0c4: 00000000
0cc: 00000090
0d0: 00000000
0e0: 00007700
0e8: 0000030c
100: 00000000
104: 00000000
10c: 00000090
110: 00000000
120: 00007700
128: 00000210
140: 00000000
144: 00000000
14c: 00000090
150: 00000000
160: 00007700
168: 00000213
180: 00000000
184: 00000000
18c: 00000090
190: 00000000
1a0: 00007700
1a8: 00000216
1c0: 00000000
1c4: 00000000
1cc: 00000090
1d0: 00000000
1e0: 00007700
1e8: 00000219
200: 00000000
204: 00000000
20c: 00000090
210: 00000000
220: 00007700
228: 0000021c
240: 00000000
244: 00000000
24c: 00000090
250: 00000000
260: 00007700
268: 0000021f
280: 00000000
284: 00000000
28c: 00000090
290: 00000000
2a0: 00007700
2a8: 00000222
2c0: 00000000
2c4: 00000000
2cc: 00000090
2d0: 00000000
2e0: 00007700
2e8: 00000225
300: 00000000
304: 00000000
30c: 00000090
310: 00000000
320: 00007700
328: 00000228
340: 00000000
344: 00000000
34c: 00000090
350: 00000000
360: 00007700
368: 0000022b
380: 00000000
384: 00000000
38c: 00000090
390: 00000000
3a0: 00007700
3a8: 0000022e
3c0: 00000000
3c4: 00000000
3cc: 00000090
3d0: 00000000
3e0: 00007700
3e8: 00000231
400: 00000000
404: 00000000
40c: 00000090
410: 00000000
420: 00007700
428: 00000234
440: 00000000
444: 00000000
44c: 00000090
450: 00000000
460: 00007700
468: 00000237
480: 00000000
484: 00000000
48c: 00000090
490: 00000000
4a0: 00007700
4a8: 0000023a
4c0: 00000000
4c4: 00000000
4cc: 00000090
4d0: 00000000
4e0: 00007700
4e8: 0000023d
500: 00000000
504: 00000000
50c: 00000090
510: 00000000
520: 00007700
528: 02000300
540: 00000000
544: 00000000
54c: 00000090
550: 00000000
560: 00007700
568: 02000304
580: 00000000
584: 00000000
58c: 00000090
590: 00000000
5a0: 00007700
5a8: 02000308
5c0: 00000000
5c4: 00000000
5cc: 00000090
5d0: 00000000
5e0: 00007700
5e8: 0200030c
600: 00000000
604: 00000000
60c: 00000090
610: 00000000
620: 00007700
628: 01800210
640: 00000000
644: 00000000
64c: 00000090
650: 00000000
660: 00007700
668: 01800213
680: 00000000
684: 00000000
68c: 00000090
690: 00000000
6a0: 00007700
6a8: 01800216
6c0: 00000000
6c4: 00000000
6cc: 00000090
6d0: 00000000
6e0: 00007700
6e8: 01800219
700: 00000000
704: 00000000
70c: 00000090
710: 00000000
720: 00007700
728: 0180021c
740: 00000001
744: 00000000
74c: 00050021
750: 00000000
760: 40553300
768: 0180021f
780: 00000000
784: 00000000
78c: 00000090
790: 00000000
7a0: 00007700
7a8: 01800222
7c0: 00000000
7c4: 00000000
7cc: 00000090
7d0: 00000000
7e0: 00007700
7e8: 01800225
800: 00000000
804: 00000000
80c: 00000090
810: 00000000
820: 00007700
828: 01800228
840: 00000000
844: 00000000
84c: 00000090
850: 00000000
860: 00007700
868: 0180022b
880: 00000000
884: 00000000
88c: 00000090
890: 00000000
8a0: 00007700
8a8: 0180022e
8c0: 00000000
8c4: 00000000
8cc: 00000090
8d0: 00000000
8e0: 00007700
8e8: 01800231
900: 00000000
904: 00000000
90c: 00000090
910: 00000000
920: 00007700
928: 01800234
940: 00000000
944: 00000000
94c: 00000090
950: 00000000
960: 00007700
968: 01800237
980: 00000000
984: 00000000
98c: 00000090
990: 00000000
9a0: 00007700
9a8: 0180023a
9c0: 00000000
9c4: 00000000
9cc: 00000090
9d0: 00000000
9e0: 00007700
9e8: 0180023d
a00: 00000000
a04: 00000000
a0c: 00000000
a10: 00000000
a20: 00000000
a28: 00000000
a40: 00000000
a44: 00000000
a4c: 00000000
a50: 00000000
a60: 00000000
a68: 00000000
a80: 00000000
a84: 00000000
a8c: 00000000
a90: 00000000
aa0: 00000000
aa8: 00000000
ac0: 00000000
ac4: 00000000
acc: 00000000
ad0: 00000000
ae0: 00000000
ae8: 00000000
b00: 00000000
b04: 00000000
b0c: 00000000
b10: 00000000
b20: 00000000
b28: 00000000
b40: 00000000
b44: 00000000
b4c: 00000000
b50: 00000000
b60: 00000000
b68: 00000000
b80: 00000000
b84: 00000000
b8c: 00000000
b90: 00000000
ba0: 00000000
ba8: 00000000
bc0: 00000000
bc4: 00000000
bcc: 00000000
bd0: 00000000
be0: 00000000
be8: 00000000
c00: 00000000
c04: 00000000
c0c: 00000000
c10: 00000000
c20: 00000000
c28: 00000000
c40: 00000000
c44: 00000000
c4c: 00000000
c50: 00000000
c60: 00000000
c68: 00000000
c80: 00000000
c84: 00000000
c8c: 00000000
c90: 00000000
ca0: 00000000
ca8: 00000000
cc0: 00000000
cc4: 00000000
ccc: 00000000
cd0: 00000000
ce0: 00000000
ce8: 00000000
d00: 00000001
d04: 00000000
d0c: 00000000
d10: 00000000
d20: 00000000
d28: 00000000
d40: 00000000
d44: 00000000
d4c: 00000000
d50: 00000000
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-mixer/registers 
004: XXXXXXXX
010: XXXXXXXX
024: 00007700
028: 00010823
02c: 000012c0
030: 00000000
044: XXXXXXXX
050: XXXXXXXX
064: 00007700
068: 00010823
06c: 000012c0
070: 00000000
084: XXXXXXXX
090: XXXXXXXX
0a4: 00007700
0a8: 00010823
0ac: 000012c0
0b0: 00000000
0c4: XXXXXXXX
0d0: XXXXXXXX
0e4: 00007700
0e8: 00010823
0ec: 000012c0
0f0: 00000000
104: XXXXXXXX
110: XXXXXXXX
124: 00113300
128: 00010823
12c: 000012c0
130: 00000000
144: XXXXXXXX
150: XXXXXXXX
164: 00007700
168: 00010823
16c: 000012c0
170: 00000000
184: XXXXXXXX
190: XXXXXXXX
1a4: 00007700
1a8: 00010823
1ac: 000012c0
1b0: 00000000
1c4: XXXXXXXX
1d0: XXXXXXXX
1e4: 00007700
1e8: 00010823
1ec: 000012c0
1f0: 00000000
204: XXXXXXXX
210: XXXXXXXX
224: 00007700
228: 00010823
22c: 000012c0
230: 00000000
244: XXXXXXXX
250: XXXXXXXX
264: 00007700
268: 00010823
26c: 000012c0
270: 00000000
280: 00000000
284: XXXXXXXX
290: XXXXXXXX
294: XXXXXXXX
298: 00000001
29c: XXXXXXXX
2a0: 00000000
2a4: 00007700
2a8: 00000008
2c0: 00000000
2c4: XXXXXXXX
2d0: XXXXXXXX
2d4: XXXXXXXX
2d8: 00000001
2dc: XXXXXXXX
2e0: 00000000
2e4: 00007700
2e8: 00000000
300: 00000000
304: XXXXXXXX
310: XXXXXXXX
314: XXXXXXXX
318: 00000001
31c: XXXXXXXX
320: 00000000
324: 00007700
328: 00000000
340: 00000000
344: XXXXXXXX
350: XXXXXXXX
354: XXXXXXXX
358: 00000001
35c: XXXXXXXX
360: 00000000
364: 00007700
368: 00000000
380: 00000000
384: XXXXXXXX
390: XXXXXXXX
394: XXXXXXXX
398: 00000001
39c: XXXXXXXX
3a0: 00000000
3a4: 00113300
3a8: 00000010
400: 00000001
404: XXXXXXXX
408: 00000001
410: XXXXXXXX
414: XXXXXXXX
42c: XXXXXXXX
434: XXXXXXXX
43c: 00000000
root@nvidia:~# cat /sys/kernel/debug/regmap/tegra210-i2s.0/registers                                                                           
00: 00000000
04: XXXXXXXX
0c: XXXXXXXX
10: XXXXXXXX
14: 00000003
18: 00000000
1c: 00000000
20: 03777700
24: 00000100
28: 000000ff
2c: 00000000
34: 00000000
40: 00000000
44: XXXXXXXX
4c: XXXXXXXX
50: XXXXXXXX
54: 00000003
58: 00000000
5c: 00000000
60: 00007700
64: 00000100
68: 000000ff
6c: 00000000
74: 00000000
80: 00000001
84: 00000000
88: 00000001
8c: 00000000
90: XXXXXXXX
a0: 1f001407
a4: 000000ff
a8: 00000007
ac: 00000000
b0: 00000000

Hi Jon,
I think I am close to understanding what is going on.
Whole MIXER must be on same format.

Parker play S16_LE format ( AMX inputs and so on configured for that).
I2S configure as 32bit.

For AMX proper operation you need number of channels per AMX input (slot map only does not help)
This let us only pass ADAMIF->AMX( with six channesels input) -> MIXER -> AMX/I2S.
And path AMX->MIXER not good, probably need AMX->ADX->MIXER.

I have made configuration like:

amixer sset "AMX2 Byte Map 10" 8
      amixer sset "AMX2 Byte Map 11" 9
      amixer sset "AMX2 Byte Map 14" 12
      amixer sset "AMX2 Byte Map 15" 13
      amixer sset "AMX2 Byte Map 18" 16
      amixer sset "AMX2 Byte Map 19" 17
      amixer sset "AMX2 Byte Map 22" 20
      amixer sset "AMX2 Byte Map 23" 21
      amixer sset "codec rate" "48kHz"
      amixer sset "AMX2-1 Mux" "ADMAIF10"
      amixer sset "MIXER1-1 Mux" "ADMAIF9"
      amixer sset "ADX1 Mux"     "I2S4"
      amixer sset "ADX2 Mux"     "I2S3"
      amixer sset "MIXER1-2 Mux" "ADX1-1"
      amixer sset "MIXER1-3 Mux" "ADX1-2"
      amixer sset "MIXER1-4 Mux" "ADX1-3"
      amixer sset "MIXER1-5 Mux" "ADX2-1"
      amixer sset "AMX3-1 Mux"   "MIXER1-2"
      amixer sset "AMX3-2 Mux"   "MIXER1-3"
      amixer sset "AMX3-3 Mux"   "MIXER1-4"
      amixer sset "AMX3-4 Mux"   "MIXER1-5"
      amixer sset "AMX2-4 Mux"   "MIXER1-5"
      amixer sset "I2S1 Mux"     "AMX2"
      amixer sset "Adder2 RX1"   on
      amixer sset "Adder2 RX2"   on
      amixer sset "Adder3 RX3"   on
      amixer sset "Adder4 RX4"   on
      amixer sset "Adder5 RX5"   on
      amixer sset "Mixer Enable" on
      amixer sset "RX1 Gain"   5000
      amixer sset "RX2 Gain"   5000
      amixer sset "RX3 Gain"   5000
      amixer sset "RX4 Gain"   5000
      amixer sset "RX5 Gain"   1

and switching I2S1 from AMX2 to AMX3

Andrei

Hi Andrei,

I am a bit confused by the above. From your initial post you had …

ADMAIFx -> AMX -> I2S

Where you had 6 16-bit channels and convert them into a 6 32-bit channels. I believe that this bit was working. Then you wanted to add in the MIXER. Initially, I thought that you just wish to get the data to pass through the MIXER and this was not working. Is this working now? What you have in post #14 does not seem to match with this and it is not clear exactly how you are planning to use the MIXER. Can you elaborate from a high-level what you are trying to do with MIXER?

Also I am not sure why you need to do AMX->ADX->MIXER, because the ADX would do the opposite of the AMX and so would be equivalent to just ->MIXER.

If you could summarise what you want to do that would help.

Regards,
Jon

Hi, Jon
Idea of such configuration is I have 2 input signals on I2S3/4 both of them are 16bit.
On I2S3 it is stereo pair and 6 channels on I2S4 1 to 6. It is external codecs.
Also I have to play 6 channels audio from Parker. Default Parker output is 16 bit.
I2S1 is output and must be 8 channels 32 bit.
I am trying combine all signals in MIXER once and use only gain control to choose what is out.

In my driver version (tegra_t186ref_p2382_alt.c) only AMX2-1 configured as

{
		PARAMS(SNDRV_PCM_FMTBIT_S16_LE, 6),
		PARAMS(SNDRV_PCM_FMTBIT_S16_LE, 2),
		PARAMS(SNDRV_PCM_FMTBIT_S16_LE, 2),
		PARAMS(SNDRV_PCM_FMTBIT_S16_LE, 2),
	},

Some how number of input channels important to AMX for properly mapping to output.
slot map is not good enough and it is not overwritten by ADMAIFx settings.
Also MIXER by some reason operate only stereo mode.
With provided configuration ( I have to modify ADX2 slot map also)

nvidia,adx2-slot-map = <0x100 0x101 0x200 0x201 0x10100 0x10101 0x10200 0x10201 0x20100 0x20101 0x20200 0x20201 0x30100 0x30101 0x30200 0x30201 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;

I am using AMX2 when need 6 channels from Parker or AMX3 for all other staff.
and ADMAIFx-> AMX2-1 -> AMX2 ->I2S1 path doe not have volume controll.
As I understand, I still have enough MIXER inputs and ADX, so I could deconstruct to stereo pairs ADMAIFx -> AMX2-1 -> AMX2 ->ADX3 -> and route it to MIXER inputs.

Only question is:
Is it how it suppose to work, or
it is work around and I am missing something?

Andrei

Hi Andrei,

This is what I understand so far …

Inputs:

  • I2S3: 16-bit, 2 channels
  • I2S4: 16-bit, 6 channels

Output:

  • I2S1: 32-bit, 8 channels but only 6 contain are used and 2 are always empty

Some questions …

  1. Are the inputs directly routed to the output? Ie. I2S3+I2S4 --> MIXER --> AMX --> I2S1 or do you want to actually capture the data from I2S3/4 and store to individual files and playback?

  2. You want to mix the inputs from I2S3 and I2S4, however, do you want to …
    a). Mix the 2 channels from I2S3 with the first two channels from I2S4?
    b). Mix the 2 channels from I2S3 with each pair of channels from I2S4?

So some feedback/answers to the above …

  1. I don’t recommend that you use the machine driver tegra_t186ref_p2382_alt.c because we do not test this for L4T. We only test tegra_t186ref_mobile_rt565x.c machine driver and I recommend that you use this. The reason why there are other machine drivers included, is because this kernel is used by other Linux distribution for Tegra and not just L4T. I should make this clearer in the documentation.
  2. The MIXER can support upto 8 channels per input stream and so you should not need to use the ADX to convert the TDM stream into stereo streams first. However, personally, I have only done limited testing with the MIXER but if I have a good understanding of your audio routing I can set something up to verify it works fine.
  3. Starting with L4T rel32, it is no longer necessary to program the ADX from within device-tree and the machine driver and can be programmed through userspace mixer controls in the same way as the AMX. I am working to improve our documentation with examples. So if you need to use the ADX I recommend moving to L4T rel32 and using the tegra_machine_driver_mobile.c machine driver which supercedes the tegra_t186ref_mobile_rt565x.c machine driver from rel28.

Regards,
Jon

Hi Jon,
You understand me almost correctly.
I would like play 6 channels form Parker on slot 1-6.
I would like have I2S3 on slot 7-8
I2S4 bit more complicated, Slots 1-4 I am capturing and some time I would like to route them to
1-4 I2S1 ( mixing with Parker output).
I also want ability to route slot 6 of I2S4 to slots 1-6 I2S1 some time, ( all 6 slots
populated form one slot).

Also I do not want any reconfiguration on driver, as it cause audio clock interruption
(Parker is a clock mater).
It could be controlled by Gain on each MIXER input.

It should look like this:

ADMAIFx -6 channels ------> ----> 6 channels slot 1-6 --> AMX ----> I2S1 ( 32 bit)
----> 2 channels slot 7-8 -|

I2S4 ADX --> 4 chan 1-4 --> MIXER ----> 4 channels ADMAIFy ( capture slot 1-4 I2S4)
2 chan 5-6 -->
----> 1/2 channels ADMAIFz ( capture slot 5-6 I2S4)
I2S3 -> ADX —> 2 chan —>

I might be loosing some AMX/ADX if needed.

About driver, I definitely can try tegra_t186ref_mobile_rt565x.c but upgrade SW is not an option as it already in production, and there is no plans to update it at this moment.

Andrei

Hi Andrei,

I think I see what you are saying. Unfortunately, the forum editor is not that great and so removes some of the whitespace from your text causing the text diagrams to appear incorrectly. If you use the ‘code block’ mode you can workaround this. However, I think that what you want is …

ADMAIFx Playback (6 ch @ 16-bit) -->|
                                    |--> AMX1 (8 ch @ 16-bit)
            I2S3 (2 ch @ 16-bit) -->|                   
                                                        
                                 |--> ADX1-1 (4 ch @ 16-bit) --> ADMAIFy Capture (4 ch @ 16-bit)
I2S4 (6 ch @ 16-bit) --> ADX1 -->|                       
                                 |--> ADX1-2 (2 ch @ 16-bit) --> ADMAIFz Capture (2 ch @ 16-bit)

  AMX1 (8 ch @ 16-bit) -->|
ADX1-1 (4 ch @ 16-bit) -->|--> MIXER --> I2S1 (8 ch @ 32-bit)
ADX1-2 (2 ch @ 16-bit) -->|

So to begin with you were just testing …

ADMAIFx Playback (6 ch @ 16-bit) --> AMX (6 ch @ 32-bit) --> I2S1 (6 ch @ 32-bit)

Thinking about this some more, it is not necessary to use the AMX for converting from 16-bit to 32-bit because the XBAR (cross-bar between the ADMIF and I2S) has an expand feature which can expand the bits from 16-bit to 32-bit (where expanding always results in the actual data being shifted to the MSB bits). So then essentially you would have …

ADMAIFx Playback (6 ch @ 16-bit) --> I2S1 (6 ch @ 32-bit)

Now you would still need the AMX to multiplex the I2S3 stream but the conversion to 32-bit can be done in the XBAR itself.

The problem with playing a 16-bit PCM stream and having the codec output a 32-bit stream, is that something needs to tell the codec and I2S that the data has been converted to 32-bit. For the I2S interface there is a mixer control called ‘I2S1 codec bit format’. If we set this to 32 …

amixer -c tegrasndt186ref cset name='I2S1 codec bit format 32'

Then this will program the XBAR interface to the I2S to convert from 16-bit to 32-bit (via the I2S_AXBAR_RX_CIF_CTRL_0 register). However, the problem is that the I2S codec will still think that the PCM stream is 16-bit and codec driver would need to have a similar mixer control to override the sample sizes pass to its hw_params() function. What actual I2S codec are you using?

If we can convert to 32-bit at the interface from the XBAR to the I2S then this means that all the data passed through the AMX and MIXER will be 16-bit and this will simplify matters if that makes sense.

Regards,
Jon

Looking at the above some more, the programming of the Byte Map does not look correct to me. The value ‘0’ will enable that byte mapping byte 0 of channel 0 of input stream 0 to the particular output byte. So for bytes that should be ignored they should be programmed with the value ‘256’.

So the above becomes …

amixer sset "AMX2 Byte Map 0" 256
amixer sset "AMX2 Byte Map 1" 256
amixer sset "AMX2 Byte Map 2" 0
amixer sset "AMX2 Byte Map 3" 1

amixer sset "AMX2 Byte Map 4" 256
amixer sset "AMX2 Byte Map 5" 256
amixer sset "AMX2 Byte Map 6" 4
amixer sset "AMX2 Byte Map 7" 5

amixer sset "AMX2 Byte Map 8" 256
amixer sset "AMX2 Byte Map 9" 256
amixer sset "AMX2 Byte Map 10" 8
amixer sset "AMX2 Byte Map 11" 9

amixer sset "AMX2 Byte Map 12" 256
amixer sset "AMX2 Byte Map 13" 256
amixer sset "AMX2 Byte Map 14" 12
amixer sset "AMX2 Byte Map 15" 13

amixer sset "AMX2 Byte Map 16" 256
amixer sset "AMX2 Byte Map 17" 256
amixer sset "AMX2 Byte Map 18" 16
amixer sset "AMX2 Byte Map 19" 17

amixer sset "AMX2 Byte Map 20" 256
amixer sset "AMX2 Byte Map 21" 256
amixer sset "AMX2 Byte Map 22" 20
amixer sset "AMX2 Byte Map 23" 21

However, even with the above byte map programming (or the original that you shared), I don’t see that this will work as you want, because there is nothing to tell the I2S that the output from the AMX is 32-bit. Please see my other post where I talk about this in a bit more detail.

Regards,
Jon