TLV320AIC32x4 for Jetson TX2... again... with JetPack 32.7.6

Hello guys!
Especially @jonathanh and @Parashuram.Biradar. Thank you for the work you did here https://forums.developer.nvidia.com/t/tlv320aic32x4-audio-codec-is-not-detecting-for-tx2i/160412

I’m migrating from 28.2 to the very latest 32.7.6.
For 28.2 I have the @igal.kroyter ‘s set of patches. For 32.7.6 I was expecting to make it work using @Parashuram.Biradar ‘s patches from here: https://forums.developer.nvidia.com/t/tlv320aic32x4-audio-codec-is-not-detecting-for-tx2i/160412/76?u=kosharov.ilya

But looks like I have some issues. Any help would be appreciated.

First I will show to you my changes. They are pretty the same as in the original post

diff --git a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
old mode 100644
new mode 100755
index 42108d8e1570..71a510e0c3d1
--- a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
+++ b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
@@ -169,6 +169,19 @@
 				rom-val = /bits/ 8 <0x05>;
 			};
 		};
+
+		aic32x4: tlv320aic32x4.1-0018@18 {
+			compatible = "ti,tlv320aic32x4";
+			status = "okay";
+			reg = <0x18>;
+			clocks = <&tegra_car TEGRA186_CLK_AUD_MCLK>;
+			clock-names = "mclk";
+			micbias-resistor-k-ohms = <2>;
+			micbias-voltage-m-volts = <3000>;
+			dv-supply = <&battery_reg>;
+			av-supply = <&battery_reg>;
+			iov-supply = <&battery_reg>;
+		};	
 	};
 
 	i2c@c240000 {
@@ -671,7 +684,8 @@
 #endif
 	ahub {
 		/* I2S6 */
-		i2s@2901500 {
+		i2s@2901100 {
+			status = "okay";
 			bclk-ratio = <4>;
 		};
 
@@ -698,47 +712,45 @@
 	tegra_sound: sound {
 		compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
 		nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
-		nvidia,num-codec-link = <12>;
+		nvidia,num-codec-link = <1>;
 		clocks = <&tegra_car TEGRA186_CLK_PLLA>,
 			 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
+			 <&tegra_car TEGRA186_CLK_AHUB>,
 			 <&tegra_car TEGRA186_CLK_AUD_MCLK>;
-		clock-names = "pll_a", "pll_a_out0", "extern1";
+		clock-names = "pll_a", "pll_a_out0", "ahub", "extern1";
 		assigned-clocks = <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
 				  <&tegra_car TEGRA186_CLK_AUD_MCLK>;
 		assigned-clock-parents = <&tegra_car TEGRA186_CLK_PLLA>,
-					 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>;
+					 <&tegra_car TEGRA186_CLK_PLLP_OUT0>;
+		assigned-clock-rates = <0>, <12000000>;
 		resets = <&tegra_car TEGRA186_RESET_AUD_MCLK>;
 		reset-names = "extern1_rst";
 
 		status = "okay";
 		nvidia,audio-routing =
-			"x Headphone",		"x OUT",
-			"x IN",			"x Mic",
-			"y Headphone",		"y OUT",
-			"y IN",			"y Mic",
-			"z Headphone",		"z OUT",
-			"z IN",			"z Mic",
-			"m Headphone",		"m OUT",
-			"m IN",			"m Mic",
-			"n Headphone",		"n OUT",
-			"n IN",			"n Mic",
-			"o Headphone",		"o OUT",
-			"o IN",			"o Mic",
-			"a IN",			"a Mic",
-			"b IN",			"b Mic",
-			"c IN",			"c Mic",
-			"d IN",			"d Mic",
-			"d1 Headphone",		"d1 OUT",
-			"d3 Headphone",		"d3 OUT";
 
+			"z Headphone", "z LOL",
+			"z Headphone", "z LOR",
+			"z Headphone", "z HPL",
+			"z Headphone", "z HPR",
+			"z Left DAC", "z Playback",
+			"z Right DAC", "z Playback",
+			"z IN1_L", "z Mic",
+			"z IN1_R", "z Mic",
+			"z IN2_L", "z Mic",
+			"z IN2_R", "z Mic",
+			"z IN3_L", "z Mic",
+			"z IN3_R", "z Mic",
+			"z Capture", "z Left ADC",
+			"z Capture", "z Right ADC";
 		nvidia,xbar = <&tegra_axbar>;
-		mclk-fs = <256>;
+		//mclk-fs = <256>;
 
 		rt565x_dai_link: nvidia,dai-link-1 {
 			link-name = "spdif-dit-0";
-			cpu-dai = <&tegra_i2s1>;
+			cpu-dai = <&tegra_i2s2>;
 			codec-dai = <&spdif_dit0>;
-			cpu-dai-name = "I2S1";
+			cpu-dai-name = "I2S2";
 			codec-dai-name = "dit-hifi";
 			format = "i2s";
 			bit-format = "s16_le";
@@ -746,20 +758,27 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "x";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-2 {
-			link-name = "spdif-dit-1";
-			cpu-dai = <&tegra_i2s2>;
-			codec-dai = <&spdif_dit1>;
-			cpu-dai-name = "I2S2";
-			codec-dai-name = "dit-hifi";
+			link-name = "ti-capture";
+			cpu-dai = <&tegra_i2s1>;
+			codec-dai = <&aic32x4>;
+			cpu-dai-name = "I2S1";
+			codec-dai-name = "tlv320aic32x4-hifi";
+			tx-mask = <0xFF>;
+			rx-mask = <0xFF>;
 			format = "i2s";
+			bitclock-slave;
+			frame-slave; 
+			bitclock-noninversion;
+			frame-noninversion;
 			bit-format = "s16_le";
-			srate = <48000>;
+			srate = <44100>;
+			bclk_ratio = <1>;
 			num-channel = <2>;
 			ignore_suspend;
-			name-prefix = "y";
+			name-prefix = "z";
 			status = "okay";
 		};
 		nvidia,dai-link-3 {
@@ -773,8 +792,8 @@
 			srate = <48000>;
 			num-channel = <2>;
 			ignore_suspend;
-			name-prefix = "z";
-			status = "okay";
+			name-prefix = "a";
+			status = "disabled";
 		};
 		nvidia,dai-link-4 {
 			link-name = "spdif-dit-3";
@@ -788,7 +807,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "m";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-5 {
 			link-name = "spdif-dit-4";
@@ -802,7 +821,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "n";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-6 {
 			link-name = "spdif-dit-6";
@@ -819,7 +838,7 @@
 			num-channel = <1>;
 			ignore_suspend;
 			name-prefix = "o";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-7 {
 			link-name = "spdif-dit-7";
@@ -833,7 +852,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "a";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-8 {
 			link-name = "spdif-dit-8";
@@ -847,7 +866,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "b";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-9 {
 			link-name = "spdif-dit-9";
@@ -861,7 +880,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "c";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-10 {
 			link-name = "spdif-dit-10";
@@ -875,7 +894,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "d";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-11 {
 			link-name = "dspk1-playback";
@@ -889,7 +908,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d3";
-			status = "okay";
+			status = "disabled";
 		};
 		dspk_1_dai_link: nvidia,dai-link-12 {
 			link-name = "dspk-playback-l";
@@ -903,7 +922,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d1";
-			status = "okay";
+			status = "disabled";
 		};
 		dspk_2_dai_link: nvidia,dai-link-13 {
 			link-name = "dspk-playback-r";
@@ -917,7 +936,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d2";
-			status = "okay";
+			status = "disabled";
                 };
 	};

Except that I believe nvidia,num-codec-link should be <1> as we have only one link active.

diff --git a/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c b/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
index b2e8fa27cd62..a544c6c6764f 100644
--- a/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
+++ b/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
@@ -30,6 +30,7 @@
 #include <dt-bindings/sound/tas2552.h>
 #include "rt5659.h"
 #include "sgtl5000.h"
+#include "tlv320aic32x4.h"
 #include "tegra_asoc_machine_alt.h"
 #include "tegra210_xbar_alt.h"
 
@@ -288,7 +289,7 @@ static int tegra_machine_set_params(struct snd_soc_card *card,
 
 static int tegra_machine_dai_init(struct snd_soc_pcm_runtime *runtime,
 				  unsigned int rate, unsigned int channels,
-				  u64 formats)
+				  u64 formats, bool is_palyback)
 {
 	struct snd_soc_card *card = runtime->card;
 	struct tegra_machine *machine = snd_soc_card_get_drvdata(card);
@@ -358,6 +359,19 @@ static int tegra_machine_dai_init(struct snd_soc_pcm_runtime *runtime,
 		}
 	}
 
+	rtd = snd_soc_get_pcm_runtime(card, "ti-capture");
+        if (rtd) {
+                dai_params =
+                (struct snd_soc_pcm_stream *)rtd->dai_link->params;
+                dai_params->rate_min = srate;
+		 dai_params->channels_min = channels;
+        	dai_params->formats = formats;
+                if (err < 0) {
+                        dev_err(card->dev, "codec_dai clock not parashuram set\n");
+                        return err;
+                }
+        }
+
 	rtd = snd_soc_get_pcm_runtime(card, "rt565x-codec-sysclk-bclk1");
 	if (rtd) {
 		dai_params =
@@ -410,10 +424,18 @@ static int tegra_machine_pcm_hw_params(struct snd_pcm_substream *substream,
 	struct snd_soc_pcm_runtime *rtd = substream->private_data;
 	struct snd_soc_card *card = rtd->card;
 	int err;
+	bool is_playback;
+
+	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+		is_playback = true;
+	else
+		is_playback = false;
+
 
 	err = tegra_machine_dai_init(rtd, params_rate(params),
 				     params_channels(params),
-				     params_format(params));
+				     params_format(params),
+					 is_playback);
 	if (err < 0) {
 		dev_err(card->dev, "Failed dai init\n");
 		return err;
@@ -583,6 +605,21 @@ static int tegra_machine_rt565x_init(struct snd_soc_pcm_runtime *rtd)
 	return 0;
 }
 
+static int tegra_machine_aic32x4_init(struct snd_soc_pcm_runtime *rtd)
+{
+	struct device *dev = rtd->card->dev;
+   	int err;
+
+	err = snd_soc_dai_set_sysclk(rtd->codec_dai, AIC32X4_FREQ_12000000, 12000000,
+                        SND_SOC_CLOCK_IN);
+    if (err) {
+        dev_err(dev, "failed to set aic32x4 sysclk!\n");
+        return err;
+    }
+
+    return 0;
+}
+
 static int codec_init(struct tegra_machine *machine)
 {
 	struct snd_soc_dai_link *dai_links = machine->asoc->dai_links;
@@ -602,6 +639,9 @@ static int codec_init(struct tegra_machine *machine)
 			dai_links[i].init = tegra_machine_fepi_init;
 		else if (strstr(dai_links[i].name, "respeaker-4-mic-array"))
 			dai_links[i].init = tegra_machine_respeaker_init;
+		else if (strstr(dai_links[i].name, "ti-capture"))
+			dai_links[i].init = tegra_machine_aic32x4_init;
+
 	}
 
 	return 0;

But i don’t see the is_playing is actually used anywhere.

diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
old mode 100644
new mode 100755
index c27e3476848a..08e77c4d0559
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -30,6 +30,7 @@
 #include <linux/pm.h>
 #include <linux/gpio.h>
 #include <linux/of_gpio.h>
+#include <linux/i2c.h>
 #include <linux/cdev.h>
 #include <linux/slab.h>
 #include <linux/clk.h>
@@ -159,10 +160,7 @@ static const struct aic32x4_rate_divs aic32x4_divs[] = {
 	/* 48k rate */
 	{AIC32X4_FREQ_12000000, 48000, 1, 8, 1920, 128, 2, 8, 128, 2, 8, 4},
 	{AIC32X4_FREQ_24000000, 48000, 2, 8, 1920, 128, 8, 2, 64, 8, 4, 4},
-	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4},
-
-	/* 96k rate */
-	{AIC32X4_FREQ_25000000, 96000, 2, 7, 8643, 64, 4, 4, 64, 4, 4, 1},
+	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4}
 };
 
 static const struct snd_kcontrol_new hpl_output_mixer_controls[] = {
@@ -183,75 +181,46 @@ static const struct snd_kcontrol_new lor_output_mixer_controls[] = {
 	SOC_DAPM_SINGLE("R_DAC Switch", AIC32X4_LORROUTE, 3, 1, 0),
 };
 
-static const char * const resistor_text[] = {
-	"Off", "10 kOhm", "20 kOhm", "40 kOhm",
+static const struct snd_kcontrol_new left_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_L P Switch", AIC32X4_LMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_L P Switch", AIC32X4_LMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_L P Switch", AIC32X4_LMICPGAPIN, 2, 1, 0),
 };
 
-/* Left mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1l_lpga_p_enum, AIC32X4_LMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_lpga_p_enum, AIC32X4_LMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_lpga_p_enum, AIC32X4_LMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1r_lpga_p_enum, AIC32X4_LMICPGAPIN, 0, resistor_text);
-
-static SOC_ENUM_SINGLE_DECL(cml_lpga_n_enum, AIC32X4_LMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_lpga_n_enum, AIC32X4_LMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_lpga_n_enum, AIC32X4_LMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L L+ Switch", in1l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L L+ Switch", in2l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in3l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L L+ Switch", in3l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in1r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R L+ Switch", in1r_lpga_p_enum),
-};
-static const struct snd_kcontrol_new cml_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_L L- Switch", cml_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in2r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R L- Switch", in2r_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in3r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R L- Switch", in3r_lpga_n_enum),
+static const struct snd_kcontrol_new right_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_R P Switch", AIC32X4_RMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_R P Switch", AIC32X4_RMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_R P Switch", AIC32X4_RMICPGAPIN, 2, 1, 0),
 };
 
-/*  Right mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1r_rpga_p_enum, AIC32X4_RMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_rpga_p_enum, AIC32X4_RMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_rpga_p_enum, AIC32X4_RMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_rpga_p_enum, AIC32X4_RMICPGAPIN, 0, resistor_text);
-static SOC_ENUM_SINGLE_DECL(cmr_rpga_n_enum, AIC32X4_RMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1l_rpga_n_enum, AIC32X4_RMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_rpga_n_enum, AIC32X4_RMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R R+ Switch", in1r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R R+ Switch", in2r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in3r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R R+ Switch", in3r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L R+ Switch", in2l_rpga_p_enum),
-};
-static const struct snd_kcontrol_new cmr_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_R R- Switch", cmr_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in1l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L R- Switch", in1l_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in3l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L R- Switch", in3l_rpga_n_enum),
-};
+static int mic_bias_event(struct snd_soc_dapm_widget *w,
+       struct snd_kcontrol *kcontrol, int event)
+{
+       struct snd_soc_component *component =
+snd_soc_dapm_to_component(w->dapm);
+
+       // switch (event) {
+       // case SND_SOC_DAPM_POST_PMU:
+       //         /* Change Mic Bias Registor */
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK,
+       //                         AIC32X4_MICBIAS_LDOIN |
+       //                         AIC32X4_MICBIAS_2075V);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned ON\n", __func__);
+       //         break;
+       // case SND_SOC_DAPM_PRE_PMD:
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK, 0);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned OFF\n",
+       //                         __func__);
+       //         break;
+       // }
+
+       return 0;
+}
 
 static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
-	SND_SOC_DAPM_DAC("Left DAC", "Left Playback", AIC32X4_DACSETUP, 7, 0),
+	SND_SOC_DAPM_DAC("Left DAC", "Playback", AIC32X4_DACSETUP, 7, 0),
 	SND_SOC_DAPM_MIXER("HPL Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpl_output_mixer_controls[0],
 			   ARRAY_SIZE(hpl_output_mixer_controls)),
@@ -262,7 +231,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   ARRAY_SIZE(lol_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOL Power", AIC32X4_OUTPWRCTL, 3, 0, NULL, 0),
 
-	SND_SOC_DAPM_DAC("Right DAC", "Right Playback", AIC32X4_DACSETUP, 6, 0),
+	SND_SOC_DAPM_DAC("Right DAC", "Playback", AIC32X4_DACSETUP, 6, 0),
 	SND_SOC_DAPM_MIXER("HPR Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpr_output_mixer_controls[0],
 			   ARRAY_SIZE(hpr_output_mixer_controls)),
@@ -271,40 +240,17 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   &lor_output_mixer_controls[0],
 			   ARRAY_SIZE(lor_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOR Power", AIC32X4_OUTPWRCTL, 2, 0, NULL, 0),
-
-	SND_SOC_DAPM_ADC("Right ADC", "Right Capture", AIC32X4_ADCSETUP, 6, 0),
-	SND_SOC_DAPM_MUX("IN1_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("CM_R to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cmr_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_rmixer_controls),
-
-	SND_SOC_DAPM_ADC("Left ADC", "Left Capture", AIC32X4_ADCSETUP, 7, 0),
-	SND_SOC_DAPM_MUX("IN1_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_R to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("CM_L to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cml_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_lmixer_controls),
-
-	SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0),
+	SND_SOC_DAPM_MIXER("Left Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &left_input_mixer_controls[0],
+			   ARRAY_SIZE(left_input_mixer_controls)),
+	SND_SOC_DAPM_MIXER("Right Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &right_input_mixer_controls[0],
+			   ARRAY_SIZE(right_input_mixer_controls)),
+	SND_SOC_DAPM_ADC(	"Left ADC", "Capture",			AIC32X4_ADCSETUP, 7, 0), // Jon 20.03.2018
+	SND_SOC_DAPM_ADC(	"Right ADC", "Capture",			AIC32X4_ADCSETUP, 6, 0), // Jon 20.03.2018
+	//SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0), 
+	SND_SOC_DAPM_SUPPLY("Mic Bias", AIC32X4_MICBIAS, 6, 0, mic_bias_event,
+                       SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
 
 	SND_SOC_DAPM_OUTPUT("HPL"),
 	SND_SOC_DAPM_OUTPUT("HPR"),
@@ -345,77 +291,19 @@ static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
 	{"LOR Power", NULL, "LOR Output Mixer"},
 	{"LOR", NULL, "LOR Power"},
 
+	/* Left input */
+	{"Left Input Mixer", "IN1_L P Switch", "IN1_L"},
+	{"Left Input Mixer", "IN2_L P Switch", "IN2_L"},
+	{"Left Input Mixer", "IN3_L P Switch", "IN3_L"},
+
+	{"Left ADC", NULL, "Left Input Mixer"},
+
 	/* Right Input */
-	{"Right ADC", NULL, "IN1_R to Right Mixer Positive Resistor"},
-	{"IN1_R to Right Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Right ADC", NULL, "IN2_R to Right Mixer Positive Resistor"},
-	{"IN2_R to Right Mixer Positive Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "40 kOhm", "IN2_R"},
-
-	{"Right ADC", NULL, "IN3_R to Right Mixer Positive Resistor"},
-	{"IN3_R to Right Mixer Positive Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "40 kOhm", "IN3_R"},
-
-	{"Right ADC", NULL, "IN2_L to Right Mixer Positive Resistor"},
-	{"IN2_L to Right Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Right ADC", NULL, "CM_R to Right Mixer Negative Resistor"},
-	{"CM_R to Right Mixer Negative Resistor", "10 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "20 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "40 kOhm", "CM_R"},
-
-	{"Right ADC", NULL, "IN1_L to Right Mixer Negative Resistor"},
-	{"IN1_L to Right Mixer Negative Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "40 kOhm", "IN1_L"},
-
-	{"Right ADC", NULL, "IN3_L to Right Mixer Negative Resistor"},
-	{"IN3_L to Right Mixer Negative Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "40 kOhm", "IN3_L"},
-
-	/* Left Input */
-	{"Left ADC", NULL, "IN1_L to Left Mixer Positive Resistor"},
-	{"IN1_L to Left Mixer Positive Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "40 kOhm", "IN1_L"},
-
-	{"Left ADC", NULL, "IN2_L to Left Mixer Positive Resistor"},
-	{"IN2_L to Left Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Left ADC", NULL, "IN3_L to Left Mixer Positive Resistor"},
-	{"IN3_L to Left Mixer Positive Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "40 kOhm", "IN3_L"},
-
-	{"Left ADC", NULL, "IN1_R to Left Mixer Positive Resistor"},
-	{"IN1_R to Left Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Left ADC", NULL, "CM_L to Left Mixer Negative Resistor"},
-	{"CM_L to Left Mixer Negative Resistor", "10 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "20 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "40 kOhm", "CM_L"},
-
-	{"Left ADC", NULL, "IN2_R to Left Mixer Negative Resistor"},
-	{"IN2_R to Left Mixer Negative Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "40 kOhm", "IN2_R"},
-
-	{"Left ADC", NULL, "IN3_R to Left Mixer Negative Resistor"},
-	{"IN3_R to Left Mixer Negative Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "40 kOhm", "IN3_R"},
+	{"Right Input Mixer", "IN1_R P Switch", "IN1_R"},
+	{"Right Input Mixer", "IN2_R P Switch", "IN2_R"},
+	{"Right Input Mixer", "IN3_R P Switch", "IN3_R"},
+
+	{"Right ADC", NULL, "Right Input Mixer"},
 };
 
 static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
@@ -425,12 +313,14 @@ static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
 		.window_start = 0,
 		.window_len = 128,
 		.range_min = 0,
-		.range_max = AIC32X4_RMICPGAVOL,
+		.range_max = 0xFB, //AIC32X4_RMICPGAVOL,
 	},
 };
 
 const struct regmap_config aic32x4_regmap_config = {
-	.max_register = AIC32X4_RMICPGAVOL,
+	.reg_bits = 8,
+	.val_bits = 8,
+	.max_register =  0xFB, //AIC32X4_RMICPGAVOL,
 	.ranges = aic32x4_regmap_pages,
 	.num_ranges = ARRAY_SIZE(aic32x4_regmap_pages),
 };
@@ -538,7 +428,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		printk(KERN_ERR "aic32x4: sampling rate not supported\n");
 		return i;
 	}
-
+#if 0
 	/* Use PLL as CODEC_CLKIN and DAC_MOD_CLK as BDIV_CLKIN */
 	snd_soc_write(codec, AIC32X4_CLKMUX, AIC32X4_PLLCLKIN);
 	snd_soc_write(codec, AIC32X4_IFACE3, AIC32X4_DACMOD2BCLK);
@@ -604,7 +494,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		break;
 	}
 	snd_soc_write(codec, AIC32X4_IFACE1, data);
-
+#endif
 	if (params_channels(params) == 1) {
 		data = AIC32X4_RDAC2LCHN | AIC32X4_LDAC2LCHN;
 	} else {

Where I’ve also added these to the original patch:

 static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
-	SND_SOC_DAPM_DAC("Left DAC", "Left Playback", AIC32X4_DACSETUP, 7, 0),
+	SND_SOC_DAPM_DAC("Left DAC", "Playback", AIC32X4_DACSETUP, 7, 0),
 	SND_SOC_DAPM_MIXER("HPL Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpl_output_mixer_controls[0],
 			   ARRAY_SIZE(hpl_output_mixer_controls)),
@@ -262,7 +231,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   ARRAY_SIZE(lol_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOL Power", AIC32X4_OUTPWRCTL, 3, 0, NULL, 0),
 
-	SND_SOC_DAPM_DAC("Right DAC", "Right Playback", AIC32X4_DACSETUP, 6, 0),
+	SND_SOC_DAPM_DAC("Right DAC", "Playback", AIC32X4_DACSETUP, 6, 0),
 	SND_SOC_DAPM_MIXER("HPR Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpr_output_mixer_controls[0],
 			   ARRAY_SIZE(hpr_output_mixer_controls)),

And I’ve commented out mic_bias_event because AIC32x4_MICBIAS_MASK is unknown and @Parashuram.Biradar I suppose just defined it somewhere else.

After booting up I have this:

[    9.267096] tegra-asoc: sound: ADMAIF1 <-> ADMAIF1 mapping ok
[    9.272938] tegra-asoc: sound: ADMAIF2 <-> ADMAIF2 mapping ok
[    9.278756] tegra-asoc: sound: ADMAIF3 <-> ADMAIF3 mapping ok
[    9.284591] tegra-asoc: sound: ADMAIF4 <-> ADMAIF4 mapping ok
[    9.290415] tegra-asoc: sound: ADMAIF5 <-> ADMAIF5 mapping ok
[    9.296243] tegra-asoc: sound: ADMAIF6 <-> ADMAIF6 mapping ok
[    9.302059] tegra-asoc: sound: ADMAIF7 <-> ADMAIF7 mapping ok
[    9.307893] tegra-asoc: sound: ADMAIF8 <-> ADMAIF8 mapping ok
[    9.313729] tegra-asoc: sound: ADMAIF9 <-> ADMAIF9 mapping ok
[    9.319544] tegra-asoc: sound: ADMAIF10 <-> ADMAIF10 mapping ok
[    9.325556] tegra-asoc: sound: ADMAIF11 <-> ADMAIF11 mapping ok
[    9.331562] tegra-asoc: sound: ADMAIF12 <-> ADMAIF12 mapping ok
[    9.337554] tegra-asoc: sound: ADMAIF13 <-> ADMAIF13 mapping ok
[    9.343563] tegra-asoc: sound: ADMAIF14 <-> ADMAIF14 mapping ok
[    9.349560] tegra-asoc: sound: ADMAIF15 <-> ADMAIF15 mapping ok
[    9.355549] tegra-asoc: sound: ADMAIF16 <-> ADMAIF16 mapping ok
[    9.361534] tegra-asoc: sound: ADMAIF17 <-> ADMAIF17 mapping ok
[    9.367541] tegra-asoc: sound: ADMAIF18 <-> ADMAIF18 mapping ok
[    9.373548] tegra-asoc: sound: ADMAIF19 <-> ADMAIF19 mapping ok
[    9.379537] tegra-asoc: sound: ADMAIF20 <-> ADMAIF20 mapping ok
[    9.391237] tegra-asoc: sound: ASoC: no source widget found for z LOL
[    9.397686] tegra-asoc: sound: ASoC: Failed to add route z LOL -> direct -> z Headphone
[    9.405715] tegra-asoc: sound: ASoC: no source widget found for z LOR
[    9.412160] tegra-asoc: sound: ASoC: Failed to add route z LOR -> direct -> z Headphone
[    9.420177] tegra-asoc: sound: ASoC: no source widget found for z HPL
[    9.426633] tegra-asoc: sound: ASoC: Failed to add route z HPL -> direct -> z Headphone
[    9.434651] tegra-asoc: sound: ASoC: no source widget found for z HPR
[    9.441095] tegra-asoc: sound: ASoC: Failed to add route z HPR -> direct -> z Headphone
[    9.449131] tegra-asoc: sound: ASoC: no source widget found for z Playback
[    9.456006] tegra-asoc: sound: ASoC: Failed to add route z Playback -> direct -> z Left DAC
[    9.464387] tegra-asoc: sound: ASoC: no source widget found for z Playback
[    9.471264] tegra-asoc: sound: ASoC: Failed to add route z Playback -> direct -> z Right DAC
[    9.479711] tegra-asoc: sound: ASoC: no sink widget found for z IN1_L
[    9.486165] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN1_L
[    9.493833] tegra-asoc: sound: ASoC: no sink widget found for z IN1_R
[    9.500274] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN1_R
[    9.507952] tegra-asoc: sound: ASoC: no sink widget found for z IN2_L
[    9.514399] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN2_L
[    9.522067] tegra-asoc: sound: ASoC: no sink widget found for z IN2_R
[    9.528520] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN2_R
[    9.536187] tegra-asoc: sound: ASoC: no sink widget found for z IN3_L
[    9.542641] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN3_L
[    9.550308] tegra-asoc: sound: ASoC: no sink widget found for z IN3_R
[    9.556751] tegra-asoc: sound: ASoC: Failed to add route z Mic -> direct -> z IN3_R
[    9.564441] tegra-asoc: sound: ASoC: no source widget found for z Left ADC
[    9.571317] tegra-asoc: sound: ASoC: Failed to add route z Left ADC -> direct -> z Capture
[    9.579598] tegra-asoc: sound: ASoC: no source widget found for z Right ADC
[    9.586573] tegra-asoc: sound: ASoC: Failed to add route z Right ADC -> direct -> z Capture

and also this:

root@jetson-tx2:~# alsamixer
ALSA lib ../../alsa-lib-1.2.6.1/src/confmisc.c:165:(snd_config_get_card) Cannot get card index for Tegra
cannot open mixer: No such device

Please help me with this errors. Thank you!

Nobody?
Any help appreciated.

Sorry for delayed response due to holidays. I would be happy to help you on this. Let me quickly check your issue and get back soon with some suggestion

A quick suggestion, could you remove all the disabled nvidia,dai-link-* {} and keep only nvidia,dai-link-1 {} and have your codec entry in this.

Also please confirm if the codec got registered fine. # sudo cat /sys/kernel/debug/asoc/components

Hello @mkumard !
Thank you for feedback!

  1. With my tlv320aic dai-link moved to the “nvidia,dai-link-1 {}” I got rid of the “tegra-asoc: sound: ASoC: no source widget found for z LOL…” kind of errors. Thanks!
root@jetson-tx2-tral9:~# sudo cat /sys/kernel/debug/asoc/components
cat: /sys/kernel/debug/asoc/components: No such file or directory
root@jetson-tx2-tral9:~# cat /sys/kernel/debug/asoc/
codecs dais platforms tegra-snd-t186ref-mobile-rt565x/
root@jetson-tx2-tral9:~# cat /sys/kernel/debug/asoc/codecs
tegra186-dspk.1
tegra186-dspk.0
tegra186-asrc
tegra186-arad
tegra210-ope.0
tegra210-mvc.1
tegra210-mvc.0
tegra186-afc.5
tegra186-afc.4
tegra186-afc.3
tegra186-afc.2
tegra186-afc.1
tegra186-afc.0
tegra210-sfc.3
tegra210-sfc.2
tegra210-sfc.1
tegra210-sfc.0
tegra210-mixer
tegra210-adx.3
tegra210-adx.2
tegra210-adx.1
tegra210-adx.0
tegra210-amx.3
tegra210-amx.2
tegra210-amx.1
tegra210-amx.0
tegra210-dmic.3
tegra210-dmic.2
tegra210-dmic.1
tegra210-dmic.0
tegra210-i2s.5
tegra210-i2s.4
tegra210-i2s.3
tegra210-i2s.2
tegra210-i2s.1
tegra210-i2s.0
tegra186-admaif
tegra210-axbar
tlv320aic32x4.0-0018
spdif_dit:spdif-dit.13@d
spdif_dit:spdif-dit.12@c
spdif_dit:spdif-dit.11@b
spdif_dit:spdif-dit.10@a
spdif_dit:spdif-dit.9@9
spdif_dit:spdif-dit.8@8
spdif_dit:spdif-dit.7@7
spdif_dit:spdif-dit.6@6
spdif_dit:spdif-dit.5@5
spdif_dit:spdif-dit.4@4
spdif_dit:spdif-dit.3@3
spdif_dit:spdif-dit.2@2
spdif_dit:spdif-dit.1@1
spdif_dit:spdif-dit.0@0
snd-soc-dummy

diff --git a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
old mode 100644
new mode 100755
index 42108d8e1570..5becef0adc64
--- a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
+++ b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
@@ -169,6 +169,19 @@
 				rom-val = /bits/ 8 <0x05>;
 			};
 		};
+
+		aic32x4: tlv320aic32x4.1-0018@18 {
+			compatible = "ti,tlv320aic32x4";
+			status = "okay";
+			reg = <0x18>;
+			clocks = <&tegra_car TEGRA186_CLK_AUD_MCLK>;
+			clock-names = "mclk";
+			micbias-resistor-k-ohms = <2>;
+			micbias-voltage-m-volts = <3000>;
+			dv-supply = <&battery_reg>;
+			av-supply = <&battery_reg>;
+			iov-supply = <&battery_reg>;
+		};	
 	};
 
 	i2c@c240000 {
@@ -671,7 +684,8 @@
 #endif
 	ahub {
 		/* I2S6 */
-		i2s@2901500 {
+		i2s@2901100 {
+			status = "okay";
 			bclk-ratio = <4>;
 		};
 
@@ -698,54 +712,59 @@
 	tegra_sound: sound {
 		compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
 		nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
-		nvidia,num-codec-link = <12>;
+		nvidia,num-codec-link = <1>;
 		clocks = <&tegra_car TEGRA186_CLK_PLLA>,
 			 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
+			 <&tegra_car TEGRA186_CLK_AHUB>,
 			 <&tegra_car TEGRA186_CLK_AUD_MCLK>;
-		clock-names = "pll_a", "pll_a_out0", "extern1";
+		clock-names = "pll_a", "pll_a_out0", "ahub", "extern1";
 		assigned-clocks = <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
 				  <&tegra_car TEGRA186_CLK_AUD_MCLK>;
 		assigned-clock-parents = <&tegra_car TEGRA186_CLK_PLLA>,
-					 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>;
+					 <&tegra_car TEGRA186_CLK_PLLP_OUT0>;
+		assigned-clock-rates = <0>, <12000000>;
 		resets = <&tegra_car TEGRA186_RESET_AUD_MCLK>;
 		reset-names = "extern1_rst";
 
 		status = "okay";
 		nvidia,audio-routing =
-			"x Headphone",		"x OUT",
-			"x IN",			"x Mic",
-			"y Headphone",		"y OUT",
-			"y IN",			"y Mic",
-			"z Headphone",		"z OUT",
-			"z IN",			"z Mic",
-			"m Headphone",		"m OUT",
-			"m IN",			"m Mic",
-			"n Headphone",		"n OUT",
-			"n IN",			"n Mic",
-			"o Headphone",		"o OUT",
-			"o IN",			"o Mic",
-			"a IN",			"a Mic",
-			"b IN",			"b Mic",
-			"c IN",			"c Mic",
-			"d IN",			"d Mic",
-			"d1 Headphone",		"d1 OUT",
-			"d3 Headphone",		"d3 OUT";
 
+			"z Headphone", "z LOL",
+			"z Headphone", "z LOR",
+			"z Headphone", "z HPL",
+			"z Headphone", "z HPR",
+			"z Left DAC", "z Playback",
+			"z Right DAC", "z Playback",
+			"z IN1_L", "z Mic",
+			"z IN1_R", "z Mic",
+			"z IN2_L", "z Mic",
+			"z IN2_R", "z Mic",
+			"z IN3_L", "z Mic",
+			"z IN3_R", "z Mic",
+			"z Capture", "z Left ADC",
+			"z Capture", "z Right ADC";
 		nvidia,xbar = <&tegra_axbar>;
-		mclk-fs = <256>;
+		//mclk-fs = <256>;
 
-		rt565x_dai_link: nvidia,dai-link-1 {
-			link-name = "spdif-dit-0";
+		nvidia,dai-link-1 {
+			link-name = "ti-capture";
 			cpu-dai = <&tegra_i2s1>;
-			codec-dai = <&spdif_dit0>;
+			codec-dai = <&aic32x4>;
 			cpu-dai-name = "I2S1";
-			codec-dai-name = "dit-hifi";
+			codec-dai-name = "tlv320aic32x4-hifi";
+			tx-mask = <0xFF>;
+			rx-mask = <0xFF>;
 			format = "i2s";
+			bitclock-slave;
+			frame-slave; 
+			bitclock-noninversion;
+			frame-noninversion;
 			bit-format = "s16_le";
-			srate = <48000>;
+			srate = <44100>;
+			bclk_ratio = <1>;
 			num-channel = <2>;
 			ignore_suspend;
-			name-prefix = "x";
+			name-prefix = "z";
 			status = "okay";
 		};
 		nvidia,dai-link-2 {
@@ -760,7 +779,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "y";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-3 {
 			link-name = "spdif-dit-2";
@@ -773,8 +792,8 @@
 			srate = <48000>;
 			num-channel = <2>;
 			ignore_suspend;
-			name-prefix = "z";
-			status = "okay";
+			name-prefix = "a";
+			status = "disabled";
 		};
 		nvidia,dai-link-4 {
 			link-name = "spdif-dit-3";
@@ -788,7 +807,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "m";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-5 {
 			link-name = "spdif-dit-4";
@@ -802,7 +821,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "n";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-6 {
 			link-name = "spdif-dit-6";
@@ -819,7 +838,7 @@
 			num-channel = <1>;
 			ignore_suspend;
 			name-prefix = "o";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-7 {
 			link-name = "spdif-dit-7";
@@ -833,7 +852,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "a";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-8 {
 			link-name = "spdif-dit-8";
@@ -847,7 +866,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "b";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-9 {
 			link-name = "spdif-dit-9";
@@ -861,7 +880,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "c";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-10 {
 			link-name = "spdif-dit-10";
@@ -875,7 +894,7 @@
 			ignore_suspend;
 			num-channel = <2>;
 			name-prefix = "d";
-			status = "okay";
+			status = "disabled";
 		};
 		nvidia,dai-link-11 {
 			link-name = "dspk1-playback";
@@ -889,7 +908,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d3";
-			status = "okay";
+			status = "disabled";
 		};
 		dspk_1_dai_link: nvidia,dai-link-12 {
 			link-name = "dspk-playback-l";
@@ -903,7 +922,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d1";
-			status = "okay";
+			status = "disabled";
 		};
 		dspk_2_dai_link: nvidia,dai-link-13 {
 			link-name = "dspk-playback-r";
@@ -917,7 +936,7 @@
 			num-channel = <2>;
 			ignore_suspend;
 			name-prefix = "d2";
-			status = "okay";
+			status = "disabled";
                 };
 	};
 

  1. Still having this
root@jetson-tx2-tral9:~# alsamixer
ALSA lib ../../alsa-lib-1.2.6.1/src/confmisc.c:165:(snd_config_get_card) Cannot get card index for Tegra
cannot open mixer: No such device
  1. Had to disable some clk setup in tlv320aic32x4 driver because of that:
[    9.594209] ------------[ cut here ]------------
[    9.598836] WARNING: CPU: 0 PID: 52 at drivers/clk/clk.c:841 clk_core_disable+0x220/0x230
[    9.606999] Modules linked in:
[    9.610058]
[    9.611548] CPU: 0 PID: 52 Comm: kworker/u12:2 Not tainted 4.9.337-l4t-r32.7.6+gd4116ecb5c13 #1
[    9.620230] Hardware name: tral9 (DT)
[    9.623893] Workqueue: events_unbound async_run_entry_fn
[    9.629205] task:         (ptrval) task.stack:         (ptrval)
[    9.635113] PC is at clk_core_disable+0x220/0x230
[    9.639809] LR is at clk_disable+0x3c/0x50
[    9.643896] pc : [<ffffff80086bcef0>] lr : [<ffffff80086bfa3c>] pstate: 804000c5
[    9.651276] sp : ffffffc1ebb7fc50
[    9.654582] x29: ffffffc1ebb7fc50 x28: ffffff800a296000
[    9.659906] x27: ffffffc1ec810090 x26: ffffffc1ec810000
[    9.665230] x25: 0000000000000000 x24: ffffffc1ebba0000
[    9.670550] x23: 0000000000000000 x22: ffffffc1e9333328
[    9.675872] x21: ffffffc1e9b95618 x20: ffffffc1e9333000
[    9.681194] x19: ffffffc1e9333000 x18: 0000000001eb8a3c
[    9.686516] x17: 0000000000000000 x16: 0000000000000001
[    9.691837] x15: 0000000001f92751 x14: 0000000000000112
[    9.697160] x13: 0000000000000024 x12: 071c71c71c71c71c
[    9.702484] x11: 0000000000000400 x10: 0000000000000400
[    9.707806] x9 : 0000000000000000 x8 : 00000000001facca
[    9.713128] x7 : 00000000001fa6ea x6 : 000000000000032b
[    9.718448] x5 : 0000000000000063 x4 : ffffff800903a000
[    9.723771] x3 : 0000000000000011 x2 : 0000000004020401
[    9.729091] x1 : 0000000000000001 x0 : 0000000000000000
[    9.734413]
[    9.735905] ---[ end trace 3b1a2c3babed61bf ]---
[    9.740513] Call trace:
[    9.742954] [<        (ptrval)>] clk_core_disable+0x220/0x230
[    9.748689] [<        (ptrval)>] clk_disable+0x3c/0x50
[    9.753820] [<        (ptrval)>] aic32x4_set_bias_level+0x100/0x1d0
[    9.760079] [<        (ptrval)>] snd_soc_codec_set_bias_level+0x34/0x40
[    9.766682] [<        (ptrval)>] snd_soc_dapm_set_bias_level+0x74/0x240
[    9.773285] [<        (ptrval)>] dapm_pre_sequence_async+0x48/0xc0
[    9.779454] [<        (ptrval)>] async_run_entry_fn+0x4c/0x160
[    9.785278] [<        (ptrval)>] process_one_work+0x1bc/0x470
[    9.791013] [<        (ptrval)>] worker_thread+0x58/0x4f0
[    9.796401] [<        (ptrval)>] kthread+0xf0/0x100
[    9.801270] [<        (ptrval)>] ret_from_fork+0x10/0x30
[    9.806921] ------------[ cut here ]------------
[    9.811537] WARNING: CPU: 4 PID: 52 at drivers/clk/clk.c:723 clk_core_unprepare+0x1c4/0x1e0
[    9.819874] Modules linked in:
[    9.822932]
[    9.824421] CPU: 4 PID: 52 Comm: kworker/u12:2 Tainted: G        W       4.9.337-l4t-r32.7.6+gd4116ecb5c13 #1
[    9.834317] Hardware name: tral9 (DT)
[    9.837976] Workqueue: events_unbound async_run_entry_fn
[    9.843290] task:         (ptrval) task.stack:         (ptrval)
[    9.849200] PC is at clk_core_unprepare+0x1c4/0x1e0
[    9.854069] LR is at clk_unprepare+0x38/0x50
[    9.858331] pc : [<ffffff80086bc794>] lr : [<ffffff80086bef58>] pstate: 40400045
[    9.865712] sp : ffffffc1ebb7fc50
[    9.869018] x29: ffffffc1ebb7fc50 x28: ffffff800a296000
[    9.874342] x27: ffffffc1ec810090 x26: ffffffc1ec810000
[    9.879666] x25: 0000000000000000 x24: ffffffc1ebba0000
[    9.884990] x23: 0000000000000000 x22: ffffffc1e9333328
[    9.890313] x21: ffffffc1e9b95618 x20: 0000000000000000
[    9.895637] x19: ffffffc1e9333000 x18: 0000000000000035
[    9.900962] x17: 0000000000000000 x16: 0000000000000005
[    9.906282] x15: 0000000000000000 x14: 0000000000000000
[    9.911603] x13: 0000000000000000 x12: ffffff800903aac0
[    9.916926] x11: 000000000000000b x10: 0000000000000a40
[    9.922248] x9 : ffffffc1ebb7fb00 x8 : ffffffc1ebba0aa0
[    9.927572] x7 : 00000000000000e6 x6 : 0000000000000002
[    9.932895] x5 : 0000000000000351 x4 : ffffffc1ebba0460
[    9.938215] x3 : 0000000000000000 x2 : 0000000000000000
[    9.943539] x1 : ffffffc1ebba0000 x0 : 0000000000000000
[    9.948861]
[    9.950347] ---[ end trace 3b1a2c3babed61c0 ]---
[    9.954953] Call trace:
[    9.957393] [<        (ptrval)>] clk_core_unprepare+0x1c4/0x1e0
[    9.963303] [<        (ptrval)>] clk_unprepare+0x38/0x50
[    9.968606] [<        (ptrval)>] aic32x4_set_bias_level+0x108/0x1d0
[    9.974862] [<        (ptrval)>] snd_soc_codec_set_bias_level+0x34/0x40
[    9.981464] [<        (ptrval)>] snd_soc_dapm_set_bias_level+0x74/0x240
[    9.988066] [<        (ptrval)>] dapm_pre_sequence_async+0x48/0xc0
[    9.994236] [<        (ptrval)>] async_run_entry_fn+0x4c/0x160
[   10.000059] [<        (ptrval)>] process_one_work+0x1bc/0x470
[   10.005794] [<        (ptrval)>] worker_thread+0x58/0x4f0
[   10.011181] [<        (ptrval)>] kthread+0xf0/0x100
[   10.016049] [<        (ptrval)>] ret_from_fork+0x10/0x30

disabling (hope there is a way to fix it the correct way):

@@ -668,8 +558,8 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_MADCEN, AIC32X4_MADCEN);
 
 		/* Switch on BCLK_N Divider */
-		snd_soc_update_bits(codec, AIC32X4_BCLKN,
-				    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
+		// snd_soc_update_bits(codec, AIC32X4_BCLKN,
+		// 		    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
 		break;
 	case SND_SOC_BIAS_PREPARE:
 		break;
@@ -699,7 +589,7 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_PLLEN, 0);
 
 		/* Switch off master clock */
-		clk_disable_unprepare(aic32x4->mclk);
+		// clk_disable_unprepare(aic32x4->mclk);
 		break;
 	case SND_SOC_BIAS_OFF:
 		break;

Full aic32x4 diff:

diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
old mode 100644
new mode 100755
index c27e3476848a..74223e25dff9
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -30,6 +30,7 @@
 #include <linux/pm.h>
 #include <linux/gpio.h>
 #include <linux/of_gpio.h>
+#include <linux/i2c.h>
 #include <linux/cdev.h>
 #include <linux/slab.h>
 #include <linux/clk.h>
@@ -159,10 +160,7 @@ static const struct aic32x4_rate_divs aic32x4_divs[] = {
 	/* 48k rate */
 	{AIC32X4_FREQ_12000000, 48000, 1, 8, 1920, 128, 2, 8, 128, 2, 8, 4},
 	{AIC32X4_FREQ_24000000, 48000, 2, 8, 1920, 128, 8, 2, 64, 8, 4, 4},
-	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4},
-
-	/* 96k rate */
-	{AIC32X4_FREQ_25000000, 96000, 2, 7, 8643, 64, 4, 4, 64, 4, 4, 1},
+	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4}
 };
 
 static const struct snd_kcontrol_new hpl_output_mixer_controls[] = {
@@ -183,75 +181,46 @@ static const struct snd_kcontrol_new lor_output_mixer_controls[] = {
 	SOC_DAPM_SINGLE("R_DAC Switch", AIC32X4_LORROUTE, 3, 1, 0),
 };
 
-static const char * const resistor_text[] = {
-	"Off", "10 kOhm", "20 kOhm", "40 kOhm",
+static const struct snd_kcontrol_new left_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_L P Switch", AIC32X4_LMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_L P Switch", AIC32X4_LMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_L P Switch", AIC32X4_LMICPGAPIN, 2, 1, 0),
 };
 
-/* Left mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1l_lpga_p_enum, AIC32X4_LMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_lpga_p_enum, AIC32X4_LMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_lpga_p_enum, AIC32X4_LMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1r_lpga_p_enum, AIC32X4_LMICPGAPIN, 0, resistor_text);
-
-static SOC_ENUM_SINGLE_DECL(cml_lpga_n_enum, AIC32X4_LMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_lpga_n_enum, AIC32X4_LMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_lpga_n_enum, AIC32X4_LMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L L+ Switch", in1l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L L+ Switch", in2l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in3l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L L+ Switch", in3l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in1r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R L+ Switch", in1r_lpga_p_enum),
-};
-static const struct snd_kcontrol_new cml_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_L L- Switch", cml_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in2r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R L- Switch", in2r_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in3r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R L- Switch", in3r_lpga_n_enum),
+static const struct snd_kcontrol_new right_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_R P Switch", AIC32X4_RMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_R P Switch", AIC32X4_RMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_R P Switch", AIC32X4_RMICPGAPIN, 2, 1, 0),
 };
 
-/*  Right mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1r_rpga_p_enum, AIC32X4_RMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_rpga_p_enum, AIC32X4_RMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_rpga_p_enum, AIC32X4_RMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_rpga_p_enum, AIC32X4_RMICPGAPIN, 0, resistor_text);
-static SOC_ENUM_SINGLE_DECL(cmr_rpga_n_enum, AIC32X4_RMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1l_rpga_n_enum, AIC32X4_RMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_rpga_n_enum, AIC32X4_RMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R R+ Switch", in1r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R R+ Switch", in2r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in3r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R R+ Switch", in3r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L R+ Switch", in2l_rpga_p_enum),
-};
-static const struct snd_kcontrol_new cmr_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_R R- Switch", cmr_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in1l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L R- Switch", in1l_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in3l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L R- Switch", in3l_rpga_n_enum),
-};
+static int mic_bias_event(struct snd_soc_dapm_widget *w,
+       struct snd_kcontrol *kcontrol, int event)
+{
+       struct snd_soc_component *component =
+snd_soc_dapm_to_component(w->dapm);
+
+       // switch (event) {
+       // case SND_SOC_DAPM_POST_PMU:
+       //         /* Change Mic Bias Registor */
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK,
+       //                         AIC32X4_MICBIAS_LDOIN |
+       //                         AIC32X4_MICBIAS_2075V);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned ON\n", __func__);
+       //         break;
+       // case SND_SOC_DAPM_PRE_PMD:
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK, 0);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned OFF\n",
+       //                         __func__);
+       //         break;
+       // }
+
+       return 0;
+}
 
 static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
-	SND_SOC_DAPM_DAC("Left DAC", "Left Playback", AIC32X4_DACSETUP, 7, 0),
+	SND_SOC_DAPM_DAC("Left DAC", "Playback", AIC32X4_DACSETUP, 7, 0),
 	SND_SOC_DAPM_MIXER("HPL Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpl_output_mixer_controls[0],
 			   ARRAY_SIZE(hpl_output_mixer_controls)),
@@ -262,7 +231,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   ARRAY_SIZE(lol_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOL Power", AIC32X4_OUTPWRCTL, 3, 0, NULL, 0),
 
-	SND_SOC_DAPM_DAC("Right DAC", "Right Playback", AIC32X4_DACSETUP, 6, 0),
+	SND_SOC_DAPM_DAC("Right DAC", "Playback", AIC32X4_DACSETUP, 6, 0),
 	SND_SOC_DAPM_MIXER("HPR Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpr_output_mixer_controls[0],
 			   ARRAY_SIZE(hpr_output_mixer_controls)),
@@ -271,40 +240,17 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   &lor_output_mixer_controls[0],
 			   ARRAY_SIZE(lor_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOR Power", AIC32X4_OUTPWRCTL, 2, 0, NULL, 0),
-
-	SND_SOC_DAPM_ADC("Right ADC", "Right Capture", AIC32X4_ADCSETUP, 6, 0),
-	SND_SOC_DAPM_MUX("IN1_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("CM_R to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cmr_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_rmixer_controls),
-
-	SND_SOC_DAPM_ADC("Left ADC", "Left Capture", AIC32X4_ADCSETUP, 7, 0),
-	SND_SOC_DAPM_MUX("IN1_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_R to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("CM_L to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cml_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_lmixer_controls),
-
-	SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0),
+	SND_SOC_DAPM_MIXER("Left Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &left_input_mixer_controls[0],
+			   ARRAY_SIZE(left_input_mixer_controls)),
+	SND_SOC_DAPM_MIXER("Right Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &right_input_mixer_controls[0],
+			   ARRAY_SIZE(right_input_mixer_controls)),
+	SND_SOC_DAPM_ADC(	"Left ADC", "Capture",			AIC32X4_ADCSETUP, 7, 0), // Jon 20.03.2018
+	SND_SOC_DAPM_ADC(	"Right ADC", "Capture",			AIC32X4_ADCSETUP, 6, 0), // Jon 20.03.2018
+	//SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0), 
+	SND_SOC_DAPM_SUPPLY("Mic Bias", AIC32X4_MICBIAS, 6, 0, mic_bias_event,
+                       SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
 
 	SND_SOC_DAPM_OUTPUT("HPL"),
 	SND_SOC_DAPM_OUTPUT("HPR"),
@@ -345,77 +291,19 @@ static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
 	{"LOR Power", NULL, "LOR Output Mixer"},
 	{"LOR", NULL, "LOR Power"},
 
+	/* Left input */
+	{"Left Input Mixer", "IN1_L P Switch", "IN1_L"},
+	{"Left Input Mixer", "IN2_L P Switch", "IN2_L"},
+	{"Left Input Mixer", "IN3_L P Switch", "IN3_L"},
+
+	{"Left ADC", NULL, "Left Input Mixer"},
+
 	/* Right Input */
-	{"Right ADC", NULL, "IN1_R to Right Mixer Positive Resistor"},
-	{"IN1_R to Right Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Right ADC", NULL, "IN2_R to Right Mixer Positive Resistor"},
-	{"IN2_R to Right Mixer Positive Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "40 kOhm", "IN2_R"},
-
-	{"Right ADC", NULL, "IN3_R to Right Mixer Positive Resistor"},
-	{"IN3_R to Right Mixer Positive Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "40 kOhm", "IN3_R"},
-
-	{"Right ADC", NULL, "IN2_L to Right Mixer Positive Resistor"},
-	{"IN2_L to Right Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Right ADC", NULL, "CM_R to Right Mixer Negative Resistor"},
-	{"CM_R to Right Mixer Negative Resistor", "10 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "20 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "40 kOhm", "CM_R"},
-
-	{"Right ADC", NULL, "IN1_L to Right Mixer Negative Resistor"},
-	{"IN1_L to Right Mixer Negative Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "40 kOhm", "IN1_L"},
-
-	{"Right ADC", NULL, "IN3_L to Right Mixer Negative Resistor"},
-	{"IN3_L to Right Mixer Negative Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "40 kOhm", "IN3_L"},
-
-	/* Left Input */
-	{"Left ADC", NULL, "IN1_L to Left Mixer Positive Resistor"},
-	{"IN1_L to Left Mixer Positive Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "40 kOhm", "IN1_L"},
-
-	{"Left ADC", NULL, "IN2_L to Left Mixer Positive Resistor"},
-	{"IN2_L to Left Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Left ADC", NULL, "IN3_L to Left Mixer Positive Resistor"},
-	{"IN3_L to Left Mixer Positive Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "40 kOhm", "IN3_L"},
-
-	{"Left ADC", NULL, "IN1_R to Left Mixer Positive Resistor"},
-	{"IN1_R to Left Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Left ADC", NULL, "CM_L to Left Mixer Negative Resistor"},
-	{"CM_L to Left Mixer Negative Resistor", "10 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "20 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "40 kOhm", "CM_L"},
-
-	{"Left ADC", NULL, "IN2_R to Left Mixer Negative Resistor"},
-	{"IN2_R to Left Mixer Negative Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "40 kOhm", "IN2_R"},
-
-	{"Left ADC", NULL, "IN3_R to Left Mixer Negative Resistor"},
-	{"IN3_R to Left Mixer Negative Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "40 kOhm", "IN3_R"},
+	{"Right Input Mixer", "IN1_R P Switch", "IN1_R"},
+	{"Right Input Mixer", "IN2_R P Switch", "IN2_R"},
+	{"Right Input Mixer", "IN3_R P Switch", "IN3_R"},
+
+	{"Right ADC", NULL, "Right Input Mixer"},
 };
 
 static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
@@ -425,12 +313,14 @@ static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
 		.window_start = 0,
 		.window_len = 128,
 		.range_min = 0,
-		.range_max = AIC32X4_RMICPGAVOL,
+		.range_max = 0xFB, //AIC32X4_RMICPGAVOL,
 	},
 };
 
 const struct regmap_config aic32x4_regmap_config = {
-	.max_register = AIC32X4_RMICPGAVOL,
+	.reg_bits = 8,
+	.val_bits = 8,
+	.max_register =  0xFB, //AIC32X4_RMICPGAVOL,
 	.ranges = aic32x4_regmap_pages,
 	.num_ranges = ARRAY_SIZE(aic32x4_regmap_pages),
 };
@@ -538,7 +428,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		printk(KERN_ERR "aic32x4: sampling rate not supported\n");
 		return i;
 	}
-
+#if 0
 	/* Use PLL as CODEC_CLKIN and DAC_MOD_CLK as BDIV_CLKIN */
 	snd_soc_write(codec, AIC32X4_CLKMUX, AIC32X4_PLLCLKIN);
 	snd_soc_write(codec, AIC32X4_IFACE3, AIC32X4_DACMOD2BCLK);
@@ -604,7 +494,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		break;
 	}
 	snd_soc_write(codec, AIC32X4_IFACE1, data);
-
+#endif
 	if (params_channels(params) == 1) {
 		data = AIC32X4_RDAC2LCHN | AIC32X4_LDAC2LCHN;
 	} else {
@@ -668,8 +558,8 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_MADCEN, AIC32X4_MADCEN);
 
 		/* Switch on BCLK_N Divider */
-		snd_soc_update_bits(codec, AIC32X4_BCLKN,
-				    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
+		// snd_soc_update_bits(codec, AIC32X4_BCLKN,
+		// 		    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
 		break;
 	case SND_SOC_BIAS_PREPARE:
 		break;
@@ -699,7 +589,7 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_PLLEN, 0);
 
 		/* Switch off master clock */
-		clk_disable_unprepare(aic32x4->mclk);
+		// clk_disable_unprepare(aic32x4->mclk);
 		break;
 	case SND_SOC_BIAS_OFF:
 		break;

Actually I don’t quite understand why 96000Hz was removed in the original patch. And why do we do some manipulations in tegra_sound: sound { with clocks. I don’t see if the same was applied for in Igal’s patch.

Thank you for the help!

Could you provide the output of

  1. cat /proc/asoc/cards
  2. kernel log

The patch was made as per his requirement. It is not necessary to make any clock manipulation unless there is a need from codec.

Yes sure,

root@jetson-tx2-tral9:/# cat /proc/asound/cards
 0 [tegrahda       ]: tegra-hda - tegra-hda
                      tegra-hda at 0x3518000 irq 382
 1 [tegrasndt186ref]: tegra-snd-t186r - tegra-snd-t186ref-mobile-rt565x
                      tegra-snd-t186ref-mobile-rt565x

and

Jan  1 20:13:09 jetson-tx2-tral9 syslogd[2605]: syslogd v2.3.0: restart.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Booting Linux on physical CPU 0x100
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Linux version 4.9.337-l4t-r32.7.6+gd4116ecb5c13 (oe-user@oe-host) (gcc version 11.5.0 (GCC) ) #1 SMP PREEMPT Fri Oct 17 15:12:54 UTC 2025
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Boot CPU: AArch64 Processor [411fd073]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt:memory scan node memory@80000000, reg size 80,
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt: - 80000000 ,  70000000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt: - f0200000 ,  185600000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt: - 275e00000 ,  200000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt: - 276600000 ,  200000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: fdt: - 277000000 ,  200000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: earlycon: uart8250 at MMIO32 0x0000000003100000 (options '')
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bootconsole [uart8250] enabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: reserved mem: initialized node vpr-carveout, compatible id nvidia,vpr-carveout
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OF: reserved mem: initialized node ramoops_carveout, compatible id nvidia,ramoops
Jan  1 20:12:52 jetson-tx2-tral9 kernel: cma: Reserved 64 MiB at 0x00000000fc000000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: psci: probing for conduit method from DT.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: psci: PSCIv1.0 detected in firmware.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: psci: Using standard PSCI v0.2 function IDs
Jan  1 20:12:52 jetson-tx2-tral9 kernel: psci: MIGRATE_INFO_TYPE not supported.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: psci: SMC Calling Convention v1.1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: percpu: Embedded 24 pages/cpu s57816 r8192 d32296 u98304
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Speculative Store Bypass Disable mitigation not required
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU features: enabling workaround for Spectre-BHB
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU features: enabling workaround for ARM erratum 1742098
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 2022968
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Kernel command line: console=ttyS0,115200 console=tty0 fbcon=map:0 isolcpus=1-2 video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x2772e0000 gpt rootfs.slot_suffix= usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x275840000 sdhci_tegra.en_boot_part_access=1 root=/dev/mmcblk0p1 rw rootwait  
Jan  1 20:12:52 jetson-tx2-tral9 kernel: log_buf_len individual max cpu contribution: 32768 bytes
Jan  1 20:12:52 jetson-tx2-tral9 kernel: log_buf_len total cpu_extra contributions: 163840 bytes
Jan  1 20:12:52 jetson-tx2-tral9 kernel: log_buf_len min size: 32768 bytes
Jan  1 20:12:52 jetson-tx2-tral9 kernel: log_buf_len: 262144 bytes
Jan  1 20:12:52 jetson-tx2-tral9 kernel: early log buf free: 30056(91%)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: PID hash table entries: 4096 (order: 3, 32768 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Memory: 7278712K/8220672K available (16062K kernel code, 2982K rwdata, 10012K rodata, 8768K init, 640K bss, 188296K reserved, 753664K cma-reserved)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Virtual kernel memory layout:
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:       .text : 0x        (ptrval) - 0x        (ptrval)   ( 16064 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     .rodata : 0x        (ptrval) - 0x        (ptrval)   ( 10048 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:       .init : 0x        (ptrval) - 0x        (ptrval)   (  8768 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:       .data : 0x        (ptrval) - 0x        (ptrval)   (  2983 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:        .bss : 0x        (ptrval) - 0x        (ptrval)   (   641 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (  4108 KB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:               0xffffffbf00000000 - 0xffffffbf07dc8000   (   125 MB actual)
Jan  1 20:12:52 jetson-tx2-tral9 kernel:     memory  : 0xffffffc000000000 - 0xffffffc1f7200000   (  8050 MB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Preemptible hierarchical RCU implementation.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: 	Build-time adjustment of leaf fanout to 64.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: 	RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=6.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=6
Jan  1 20:12:52 jetson-tx2-tral9 kernel: NR_IRQS:64 nr_irqs:64 0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GIC: Using split EOI/Deactivate mode
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm_arch_timer: Architected cp15 timer(s) running at 31.25MHz (phys).
Jan  1 20:12:52 jetson-tx2-tral9 kernel: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xe6a171046, max_idle_ns: 881590405314 ns
Jan  1 20:12:52 jetson-tx2-tral9 kernel: sched_clock: 56 bits at 31MHz, resolution 32ns, wraps every 4398046511088ns
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Console: colour dummy device 80x25
Jan  1 20:12:52 jetson-tx2-tral9 kernel: console [tty0] enabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bootconsole [uart8250] disabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: kmemleak: Kernel memory leak detector disabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Calibrating delay loop (skipped), value calculated using timer frequency.. 62.50 BogoMIPS (lpj=125000)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pid_max: default: 32768 minimum: 301
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Security Framework initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: ftrace: allocating 49488 entries in 194 pages
Jan  1 20:12:52 jetson-tx2-tral9 kernel: sched-energy: Sched-energy-costs installed from DT
Jan  1 20:12:52 jetson-tx2-tral9 kernel: ASID allocator initialised with 65536 entries
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-id: chipid=21817.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-id: opt_subrevision=1.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Tegra Revision: A02p SKU: 0xdc CPU Process: 0 SoC Process: 0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: DTS File Name: 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: DTB Build time: Oct 17 2025 15:12:54
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU1: Booted secondary processor [4e0f0030]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU2: Booted secondary processor [4e0f0030]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU3: Booted secondary processor [411fd073]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU4: Booted secondary processor [411fd073]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU5: Booted secondary processor [411fd073]
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Brought up 6 CPUs
Jan  1 20:12:52 jetson-tx2-tral9 kernel: SMP: Total of 6 processors activated.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU features: detected feature: 32-bit EL0 Support
Jan  1 20:12:52 jetson-tx2-tral9 kernel: CPU: All CPU(s) started at EL2
Jan  1 20:12:52 jetson-tx2-tral9 kernel: alternatives: patching kernel code
Jan  1 20:12:52 jetson-tx2-tral9 kernel: devtmpfs: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Initilizing CustomIPI irq domain
Jan  1 20:12:52 jetson-tx2-tral9 kernel: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Jan  1 20:12:52 jetson-tx2-tral9 kernel: futex hash table entries: 2048 (order: 5, 131072 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pinctrl core: initialized pinctrl subsystem
Jan  1 20:12:52 jetson-tx2-tral9 kernel: OS set in device tree is not L4T.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: regulator-dummy: no parameters
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Initializing plugin-manager
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Plugin module not found
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Plugin-manager not available
Jan  1 20:12:52 jetson-tx2-tral9 kernel: NET: Registered protocol family 16
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pstore: using zlib compression
Jan  1 20:12:52 jetson-tx2-tral9 kernel: console [pstore-1] enabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pstore: Registered ramoops as persistent store backend
Jan  1 20:12:52 jetson-tx2-tral9 kernel: ramoops: attached 0x200000@0x275880000, ecc: 0/0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: cpuidle: using governor menu
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: waiting for handshake
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: handshake completed
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: synchronizing channels
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: channels synchronized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: mail init ok
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: probing hardware configuration...
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: SMMUv2 with:
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	stage 1 translation
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	stage 2 translation
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	nested translation
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	stream matching with 128 register groups, mask 0x7f80
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: SMMU address space size (0x800000) differs from mapped region size (0x1000000)!
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	64 context banks (0 stage-2 only)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	Stage-1: 39-bit VA -> 48-bit IPA
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu 12000000.iommu: 	Stage-2: 39-bit IPA -> 48-bit PA
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdso: 2 pages (1 code @         (ptrval), 1 data @         (ptrval))
Jan  1 20:12:52 jetson-tx2-tral9 kernel: hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: atomic_pool_init():621: DMA: preallocated 1024 KiB pool for atomic allocations
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Registering BPMP clocks...
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_bpmp_clk_init: clock init ok (638 clks)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Serial: AMBA PL011 UART driver
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_powergate_init: DONE
Jan  1 20:12:52 jetson-tx2-tral9 kernel: DTS File Name: 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: DTB Build time: Oct 17 2025 15:12:54
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Tegra reboot handler registered.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc c360000.pmc: scratch reg offset dts data not present
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc: get_secure_pmc_setting: done secure_pmc=0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc: ### PMC reset source: TEGRA_SOFTWARE_RESET
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc: ### PMC reset level: TEGRA_RESET_LEVEL_L1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc: ### PMC reset status reg: 0x2d
Jan  1 20:12:52 jetson-tx2-tral9 kernel: padctrl padctrl.0: Pad control driver tegra-pmc-padctrl registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc c360000.pmc: IO padctrl driver initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3460000.sdhci to group 0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3400000.sdhci to group 1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3507000.ahci-sata to group 2
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu: forcing sodev map for 3507000.ahci-sata
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3160000.i2c to group 3
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device c240000.i2c to group 4
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3180000.i2c to group 5
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3190000.i2c to group 6
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 31b0000.i2c to group 7
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 31c0000.i2c to group 8
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device c250000.i2c to group 9
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 31e0000.i2c to group 10
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3210000.spi to group 11
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device c260000.spi to group 12
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3240000.spi to group 13
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3100000.serial to group 14
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3110000.serial to group 15
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device c280000.serial to group 16
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3130000.serial to group 17
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 2490000.ether_qos to group 18
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu: forcing sodev map for 2490000.ether_qos
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device b000000.rtcpu to group 19
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x to group 20
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx0 to group 21
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx1 to group 22
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx2 to group 23
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx3 to group 24
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx4 to group 25
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx5 to group 26
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx6 to group 27
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 13e10000.host1x:ctx7 to group 28
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 150c0000.nvcsi to group 29
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15700000.vi to group 30
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15600000.isp to group 31
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15200000.dc_common to group 32
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15210000.nvdisplay to group 33
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15340000.vic to group 34
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 154c0000.nvenc to group 35
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15480000.nvdec to group 36
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15380000.nvjpg to group 37
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15500000.tsec to group 38
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15100000.tsecb to group 39
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15810000.se to group 40
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15820000.se to group 41
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15830000.se to group 42
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 15840000.se to group 43
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device smmu_test to group 44
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc: mapped MMIO address: 0x        (ptrval) -> 0x2c10000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc: mapped MMIO address: 0x        (ptrval) -> 0x2c20000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc: mapped MMIO address: 0x        (ptrval) -> 0x2c30000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc: mapped MMIO address: 0x        (ptrval) -> 0x2c40000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc: mapped MMIO address: 0x        (ptrval) -> 0x2c50000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nv-tegra-mc 2c10000.mc: No mssnvlink node
Jan  1 20:12:52 jetson-tx2-tral9 kernel: mc-err: mcerr ops are set to t18x
Jan  1 20:12:52 jetson-tx2-tral9 kernel: dram-ecc: DRAM ECC disabled-MC_ECC_CONTROL:0x0000000c
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3530000.xhci to group 45
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu: forcing sodev map for 3530000.xhci
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3550000.xudc to group 46
Jan  1 20:12:52 jetson-tx2-tral9 kernel: arm-smmu: forcing sodev map for 3550000.xudc
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra186-aowake c370000.pmc: WAKE_AOWAKE_CNTRL_83 = 0x10a
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra186-aowake c370000.pmc: WAKE_AOWAKE_CTRL_0 = 3
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra186-aowake c370000.pmc: WAKE_AOWAKE_CNTRL_24(PMU_INT) = 256
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 17000000.gp10b to group 47
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-reset 5000000.clock: registered 193 resets.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device d000000.bpmp to group 48
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp: ping status is 0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp d000000.bpmp: firmware tag is 91572a54614f84d0fd0c270beec2c56f
Jan  1 20:12:52 jetson-tx2-tral9 kernel: bpmp d000000.bpmp: probe ok
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 2600000.dma to group 49
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpio gpiochip0: gpio-line-names specifies 180 line names but there are 192 lines on the chip
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 424 (wifi-enable) hogged as output/high
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 445 (sdmmc-wake-support-input) hogged as input
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 446 (sdmmc-wake-support-output) hogged as output/low
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 461 (nvp6134-i2c2-reset-control) hogged as output/low
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 457 (nvp6134-i2c1-reset-control) hogged as output/low
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 456 (tc358748-i2c2-reset-control) hogged as output/low
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 426 (tc358748-i2c1-reset-control) hogged as output/low
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpiochip_setup_dev: registered GPIOs 320 to 511 on device: gpiochip0 (tegra-gpio)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpio gpiochip1: gpio-line-names specifies 60 line names but there are 64 lines on the chip
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 315 (wifi-wake-ap) hogged as input
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpiochip_setup_dev: registered GPIOs 256 to 319 on device: gpiochip1 (tegra-gpio-aon)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device sound to group 50
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 3510000.hda to group 51
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device c1a0000.aon to group 52
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-ac-bat: 5000 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-1v8-ap: 1800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: HugeTLB registered 2 MB page size, pre-allocated 0 pages
Jan  1 20:12:52 jetson-tx2-tral9 kernel: eventlib_kernel: keventlib is initialized, test id: 0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: SCSI subsystem initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: usbcore: registered new interface driver usbfs
Jan  1 20:12:52 jetson-tx2-tral9 kernel: usbcore: registered new interface driver hub
Jan  1 20:12:52 jetson-tx2-tral9 kernel: usbcore: registered new device driver usb
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-i2c 3160000.i2c: no acknowledge from address 0x74
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pca953x: probe of 0-0074 failed with error -121
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-i2c 3160000.i2c: no acknowledge from address 0x77
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pca953x: probe of 0-0077 failed with error -121
Jan  1 20:12:52 jetson-tx2-tral9 kernel: max77620 4-003c: PMIC Version OTP:0x45 and ES:0x8
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vddio-ddr: at 1125 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: avdd_dsi_csi: 1200 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-1v8: 1800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-3v3-sys: 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: spmic-ldo0: at 1800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: spmic-ldo1: at 800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vddio-3v3: 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vddio-sdmmc1: 1800 <--> 3300 mV at 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-rtc: at 800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: avdd-ts-hv: 1800 <--> 3300 mV at 1800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: spmic-ldo6: at 1500 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-pex-1v00: 1000 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: dvdd-pex: 1000 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 253 (spmic_gpio_input) hogged as input
Jan  1 20:12:52 jetson-tx2-tral9 kernel: GPIO line 254 (spmic_gpio_input) hogged as input
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpiochip_setup_dev: registered GPIOs 248 to 255 on device: gpiochip2 (max77620-gpio)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: max77620 4-003c: max77620 probe successful
Jan  1 20:12:52 jetson-tx2-tral9 kernel: media: Linux media interface: v0.10
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Linux video capture interface: v2.00
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pps_core: LinuxPPS API ver. 1 registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
Jan  1 20:12:52 jetson-tx2-tral9 kernel: PTP clock support registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: trusty trusty: trusty version: Built: 23:39:30 Nov  4 2024 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: trusty trusty: selected api version: 3 (requested 3)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Advanced Linux Sound Architecture Driver Initialized.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Bluetooth: Core ver 2.22
Jan  1 20:12:52 jetson-tx2-tral9 kernel: NET: Registered protocol family 31
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Bluetooth: HCI device and connection manager initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Bluetooth: HCI socket layer initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Bluetooth: L2CAP socket layer initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Bluetooth: SCO socket layer initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: en-vdd-sd: 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-usb0-5v: 5000 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-usb1-5v: 5000 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-3v3: 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: en-vdd-vcm-2v8: 2800 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: vdd-sys-bl: 3300 mV 
Jan  1 20:12:52 jetson-tx2-tral9 kernel: camchar: rtcpu character device driver loaded
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpio tegra-gpio wake53 for gpio=159(X:7)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: extcon-gpio-states external-connection:extcon@1: Cable state:1, cable id:1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: clocksource: Switched to clocksource arch_sys_counter
Jan  1 20:12:52 jetson-tx2-tral9 kernel: VFS: Disk quotas dquot_6.6.0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvmap_heap_init: nvmap_heap_init: created heap block cache
Jan  1 20:12:52 jetson-tx2-tral9 kernel: dma_declare_coherent_resizable_cma_memory:323: resizable heap=vpr, base=0x00000000c6000000, size=0x2a000000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: cma: enabled page replacement for spfn=c6000, epfn=f0000
Jan  1 20:12:52 jetson-tx2-tral9 kernel: dma_declare_coherent_resizable_cma_memory:373: resizable cma heap=vpr create successful
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvmap: nvmap_select_cache_ops() nvmap cache ops set to roc
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvmap_page_pool_init: Total RAM pages: 2008094
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvmap_page_pool_init: nvmap page pool size: 251011 pages (980 MB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvmap_background_zero_thread: PP zeroing thread starting.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: misc nvmap: created heap vpr base 0x        (ptrval) size (688128KiB)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-gpcdma 2600000.dma: GPC DMA driver register 32 channels
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone0: Registering thermal zone thermal_zone0 for type BCPU-therm
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone1: Registering thermal zone thermal_zone1 for type MCPU-therm
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone2: Registering thermal zone thermal_zone2 for type GPU-therm
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone3: Registering thermal zone thermal_zone3 for type PLL-therm
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone4: Registering thermal zone thermal_zone4 for type Tboard_tegra
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone5: Registering thermal zone thermal_zone5 for type Tdiode_tegra
Jan  1 20:12:52 jetson-tx2-tral9 kernel: thermal thermal_zone6: Registering thermal zone thermal_zone6 for type PMIC-Die
Jan  1 20:12:52 jetson-tx2-tral9 kernel: la/ptsa driver initialized.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pre_t19x_iso_plat_init(): iso emc max clk=1866000KHz
Jan  1 20:12:52 jetson-tx2-tral9 kernel: pre_t19x_iso_plat_init(): max_iso_bw=26870400KB
Jan  1 20:12:52 jetson-tx2-tral9 kernel: NET: Registered protocol family 2
Jan  1 20:12:52 jetson-tx2-tral9 kernel: IP idents hash table entries: 131072 (order: 8, 1048576 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: TCP established hash table entries: 65536 (order: 7, 524288 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: TCP: Hash tables configured (established 65536 bind 65536)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: UDP hash table entries: 4096 (order: 5, 131072 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: NET: Registered protocol family 1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: RPC: Registered named UNIX socket transport module.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: RPC: Registered udp transport module.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: RPC: Registered tcp transport module.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: RPC: Registered tcp NFSv4.1 backchannel transport module.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Trying to unpack rootfs image as initramfs...
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Freeing initrd memory: 2264K
Jan  1 20:12:52 jetson-tx2-tral9 kernel: host1x 13e10000.host1x: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
Jan  1 20:12:52 jetson-tx2-tral9 kernel: audit: initializing netlink subsys (disabled)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: audit: type=2000 audit(0.624:1): initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: workingset: timestamp_bits=46 max_order=21 bucket_order=0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: squashfs: version 4.0 (2009/01/31) Phillip Lougher
Jan  1 20:12:52 jetson-tx2-tral9 kernel: ntfs: driver 2.1.32 [Flags: R/W].
Jan  1 20:12:52 jetson-tx2-tral9 kernel: 9p: Installing v9fs 9p2000 file system support
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 240)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: io scheduler noop registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: io scheduler cfq registered (default)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gic 2a41000.agic-controller: GIC IRQ controller registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device aconnect@2a41000:adsp_audio to group 53
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu: Adding device 2993000.adsp to group 54
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-aconnect aconnect@2a41000: Tegra ACONNECT bus registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pwm 3280000.pwm: PWM clk can sleep in ops
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pwm 3290000.pwm: PWM clk can sleep in ops
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pwm 32a0000.pwm: PWM clk can sleep in ops
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pwm c340000.pwm: PWM clk can sleep in ops
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_camera_platform tegra-camera-platform: tegra_camera_probe:camera_platform_driver probe
Jan  1 20:12:52 jetson-tx2-tral9 kernel: misc tegra_camera_ctrl: tegra_camera_isomgr_register tpg_max_iso = 3916800KBs
Jan  1 20:12:52 jetson-tx2-tral9 kernel: misc tegra_camera_ctrl: tegra_camera_isomgr_register isp_iso_bw=2812500, vi_iso_bw=2812500, max_bw=3916800
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tsec 15500000.tsec: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tsec 15100000.tsecb: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: nvdec 15480000.nvdec: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: falcon 15340000.vic: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: falcon 154c0000.nvenc: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: falcon 15380000.nvjpg: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx0: initialized (streamid=56)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx1: initialized (streamid=57)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx2: initialized (streamid=58)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx3: initialized (streamid=59)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx4: initialized (streamid=60)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx5: initialized (streamid=61)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx6: initialized (streamid=62)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: iommu_context_dev 13e10000.host1x:ctx7: initialized (streamid=63)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradccommon 15200000.dc_common: host1x channel mapped
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradccommon 15200000.dc_common: dc_common syncpt # 1 allocated
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradccommon 15200000.dc_common: dma mapping done
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: disp0 connected to head1->/host1x/sor1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: generic_infoframe_type: 0x87
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: DT parsed successfully
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: Display dc.        (ptrval) registered with id=0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: dt=1 start=0x03960000 end=0x03960FFF irq=387
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: Unpowergate DISP: 0.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: Enable clock result: 0.
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: tegra_cec_init started
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: cec_add_sysfs ret=0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: probed
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_nvdisp_bandwidth_register_max_config: max config iso bw = 16727000 KB/s
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_nvdisp_bandwidth_register_max_config: max config EMC floor = 665600000 Hz
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra_nvdisp_bandwidth_register_max_config: max config hubclk = 357620000 Hz
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: vblank syncpt # 8 for dc 1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: vpulse3 syncpt # 9 for dc 1
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: hdmi: invalid prod list prod_list_hdmi_board
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: hdmi: tegra_hdmi_tmds_range_read(bd) failed
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: probed
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Console: switching to colour frame buffer device 80x30
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegradc 15210000.nvdisplay: fb registered
Jan  1 20:12:52 jetson-tx2-tral9 kernel: gpio tegra-gpio wake21 for gpio=121(P:1)
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-adma 2930000.adma: Tegra210 ADMA driver registered 32 channels
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-fuse-burn 3820000.efuse:efuse-burn: shutdown limit check disabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-fuse-burn 3820000.efuse:efuse-burn: Fuse burn driver initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: kfuse 3830000.kfuse: initialized
Jan  1 20:12:52 jetson-tx2-tral9 kernel: tegra-pmc-iopower pmc-iopower: NO_IOPOWER setting 0x0
Jan  1 20:12:52 jetson-tx2-tral9 kernel: Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: console [ttyS0] disabled
Jan  1 20:12:52 jetson-tx2-tral9 kernel: 3100000.serial: ttyS0 at MMIO 0x3100000 (irq = 36, base_baud = 25500000) is a Tegra
Jan  1 20:12:53 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: Can't find physical addresse.
Jan  1 20:12:53 jetson-tx2-tral9 kernel: tegra_cec 3960000.tegra_cec: tegra_cec_init Done.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: console [ttyS0] enabled
Jan  1 20:12:55 jetson-tx2-tral9 kernel: 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 37, base_baud = 0) is a TEGRA_UART
Jan  1 20:12:55 jetson-tx2-tral9 kernel: c280000.serial: ttyTHS2 at MMIO 0xc280000 (irq = 38, base_baud = 0) is a TEGRA_UART
Jan  1 20:12:55 jetson-tx2-tral9 kernel: serial-tegra 3130000.serial: RX in PIO mode
Jan  1 20:12:55 jetson-tx2-tral9 kernel: 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 39, base_baud = 0) is a TEGRA_UART
Jan  1 20:12:55 jetson-tx2-tral9 kernel: [drm] Initialized
Jan  1 20:12:55 jetson-tx2-tral9 kernel: brd: module loaded
Jan  1 20:12:55 jetson-tx2-tral9 kernel: loop: module loaded
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra_profiler: version: 1.145, samples/io: 49/28
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra_profiler: auth: init
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: starting parse dt
Jan  1 20:12:55 jetson-tx2-tral9 kernel: THERMAL EST: found 3 subdevs
Jan  1 20:12:55 jetson-tx2-tral9 kernel: THERMAL EST num_resources: 0
Jan  1 20:12:55 jetson-tx2-tral9 kernel: [THERMAL EST subdev 0]
Jan  1 20:12:55 jetson-tx2-tral9 kernel: [THERMAL EST subdev 1]
Jan  1 20:12:55 jetson-tx2-tral9 kernel: [THERMAL EST subdev 2]
Jan  1 20:12:55 jetson-tx2-tral9 kernel: thermal thermal_zone7: Registering thermal zone thermal_zone7 for type thermal-fan-est
Jan  1 20:12:55 jetson-tx2-tral9 kernel: THERMAL EST: thz register success.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: THERMAL EST: end of probe, return err: 0
Jan  1 20:12:55 jetson-tx2-tral9 kernel: sd: No Scsi addr parsed to reserve index
Jan  1 20:12:55 jetson-tx2-tral9 kernel: hisi_sas: driver version v1.6
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra-ahci 3507000.ahci-sata: AHCI 0001.0301 32 slots 2 ports 3 Gbps 0x1 impl platform mode
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra-ahci 3507000.ahci-sata: flags: 64bit ncq sntf pm led pmp pio slum part deso sadm apst 
Jan  1 20:12:55 jetson-tx2-tral9 kernel: scsi host0: tegra_ahci
Jan  1 20:12:55 jetson-tx2-tral9 kernel: scsi host1: tegra_ahci
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata1: SATA max UDMA/133 mmio [mem 0x03507000-0x03508fff] port 0x100 irq 24
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata2: DUMMY
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tun: Universal TUN/TAP device driver, 1.6
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
Jan  1 20:12:55 jetson-tx2-tral9 kernel: CAN device driver interface
Jan  1 20:12:55 jetson-tx2-tral9 kernel: 	 Message RAM Configuration
	| base addr   |0x0c312000|
	| sidfc_flssa |0x00000000|
	| xidfc_flesa |0x00000040|
	| rxf0c_f0sa  |0x000000c0|
	| rxf1c_f1sa  |0x000009c0|
	| rxbc_rbsa   |0x000009c0|
	| txefc_efsa  |0x000009c0|
	| txbc_tbsa   |0x00000a40|
	| tmc_tmsa    |0x00000ec0|
Jan  1 20:12:55 jetson-tx2-tral9 kernel: Release 3.2.0 from 19.12.2014
Jan  1 20:12:55 jetson-tx2-tral9 kernel: net can0: mttcan device registered (regs=        (ptrval), irq=384)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: 	 Message RAM Configuration
	| base addr   |0x0c322000|
	| sidfc_flssa |0x00000000|
	| xidfc_flesa |0x00000040|
	| rxf0c_f0sa  |0x000000c0|
	| rxf1c_f1sa  |0x000009c0|
	| rxbc_rbsa   |0x000009c0|
	| txefc_efsa  |0x000009c0|
	| txbc_tbsa   |0x00000a40|
	| tmc_tmsa    |0x00000ec0|
Jan  1 20:12:55 jetson-tx2-tral9 kernel: Release 3.2.0 from 19.12.2014
Jan  1 20:12:55 jetson-tx2-tral9 kernel: net can1: mttcan device registered (regs=        (ptrval), irq=385)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
Jan  1 20:12:55 jetson-tx2-tral9 kernel: e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
Jan  1 20:12:55 jetson-tx2-tral9 kernel: igb: Copyright (c) 2007-2014 Intel Corporation.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
Jan  1 20:12:55 jetson-tx2-tral9 kernel: igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 4.4.0-k
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ixgbe: Copyright (c) 1999-2016 Intel Corporation.
Jan  1 20:12:55 jetson-tx2-tral9 kernel: eqos 2490000.ether_qos: can't get pllrefe_vcoout clk (-2)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: eqos 2490000.ether_qos: failed to read eqos_auto_cal_config_0_reg
Jan  1 20:12:55 jetson-tx2-tral9 kernel: eqos 2490000.ether_qos: Setting local MAC: 48 b0 2d 1e 52 51
Jan  1 20:12:55 jetson-tx2-tral9 kernel: Using phyrst_lpmode = 0 from DT
Jan  1 20:12:55 jetson-tx2-tral9 kernel: bcm54xx_low_power_mode(): put phy in iddq-lp mode
Jan  1 20:12:55 jetson-tx2-tral9 kernel: PPP generic driver version 2.4.2
Jan  1 20:12:55 jetson-tx2-tral9 kernel: PPP BSD Compression module registered
Jan  1 20:12:55 jetson-tx2-tral9 kernel: PPP Deflate Compression module registered
Jan  1 20:12:55 jetson-tx2-tral9 kernel: PPP MPPE Compression module registered
Jan  1 20:12:55 jetson-tx2-tral9 kernel: NET: Registered protocol family 24
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver r8152
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver asix
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver ax88179_178a
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver cdc_ether
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver net1080
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver cdc_subset
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver zaurus
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver cdc_ncm
Jan  1 20:12:55 jetson-tx2-tral9 kernel: VFIO - User Level meta-driver version: 0.3
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ehci-pci: EHCI PCI platform driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ohci-pci: OHCI PCI platform driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ohci-platform: OHCI generic platform driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver uas
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver usb-storage
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver usbserial
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra-usb-cd usb_cd: otg phy is not available yet
Jan  1 20:12:55 jetson-tx2-tral9 kernel: mousedev: PS/2 mouse device common for all mice
Jan  1 20:12:55 jetson-tx2-tral9 kernel: usbcore: registered new interface driver xpad
Jan  1 20:12:55 jetson-tx2-tral9 kernel: max77686-rtc max77620-rtc: rtc core: registered max77620-rtc as rtc0
Jan  1 20:12:55 jetson-tx2-tral9 kernel: Wake73 for irq=42
Jan  1 20:12:55 jetson-tx2-tral9 kernel: rtc rtc1: alarm rtc device
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra_rtc c2a0000.rtc: rtc core: registered c2a0000.rtc as rtc1
Jan  1 20:12:55 jetson-tx2-tral9 kernel: tegra_rtc c2a0000.rtc: Tegra internal Real Time Clock
Jan  1 20:12:55 jetson-tx2-tral9 kernel: i2c /dev entries driver
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0050: probing v4l2 sensors
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0050: Chip found @ 7h50 (3180000.i2c)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0050: tegracam sensor driver:smp0901_v2.0.6
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0050: Detected smp0901 sensor
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0052: probing v4l2 sensors
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0052: Chip found @ 7h52 (3180000.i2c)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0052: tegracam sensor driver:smp0901_v2.0.6
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901 2-0052: Detected smp0901 sensor
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 1-000e: reset_hold_us 200
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 1-000e: reset_setup_us 600
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 1-000e: ChipID RevisionID: 0x4401
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 1-000e: Chip Matched!
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 2-000e: reset_hold_us 200
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 2-000e: reset_setup_us 600
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 2-000e: ChipID RevisionID: 0x4401
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_tc358748 2-000e: Chip Matched!
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: reset_hold_us 200
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: reset_setup_us 600
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: color_preset 0
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: Chip found @ 7h30 (c240000.i2c)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: Dev id 0x91
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: Rev id 0x1
Jan  1 20:12:55 jetson-tx2-tral9 kernel: smp0901_nvp6134 1-0030: Chip matched!
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nvp6134[C]_system_init
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata1.00: ATA-10: KINGSTON SA400S37240G, SAH20107, max UDMA/133
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata1.00: 468862128 sectors, multi 1: LBA48 NCQ (depth 31/32)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: ata1.00: configured for UDMA/133
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: !!!Found deprecated property!!!
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: success parsing dt
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: success in enabling tmp451 VDD rail
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: LOC shutdown limit 107
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: EXT shutdown limit 107
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: initial LOC temp: 36000 
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: initial EXT temp: 48500 
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: hi_b:-11, lo_b:0
Jan  1 20:12:55 jetson-tx2-tral9 kernel: gpio tegra-gpio-aon wake35 for gpio=16(V:0)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: nct1008_nct72 7-004c: nct1008_probe: initialized
Jan  1 20:12:55 jetson-tx2-tral9 kernel: scsi 0:0:0:0: Direct-Access     ATA      KINGSTON SA400S3 0107 PQ: 0 ANSI: 5
Jan  1 20:12:55 jetson-tx2-tral9 kernel: sd 0:0:0:0: [sda] 468862128 512-byte logical blocks: (240 GB/224 GiB)
Jan  1 20:12:55 jetson-tx2-tral9 kernel: sd 0:0:0:0: [sda] Write Protect is off
Jan  1 20:12:56 jetson-tx2-tral9 kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jan  1 20:12:56 jetson-tx2-tral9 kernel:  sda: sda1
Jan  1 20:12:56 jetson-tx2-tral9 kernel: sd 0:0:0:0: [sda] Attached SCSI disk
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:0, init Analog IP-EQ bypass and EQ
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:0, Set VFC parameter
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV : CH:0, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:1, init Analog IP-EQ bypass and EQ
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:1, Set VFC parameter
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:56 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CH:1, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:2, init Analog IP-EQ bypass and EQ
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:2, Set VFC parameter
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CH:2, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:3, init Analog IP-EQ bypass and EQ
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:3, Set VFC parameter
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:57 jetson-tx2-tral9 kernel: >>>>> DRV : CH:3, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:57 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 0 portmode 1 setting
Jan  1 20:12:57 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 1 portmode 1 setting
Jan  1 20:12:57 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 2 portmode 1 setting
Jan  1 20:12:57 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 3 portmode 1 setting
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: reset_hold_us 200
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: reset_setup_us 600
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: color_preset 1
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: Chip found @ 7h30 (3180000.i2c)
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: Dev id 0x91
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: Rev id 0x1
Jan  1 20:12:57 jetson-tx2-tral9 kernel: smp0901_nvp6134 2-0030: Chip matched!
Jan  1 20:12:57 jetson-tx2-tral9 kernel: nvp6134[C]_system_init
Jan  1 20:12:58 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:0, init Analog IP-EQ bypass and EQ
Jan  1 20:12:58 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:0, Set VFC parameter
Jan  1 20:12:58 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:58 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:58 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CH:0, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:1, init Analog IP-EQ bypass and EQ
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:1, Set VFC parameter
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CH:1, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:2, init Analog IP-EQ bypass and EQ
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:2, Set VFC parameter
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CH:2, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:3, init Analog IP-EQ bypass and EQ
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> DRV : CHIPID:0[sa:0x60], CH:3, Set VFC parameter
Jan  1 20:12:59 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_ahd720p(PAL), <<<<<
Jan  1 20:13:00 jetson-tx2-tral9 kernel: >>>>> nvp6134_setchn_common_720p(PAL), <<<<<
Jan  1 20:13:00 jetson-tx2-tral9 kernel: >>>>> DRV[acp_set_baudrate:190] NVP6134_VI_720P_2530 COAXIAL PROTOCOL IS SETTING....
Jan  1 20:13:00 jetson-tx2-tral9 kernel: >>>>> DRV : CH:3, EQ init, NVP6134_VI_720P_2530, NVP6134_VI_720P_5060 - conf
Jan  1 20:13:00 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 0 portmode 1 setting
Jan  1 20:13:00 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 1 portmode 1 setting
Jan  1 20:13:00 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 2 portmode 1 setting
Jan  1 20:13:00 jetson-tx2-tral9 kernel: nvp6134(b)_set_portmode portsel 3 portmode 1 setting
Jan  1 20:13:00 jetson-tx2-tral9 kernel: max77620-power max77620-power: Event recorder REG_NVERC : 0x0
Jan  1 20:13:00 jetson-tx2-tral9 kernel: parse_throttle_dt_data: Num cap clks = 4
Jan  1 20:13:00 jetson-tx2-tral9 kernel: parse_throttle_dt_data: clk=mcpu type=1
Jan  1 20:13:00 jetson-tx2-tral9 kernel: parse_throttle_dt_data: clk=bcpu type=2
Jan  1 20:13:00 jetson-tx2-tral9 kernel: parse_throttle_dt_data: clk=gpu type=4
Jan  1 20:13:00 jetson-tx2-tral9 kernel: parse_throttle_dt_data: clk=emc type=3
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra_throttle_probe: probe successful. #cdevs=4
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-oc-event d280000.soctherm-oc-event: OC driver initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: softdog-platform soft_watchdog: Software Watchdog Timer: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: device-mapper: uevent: version 1.0.3
Jan  1 20:13:00 jetson-tx2-tral9 kernel: device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
Jan  1 20:13:00 jetson-tx2-tral9 kernel: CPU EMC frequency mapping table: from device tree
Jan  1 20:13:00 jetson-tx2-tral9 kernel: cpufreq: platform driver Initialization: pass
Jan  1 20:13:00 jetson-tx2-tral9 kernel: cpuidle: Initializing cpuidle driver init for Denver cluster
Jan  1 20:13:00 jetson-tx2-tral9 kernel: cpuidle: Initializing cpuidle driver init for A57 cluster
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci: Secure Digital Host Controller Interface driver
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci: Copyright(c) Pierre Ossman
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-pltfm: SDHCI platform and OF driver helper
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3460000.sdhci: Client registration for eMC Successful
Jan  1 20:13:00 jetson-tx2-tral9 kernel: CMDQ: cmdq_platfm_init successful
Jan  1 20:13:00 jetson-tx2-tral9 kernel: CQE: CMD_TIMING bit set for R1B DCMD
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3440000.sdhci: Client registration for eMC Successful
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3400000.sdhci: Got CD GPIO
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3400000.sdhci: Got WP GPIO
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3400000.sdhci: Client registration for eMC Successful
Jan  1 20:13:00 jetson-tx2-tral9 kernel: sdhci-tegra 3400000.sdhci: wakeup init done, cdirq 258
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15810000.se: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc0: SDHCI controller on 3460000.sdhci [3460000.sdhci] using ADMA 64-bit with 64 bit addr
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15810000.se: tegra_se_probe: complete
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15820000.se: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15820000.se: tegra_se_probe: complete
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15830000.se: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: gpio tegra-gpio wake71 for gpio=125(P:5)
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc2: SDHCI controller on 3400000.sdhci [3400000.sdhci] using ADMA 64-bit with 64 bit addr
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15830000.se: tegra_se_probe: complete
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15840000.se: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-nvhost 15840000.se: tegra_se_probe: complete
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc0: mmc_decode_ext_csd: CMDQ supported: depth: 31, cmdq_support: 1
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-se-elp 3ad0000.se_elp: tegra_se_elp_probe: complete
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc0: periodic cache flush enabled
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc0: new HS400 Enhanced strobe MMC card at address 0001
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmcblk0: mmc0:0001 DG4032 29.1 GiB 
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmcblk0boot0: mmc0:0001 DG4032 partition 1 4.00 MiB
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmcblk0boot1: mmc0:0001 DG4032 partition 2 4.00 MiB
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmcblk0rpmb: mmc0:0001 DG4032 partition 3 4.00 MiB
Jan  1 20:13:00 jetson-tx2-tral9 kernel:  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33
Jan  1 20:13:00 jetson-tx2-tral9 kernel: hidraw: raw HID events driver (C) Jiri Kosina
Jan  1 20:13:00 jetson-tx2-tral9 kernel: usbcore: registered new interface driver usbhid
Jan  1 20:13:00 jetson-tx2-tral9 kernel: usbhid: USB HID core driver
Jan  1 20:13:00 jetson-tx2-tral9 kernel: ashmem: initialized
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-cam-rtcpu b000000.rtcpu: Trace buffer configured at IOVA=0xbff00000
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu: region 0: iova=0xbfef0000-0xbfefdb7f size=56192
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:echo@0: echo: ver=0 grp=1 RX[16x64]=0x1000-0x1480 TX[16x64]=0x1480-0x1900
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:i2c@480: i2c: ver=0 grp=1 RX[8x128]=0x1900-0x1d80 TX[8x128]=0x1d80-0x2200
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:vinotify@12c0: vinotify: ver=0 grp=1 RX[64x128]=0x2200-0x4280 TX[64x128]=0x4280-0x6300
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-cam-rtcpu b000000.rtcpu: no priority specified, using 99 as default
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:mods@32c0: mods: ver=0 grp=1 RX[1x64]=0x6300-0x63c0 TX[1x64]=0x63c0-0x6480
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:ivccontrol@52c0: ivccontrol: ver=0 grp=1 RX[16x320]=0x6480-0x7900 TX[16x320]=0x7900-0x8d80
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-capture-ivc ivc-b000000.rtcpu:ivccontrol@52c0: no priority specified, using 99 as default
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:ivccapture@72c0: ivccapture: ver=0 grp=1 RX[16x64]=0x8d80-0x9200 TX[16x64]=0x9200-0x9680
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-capture-ivc ivc-b000000.rtcpu:ivccapture@72c0: no priority specified, using 99 as default
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc1: hw tuning done ...
Jan  1 20:13:00 jetson-tx2-tral9 kernel: mmc1: new ultra high speed SDR104 SDIO card at address 0001
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:dbg@7c00: dbg: ver=0 grp=1 RX[1x384]=0x9680-0x9880 TX[1x384]=0x9880-0x9a80
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra-ivc ivc-b000000.rtcpu:dbg@7e00: dbg: ver=0 grp=1 RX[1x8192]=0x9a80-0xbb00 TX[1x8192]=0xbb00-0xdb80
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-cam-rtcpu b000000.rtcpu: using cam RTCPU IRQ (52)
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-cam-rtcpu b000000.rtcpu: tegra_camrtc_mon_create is successful
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-cam-rtcpu b000000.rtcpu: firmware version cpu=sce cmd=5 sha1=bf12e2c549579b8fe7e0596d313688814d0c34ea
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra_aon c1a0000.aon: tegra aon driver probe OK
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra186-aondbg aondbg: aondbg driver probe() OK
Jan  1 20:13:00 jetson-tx2-tral9 kernel: register_ari_mca_banks: Registered MCA ROC:IOB
Jan  1 20:13:00 jetson-tx2-tral9 kernel: register_ari_mca_banks: Registered MCA ROC:CCE
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 2390000.axi2apb: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 2390000.axi2apb: enabled timeout = 11155000
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 2390000.axi2apb: bridge probed OK
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23a0000.axi2apb: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23a0000.axi2apb: enabled timeout = 11155000
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23a0000.axi2apb: bridge probed OK
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23b0000.axi2apb: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23b0000.axi2apb: enabled timeout = 11155000
Jan  1 20:13:00 jetson-tx2-tral9 kernel: tegra18-bridge 23b0000.axi2apb: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23c0000.axi2apb: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23c0000.axi2apb: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23c0000.axi2apb: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23d0000.axi2apb: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23d0000.axi2apb: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 23d0000.axi2apb: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2100000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2100000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2100000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2110000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2110000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2110000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2120000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2120000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2120000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2130000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2130000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2130000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2140000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2140000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2140000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2150000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2150000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2150000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2160000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2160000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2160000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2170000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2170000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2170000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2180000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2180000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2180000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2190000.axip2p: axi_cbb clk rate = 115 MHZ, timeout = 97000 useconds
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2190000.axip2p: enabled timeout = 11155000
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18-bridge 2190000.axip2p: bridge probed OK
Jan  1 20:13:01 jetson-tx2-tral9 kernel: **** A57 ECC: Enabled
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18_a57_serr_init: on CPU 5 a A57 Core
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18x_actmon d230000.actmon: in actmon_register()...
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra18x_actmon d230000.actmon: initialization Completed for the device mc_all
Jan  1 20:13:01 jetson-tx2-tral9 kernel: hw perfevents: enabled with denver15_uncore_pmu PMU driver, 3 counters available
Jan  1 20:13:01 jetson-tx2-tral9 kernel: denver_knobs_init:MTS_VERSION:66340021
Jan  1 20:13:01 jetson-tx2-tral9 kernel: nvpmodel: initialized successfully
Jan  1 20:13:01 jetson-tx2-tral9 kernel: trusty-virtio trusty:virtio: initializing
Jan  1 20:13:01 jetson-tx2-tral9 kernel: trusty_ipc virtio0: vring0: va(pa)          (ptrval)(0) qsz 32 notifyid 1
Jan  1 20:13:01 jetson-tx2-tral9 kernel: trusty_ipc virtio0: vring1: va(pa)          (ptrval)(0) qsz 32 notifyid 2
Jan  1 20:13:01 jetson-tx2-tral9 kernel: trusty-virtio trusty:virtio: initializing done
Jan  1 20:13:01 jetson-tx2-tral9 kernel: trusty_ipc virtio0: is online
Jan  1 20:13:01 jetson-tx2-tral9 kernel: usbcore: registered new interface driver snd-usb-audio
Jan  1 20:13:01 jetson-tx2-tral9 kernel: input: tegra-hda HDMI/DP,pcm=3 as /devices/3510000.hda/sound/card0/input0
Jan  1 20:13:01 jetson-tx2-tral9 kernel: input: tegra-hda HDMI/DP,pcm=7 as /devices/3510000.hda/sound/card0/input1
Jan  1 20:13:01 jetson-tx2-tral9 kernel: OPE platform probe
Jan  1 20:13:01 jetson-tx2-tral9 kernel: OPE platform probe successful
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF1 <-> ADMAIF1 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF2 <-> ADMAIF2 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF3 <-> ADMAIF3 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF4 <-> ADMAIF4 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF5 <-> ADMAIF5 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF6 <-> ADMAIF6 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF7 <-> ADMAIF7 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF8 <-> ADMAIF8 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF9 <-> ADMAIF9 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF10 <-> ADMAIF10 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF11 <-> ADMAIF11 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF12 <-> ADMAIF12 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF13 <-> ADMAIF13 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF14 <-> ADMAIF14 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF15 <-> ADMAIF15 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF16 <-> ADMAIF16 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF17 <-> ADMAIF17 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF18 <-> ADMAIF18 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF19 <-> ADMAIF19 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-asoc: sound: ADMAIF20 <-> ADMAIF20 mapping ok
Jan  1 20:13:01 jetson-tx2-tral9 kernel: u32 classifier
Jan  1 20:13:01 jetson-tx2-tral9 kernel:     Actions configured
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Initializing XFRM netlink socket
Jan  1 20:13:01 jetson-tx2-tral9 kernel: NET: Registered protocol family 10
Jan  1 20:13:01 jetson-tx2-tral9 kernel: NET: Registered protocol family 17
Jan  1 20:13:01 jetson-tx2-tral9 kernel: NET: Registered protocol family 15
Jan  1 20:13:01 jetson-tx2-tral9 kernel: bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Jan  1 20:13:01 jetson-tx2-tral9 kernel: can: controller area network core (rev 20120528 abi 9)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: NET: Registered protocol family 29
Jan  1 20:13:01 jetson-tx2-tral9 kernel: can: raw protocol (rev 20120528)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: can: broadcast manager protocol (rev 20161123 t)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: can: netlink gateway (rev 20130117) max_hops=1
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Bluetooth: RFCOMM socket layer initialized
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Bluetooth: RFCOMM ver 1.11
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Bluetooth: HIDP socket layer initialized
Jan  1 20:13:01 jetson-tx2-tral9 kernel: 9pnet: Installing 9P2000 support
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Key type dns_resolver registered
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Registered cp15_barrier emulation handler
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Registered setend emulation handler
Jan  1 20:13:01 jetson-tx2-tral9 kernel: registered taskstats version 1
Jan  1 20:13:01 jetson-tx2-tral9 kernel: isp 15600000.isp: initialized
Jan  1 20:13:01 jetson-tx2-tral9 kernel: nvcsi 150c0000.nvcsi: initialized
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: using default number of vi channels,15
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-usb-cd usb_cd: otg phy is not available yet
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: initialized
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: subdev 150c0000.nvcsi--2 bound
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: subdev smp0901 2-0050 bound
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: subdev 150c0000.nvcsi--1 bound
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-vi4 15700000.vi: subdev smp0901 2-0052 bound
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-usb-cd usb_cd: otg phy is not available yet
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Wake83 for irq=51
Jan  1 20:13:01 jetson-tx2-tral9 kernel: gpio tegra-gpio-aon wake29 for gpio=56(FF:0)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: gpio tegra-gpio-aon wake67 for gpio=57(FF:1)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: gpio tegra-gpio-aon wake68 for gpio=58(FF:2)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: input: gpio-keys as /devices/gpio-keys/input/input2
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra-usb-cd usb_cd: otg phy is not available yet
Jan  1 20:13:01 jetson-tx2-tral9 kernel: tegra_rtc c2a0000.rtc: setting system clock to 2000-01-01 20:13:03 UTC (946757583)
Jan  1 20:13:01 jetson-tx2-tral9 kernel: mmcblk mmc0:0001: Card claimed for testing.
Jan  1 20:13:01 jetson-tx2-tral9 kernel: bpmp: mounted debugfs mirror
Jan  1 20:13:01 jetson-tx2-tral9 kernel: bwmgr: missing cdev-type property
Jan  1 20:13:01 jetson-tx2-tral9 kernel: ALSA device list:
Jan  1 20:13:01 jetson-tx2-tral9 kernel:   #0: tegra-hda at 0x3518000 irq 382
Jan  1 20:13:01 jetson-tx2-tral9 kernel:   #1: tegra-snd-t186ref-mobile-rt565x
Jan  1 20:13:01 jetson-tx2-tral9 kernel: Freeing unused kernel memory: 8768K
Jan  1 20:13:01 jetson-tx2-tral9 kernel: EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
Jan  1 20:13:02 jetson-tx2-tral9 kernel: random: udevd: uninitialized urandom read (16 bytes read)
Jan  1 20:13:02 jetson-tx2-tral9 last message buffered 2 times
Jan  1 20:13:02 jetson-tx2-tral9 kernel: tegra-usb-cd usb_cd: otg phy is not available yet
Jan  1 20:13:02 jetson-tx2-tral9 kernel: EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
Jan  1 20:13:02 jetson-tx2-tral9 last message buffered 1 times
Jan  1 20:13:04 jetson-tx2-tral9 kernel: random: dd: uninitialized urandom read (512 bytes read)
Jan  1 20:13:05 jetson-tx2-tral9 kernel: gpio tegra-gpio wake18 for gpio=101(M:5)
Jan  1 20:13:05 jetson-tx2-tral9 kernel: net eth0: get_configure_l3v4_filter -->
Jan  1 20:13:05 jetson-tx2-tral9 kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Jan  1 20:13:05 jetson-tx2-tral9 kernel: mttcan c310000.mttcan can0: Bitrate set
Jan  1 20:13:05 jetson-tx2-tral9 kernel: mttcan_controller_config: ctrlmode 0
Jan  1 20:13:05 jetson-tx2-tral9 kernel: mttcan c310000.mttcan can0: Bitrate set
Jan  1 20:13:05 jetson-tx2-tral9 kernel: IPv6: ADDRCONF(NETDEV_UP): can0: link is not ready
Jan  1 20:13:05 jetson-tx2-tral9 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
Jan  1 20:13:05 jetson-tx2-tral9 kernel: random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
Jan  1 20:13:05 jetson-tx2-tral9 kernel: random: dbus-uuidgen: uninitialized urandom read (8 bytes read)
Jan  1 20:13:05 jetson-tx2-tral9 kernel: random: crng init done
Jan  1 20:13:05 jetson-tx2-tral9 kernel: random: 7 urandom warning(s) missed due to ratelimiting
Jan  1 20:13:08 jetson-tx2-tral9 kernel: eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Jan  1 20:13:08 jetson-tx2-tral9 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Jan  1 20:13:08 jetson-tx2-tral9 kernel: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Jan  1 20:13:32 jetson-tx2-tral9 kernel: spmic-ldo0: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: spmic-ldo1: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: en-vdd-sd: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: vdd-usb0-5v: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: vdd-usb1-5v: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: vdd-3v3: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: en-vdd-vcm-2v8: disabling
Jan  1 20:13:32 jetson-tx2-tral9 kernel: vdd-sys-bl: disabling

I need the basic functionality from aic32x4: capture and playback. So do i need to change the clk things in the dts file?

This confirms Sound card is registered.

Did you tried playback on codec speakers with aplay command?.

@mkumard
Hello!
Thank you for the patience.
Message to keep this topic opened. I will come back with results.

Is this still an issue to support? Any result can be shared?

Hello @kayccc !
Yes this is still issue. I hope i can post the results shortly.

Thank you for the patience.

Hello!
Thank you for waiting for results!

alsamixer doesn’t how my card, aplay gives no sound but do something, arecord doesn’t work.

(dmesg log and files changed are in the attachement)

root@--60 ~ cat /proc/asound/cards
 0 [tegrahda       ]: tegra-hda - tegra-hda
                      tegra-hda at 0x3518000 irq 382
 1 [tegrasndt186ref]: tegra-snd-t186r - tegra-snd-t186ref-mobile-rt565x
                      tegra-snd-t186ref-mobile-rt565x
root@--60 ~ cat /sys/kernel/debug/asoc/codecs
tegra186-dspk.1
tegra186-dspk.0
tegra186-asrc
tegra186-arad
tegra210-ope.0
tegra210-mvc.1
tegra210-mvc.0
tegra186-afc.5
tegra186-afc.4
tegra186-afc.3
tegra186-afc.2
tegra186-afc.1
tegra186-afc.0
tegra210-sfc.3
tegra210-sfc.2
tegra210-sfc.1
tegra210-sfc.0
tegra210-mixer
tegra210-adx.3
tegra210-adx.2
tegra210-adx.1
tegra210-adx.0
tegra210-amx.3
tegra210-amx.2
tegra210-amx.1
tegra210-amx.0
tegra210-dmic.3
tegra210-dmic.2
tegra210-dmic.1
tegra210-dmic.0
tegra210-i2s.5
tegra210-i2s.4
tegra210-i2s.3
tegra210-i2s.2
tegra210-i2s.1
tegra210-i2s.0
tegra186-admaif
tegra210-axbar
tlv320aic32x4.0-0018
spdif_dit:spdif-dit.13@d
spdif_dit:spdif-dit.12@c
spdif_dit:spdif-dit.11@b
spdif_dit:spdif-dit.10@a
spdif_dit:spdif-dit.9@9
spdif_dit:spdif-dit.8@8
spdif_dit:spdif-dit.7@7
spdif_dit:spdif-dit.6@6
spdif_dit:spdif-dit.5@5
spdif_dit:spdif-dit.4@4
spdif_dit:spdif-dit.3@3
spdif_dit:spdif-dit.2@2
spdif_dit:spdif-dit.1@1
spdif_dit:spdif-dit.0@0
snd-soc-dummy
root@--60 ~ arecord -f cd rec.wav
arecord: main:831: audio open error: No such file or directory
root@--60 ~ alsamixer
ALSA lib ../../alsa-lib-1.2.6.1/src/confmisc.c:165:(snd_config_get_card) Cannot get card index for Tegra
cannot open mixer: No such device
root@--60 ~ aplay attention.wav
Playing WAVE 'attention.wav' : Signed 16 bit Little Endian, Rate 24000 Hz, Mono
root@--60 ~ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Tegra HDA Soundcard (tegrahda,7)
hdmi:CARD=tegrahda,DEV=0
    tegra-hda, HDMI 0
    HDMI Audio Output
hdmi:CARD=tegrahda,DEV=1
    tegra-hda, HDMI 0
    HDMI Audio Output
usbstream:CARD=tegrahda
    tegra-hda
    USB Stream Output
sysdefault:CARD=tegrasndt186ref
    tegra-snd-t186ref-mobile-rt565x,
    Default Audio Device
front:CARD=tegrasndt186ref,DEV=0
    tegra-snd-t186ref-mobile-rt565x,
    Front output / input
usbstream:CARD=tegrasndt186ref
    tegra-snd-t186ref-mobile-rt565x
    USB Stream Output

Any help would be appreciated…
Thank you.

sound.zip (41.7 KB)

Schematics for tlv320aic32x4 is next:
Input to record is connected to chip’s IN1_L and IN1_R.
Output - LOUT_L and LOUT_R.

Jetson TX2: tlv is connected to I2S0 lines, that is tegra_i2s1 in the dts files as i understand.

I’ve tried this script to record, but there is only silence in the recording file

#!/bin/bash

amixer -c tegrasndt186ref sset 'ADMAIF1 Mux' 'I2S1'
amixer -c tegrasndt186ref sset 'I2S1 Mux' 'ADMAIF1'

amixer -c tegrasndt186ref cset name='z Auto-mute Switch' 0

amixer -c tegrasndt186ref cset name='z HP DAC Playback Switch' 1
amixer -c tegrasndt186ref cset name='z HP Driver Gain Volume' 0

amixer -c tegrasndt186ref cset name='z HPL Output Mixer IN1_L Switch' 1
amixer -c tegrasndt186ref cset name='z HPR Output Mixer IN1_R Switch' 1

amixer -c tegrasndt186ref cset name='z HPL Output Mixer L_DAC Switch' 1
amixer -c tegrasndt186ref cset name='z HPR Output Mixer R_DAC Switch' 1

amixer -c tegrasndt186ref cset name='z LO DAC Playback Switch' 1

# 0: -6dB
amixer -c tegrasndt186ref cset name='z LO Driver Gain Volume' 0
amixer -c tegrasndt186ref cset name='z LOL Output Mixer L_DAC Switch' 1
amixer -c tegrasndt186ref cset name='z LOR Output Mixer R_DAC Switch' 1

# -63.5dB to 24dB: 0 ; 0dB
amixer -c tegrasndt186ref cset name='z PCM Playback Volume' 130
amixer -c tegrasndt186ref cset name='z PGA Level Volume' 95

amixer -c tegrasndt186ref cset name='z Mic PGA Switch' 0
amixer -c tegrasndt186ref cset name='z Right Input Mixer IN1_R P Switch' 1
amixer -c tegrasndt186ref cset name='z Right Input Mixer IN2_R P Switch' 0
amixer -c tegrasndt186ref cset name='z Right Input Mixer IN3_R P Switch' 0
amixer -c tegrasndt186ref cset name='z Left Input Mixer IN1_L P Switch' 1
amixer -c tegrasndt186ref cset name='z Left Input Mixer IN2_L P Switch' 0
amixer -c tegrasndt186ref cset name='z Left Input Mixer IN3_L P Switch' 0

amixer -c tegrasndt186ref cset name='z ADCFGA Left Mute Switch' 0
amixer -c tegrasndt186ref cset name='z ADCFGA Right Mute Switch' 0

arecord -D hw:tegrasndt186ref,0 -f S16_LE -c2 -r44100 my.wav -v

Hello again.
I think files in sound.zip might be corrupted. So I’m posting just a diff

diff --git a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
index 42108d8e1570..7aadca7dcc1a 100644
--- a/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
+++ b/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
@@ -169,6 +169,18 @@
 				rom-val = /bits/ 8 <0x05>;
 			};
 		};
+		aic32x4: tlv320aic32x4.1-0018@18 {
+			compatible = "ti,tlv320aic32x4";
+			status = "okay";
+			reg = <0x18>;
+			clocks = <&tegra_car TEGRA186_CLK_AUD_MCLK>;
+			clock-names = "mclk";
+			micbias-resistor-k-ohms = <2>;
+			micbias-voltage-m-volts = <3000>;
+			dv-supply = <&battery_reg>;
+			av-supply = <&battery_reg>;
+			iov-supply = <&battery_reg>;
+		};	
 	};
 
 	i2c@c240000 {
@@ -671,7 +683,8 @@
 #endif
 	ahub {
 		/* I2S6 */
-		i2s@2901500 {
+		i2s@2901100 {
+			status = "okay";
 			bclk-ratio = <4>;
 		};
 
@@ -698,227 +711,61 @@
 	tegra_sound: sound {
 		compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
 		nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
-		nvidia,num-codec-link = <12>;
+		nvidia,num-codec-link = <1>;
 		clocks = <&tegra_car TEGRA186_CLK_PLLA>,
 			 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
+			 <&tegra_car TEGRA186_CLK_AHUB>,
 			 <&tegra_car TEGRA186_CLK_AUD_MCLK>;
-		clock-names = "pll_a", "pll_a_out0", "extern1";
+		clock-names = "pll_a", "pll_a_out0", "ahub", "extern1";
 		assigned-clocks = <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
 				  <&tegra_car TEGRA186_CLK_AUD_MCLK>;
 		assigned-clock-parents = <&tegra_car TEGRA186_CLK_PLLA>,
-					 <&tegra_car TEGRA186_CLK_PLL_A_OUT0>;
+					 <&tegra_car TEGRA186_CLK_PLLP_OUT0>;
+		assigned-clock-rates = <0>, <12000000>;
 		resets = <&tegra_car TEGRA186_RESET_AUD_MCLK>;
 		reset-names = "extern1_rst";
 
 		status = "okay";
 		nvidia,audio-routing =
-			"x Headphone",		"x OUT",
-			"x IN",			"x Mic",
-			"y Headphone",		"y OUT",
-			"y IN",			"y Mic",
-			"z Headphone",		"z OUT",
-			"z IN",			"z Mic",
-			"m Headphone",		"m OUT",
-			"m IN",			"m Mic",
-			"n Headphone",		"n OUT",
-			"n IN",			"n Mic",
-			"o Headphone",		"o OUT",
-			"o IN",			"o Mic",
-			"a IN",			"a Mic",
-			"b IN",			"b Mic",
-			"c IN",			"c Mic",
-			"d IN",			"d Mic",
-			"d1 Headphone",		"d1 OUT",
-			"d3 Headphone",		"d3 OUT";
+			"z Playback", "z LOL",
+			"z Playback", "z LOR",
+			"z Headphone", "z HPL",
+			"z Headphone", "z HPR",
+			"z Left DAC", "z Playback",
+			"z Right DAC", "z Playback",
+			"z IN1_L", "z Mic",
+			"z IN1_R", "z Mic",
+			"z IN2_L", "z Mic",
+			"z IN2_R", "z Mic",
+			"z IN3_L", "z Mic",
+			"z IN3_R", "z Mic",
+			"z Capture", "z Left ADC",
+			"z Capture", "z Right ADC";
 
 		nvidia,xbar = <&tegra_axbar>;
-		mclk-fs = <256>;
+		//mclk-fs = <256>;
 
-		rt565x_dai_link: nvidia,dai-link-1 {
-			link-name = "spdif-dit-0";
+		nvidia,dai-link-1 {
+			link-name = "ti-capture";
 			cpu-dai = <&tegra_i2s1>;
-			codec-dai = <&spdif_dit0>;
+			codec-dai = <&aic32x4>;
 			cpu-dai-name = "I2S1";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "x";
-			status = "okay";
-		};
-		nvidia,dai-link-2 {
-			link-name = "spdif-dit-1";
-			cpu-dai = <&tegra_i2s2>;
-			codec-dai = <&spdif_dit1>;
-			cpu-dai-name = "I2S2";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "y";
-			status = "okay";
-		};
-		nvidia,dai-link-3 {
-			link-name = "spdif-dit-2";
-			cpu-dai = <&tegra_i2s3>;
-			codec-dai = <&spdif_dit2>;
-			cpu-dai-name = "I2S3";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "z";
-			status = "okay";
-		};
-		nvidia,dai-link-4 {
-			link-name = "spdif-dit-3";
-			cpu-dai = <&tegra_i2s4>;
-			codec-dai = <&spdif_dit3>;
-			cpu-dai-name = "I2S4";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "m";
-			status = "okay";
-		};
-		nvidia,dai-link-5 {
-			link-name = "spdif-dit-4";
-			cpu-dai = <&tegra_i2s5>;
-			codec-dai = <&spdif_dit4>;
-			cpu-dai-name = "I2S5";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "n";
-			status = "okay";
-		};
-		nvidia,dai-link-6 {
-			link-name = "spdif-dit-6";
-			cpu-dai = <&tegra_i2s6>;
-			codec-dai = <&spdif_dit6>;
-			cpu-dai-name = "I2S6";
-			codec-dai-name = "dit-hifi";
+			codec-dai-name = "tlv320aic32x4-hifi";
 			tx-mask = <0xFF>;
 			rx-mask = <0xFF>;
-			format = "dsp_a";
-			bitclock-inversion;
-			bit-format = "s16_le";
-			srate = <8000>;
-			num-channel = <1>;
-			ignore_suspend;
-			name-prefix = "o";
-			status = "okay";
-		};
-		nvidia,dai-link-7 {
-			link-name = "spdif-dit-7";
-			cpu-dai = <&tegra_dmic1>;
-			codec-dai = <&spdif_dit7>;
-			cpu-dai-name = "DMIC1";
-			codec-dai-name = "dit-hifi";
 			format = "i2s";
+			bitclock-slave;
+			frame-slave; 
+			bitclock-noninversion;
+			frame-noninversion;
 			bit-format = "s16_le";
-			srate = <48000>;
-			ignore_suspend;
+			srate = <44100>;
+			bclk_ratio = <1>;
 			num-channel = <2>;
-			name-prefix = "a";
-			status = "okay";
-		};
-		nvidia,dai-link-8 {
-			link-name = "spdif-dit-8";
-			cpu-dai = <&tegra_dmic2>;
-			codec-dai = <&spdif_dit8>;
-			cpu-dai-name = "DMIC2";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
 			ignore_suspend;
-			num-channel = <2>;
-			name-prefix = "b";
-			status = "okay";
-		};
-		nvidia,dai-link-9 {
-			link-name = "spdif-dit-9";
-			cpu-dai = <&tegra_dmic3>;
-			codec-dai = <&spdif_dit9>;
-			cpu-dai-name = "DMIC3";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			ignore_suspend;
-			num-channel = <2>;
-			name-prefix = "c";
-			status = "okay";
-		};
-		nvidia,dai-link-10 {
-			link-name = "spdif-dit-10";
-			cpu-dai = <&tegra_dmic4>;
-			codec-dai = <&spdif_dit10>;
-			cpu-dai-name = "DMIC4";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			ignore_suspend;
-			num-channel = <2>;
-			name-prefix = "d";
-			status = "okay";
-		};
-		nvidia,dai-link-11 {
-			link-name = "dspk1-playback";
-			cpu-dai = <&tegra_dspk1>;
-			codec-dai = <&spdif_dit13>;
-			cpu-dai-name = "DSPK1";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "d3";
-			status = "okay";
-		};
-		dspk_1_dai_link: nvidia,dai-link-12 {
-			link-name = "dspk-playback-l";
-			cpu-dai = <&tegra_dspk2>;
-			codec-dai = <&spdif_dit11>;
-			cpu-dai-name = "DSPK2";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "d1";
+			name-prefix = "z";
 			status = "okay";
 		};
-		dspk_2_dai_link: nvidia,dai-link-13 {
-			link-name = "dspk-playback-r";
-			cpu-dai = <&tegra_dspk2>;
-			codec-dai = <&spdif_dit12>;
-			cpu-dai-name = "DSPK2";
-			codec-dai-name = "dit-hifi";
-			format = "i2s";
-			bit-format = "s16_le";
-			srate = <48000>;
-			num-channel = <2>;
-			ignore_suspend;
-			name-prefix = "d2";
-			status = "okay";
-                };
 	};
 
 	backlight {
diff --git a/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c b/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
index b2e8fa27cd62..a544c6c6764f 100644
--- a/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
+++ b/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c
@@ -30,6 +30,7 @@
 #include <dt-bindings/sound/tas2552.h>
 #include "rt5659.h"
 #include "sgtl5000.h"
+#include "tlv320aic32x4.h"
 #include "tegra_asoc_machine_alt.h"
 #include "tegra210_xbar_alt.h"
 
@@ -288,7 +289,7 @@ static int tegra_machine_set_params(struct snd_soc_card *card,
 
 static int tegra_machine_dai_init(struct snd_soc_pcm_runtime *runtime,
 				  unsigned int rate, unsigned int channels,
-				  u64 formats)
+				  u64 formats, bool is_palyback)
 {
 	struct snd_soc_card *card = runtime->card;
 	struct tegra_machine *machine = snd_soc_card_get_drvdata(card);
@@ -358,6 +359,19 @@ static int tegra_machine_dai_init(struct snd_soc_pcm_runtime *runtime,
 		}
 	}
 
+	rtd = snd_soc_get_pcm_runtime(card, "ti-capture");
+        if (rtd) {
+                dai_params =
+                (struct snd_soc_pcm_stream *)rtd->dai_link->params;
+                dai_params->rate_min = srate;
+		 dai_params->channels_min = channels;
+        	dai_params->formats = formats;
+                if (err < 0) {
+                        dev_err(card->dev, "codec_dai clock not parashuram set\n");
+                        return err;
+                }
+        }
+
 	rtd = snd_soc_get_pcm_runtime(card, "rt565x-codec-sysclk-bclk1");
 	if (rtd) {
 		dai_params =
@@ -410,10 +424,18 @@ static int tegra_machine_pcm_hw_params(struct snd_pcm_substream *substream,
 	struct snd_soc_pcm_runtime *rtd = substream->private_data;
 	struct snd_soc_card *card = rtd->card;
 	int err;
+	bool is_playback;
+
+	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+		is_playback = true;
+	else
+		is_playback = false;
+
 
 	err = tegra_machine_dai_init(rtd, params_rate(params),
 				     params_channels(params),
-				     params_format(params));
+				     params_format(params),
+					 is_playback);
 	if (err < 0) {
 		dev_err(card->dev, "Failed dai init\n");
 		return err;
@@ -583,6 +605,21 @@ static int tegra_machine_rt565x_init(struct snd_soc_pcm_runtime *rtd)
 	return 0;
 }
 
+static int tegra_machine_aic32x4_init(struct snd_soc_pcm_runtime *rtd)
+{
+	struct device *dev = rtd->card->dev;
+   	int err;
+
+	err = snd_soc_dai_set_sysclk(rtd->codec_dai, AIC32X4_FREQ_12000000, 12000000,
+                        SND_SOC_CLOCK_IN);
+    if (err) {
+        dev_err(dev, "failed to set aic32x4 sysclk!\n");
+        return err;
+    }
+
+    return 0;
+}
+
 static int codec_init(struct tegra_machine *machine)
 {
 	struct snd_soc_dai_link *dai_links = machine->asoc->dai_links;
@@ -602,6 +639,9 @@ static int codec_init(struct tegra_machine *machine)
 			dai_links[i].init = tegra_machine_fepi_init;
 		else if (strstr(dai_links[i].name, "respeaker-4-mic-array"))
 			dai_links[i].init = tegra_machine_respeaker_init;
+		else if (strstr(dai_links[i].name, "ti-capture"))
+			dai_links[i].init = tegra_machine_aic32x4_init;
+
 	}
 
 	return 0;
diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
old mode 100644
new mode 100755
index c27e3476848a..74223e25dff9
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -30,6 +30,7 @@
 #include <linux/pm.h>
 #include <linux/gpio.h>
 #include <linux/of_gpio.h>
+#include <linux/i2c.h>
 #include <linux/cdev.h>
 #include <linux/slab.h>
 #include <linux/clk.h>
@@ -159,10 +160,7 @@ static const struct aic32x4_rate_divs aic32x4_divs[] = {
 	/* 48k rate */
 	{AIC32X4_FREQ_12000000, 48000, 1, 8, 1920, 128, 2, 8, 128, 2, 8, 4},
 	{AIC32X4_FREQ_24000000, 48000, 2, 8, 1920, 128, 8, 2, 64, 8, 4, 4},
-	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4},
-
-	/* 96k rate */
-	{AIC32X4_FREQ_25000000, 96000, 2, 7, 8643, 64, 4, 4, 64, 4, 4, 1},
+	{AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4}
 };
 
 static const struct snd_kcontrol_new hpl_output_mixer_controls[] = {
@@ -183,75 +181,46 @@ static const struct snd_kcontrol_new lor_output_mixer_controls[] = {
 	SOC_DAPM_SINGLE("R_DAC Switch", AIC32X4_LORROUTE, 3, 1, 0),
 };
 
-static const char * const resistor_text[] = {
-	"Off", "10 kOhm", "20 kOhm", "40 kOhm",
+static const struct snd_kcontrol_new left_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_L P Switch", AIC32X4_LMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_L P Switch", AIC32X4_LMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_L P Switch", AIC32X4_LMICPGAPIN, 2, 1, 0),
 };
 
-/* Left mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1l_lpga_p_enum, AIC32X4_LMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_lpga_p_enum, AIC32X4_LMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_lpga_p_enum, AIC32X4_LMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1r_lpga_p_enum, AIC32X4_LMICPGAPIN, 0, resistor_text);
-
-static SOC_ENUM_SINGLE_DECL(cml_lpga_n_enum, AIC32X4_LMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_lpga_n_enum, AIC32X4_LMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_lpga_n_enum, AIC32X4_LMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L L+ Switch", in1l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L L+ Switch", in2l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in3l_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L L+ Switch", in3l_lpga_p_enum),
-};
-static const struct snd_kcontrol_new in1r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R L+ Switch", in1r_lpga_p_enum),
-};
-static const struct snd_kcontrol_new cml_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_L L- Switch", cml_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in2r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R L- Switch", in2r_lpga_n_enum),
-};
-static const struct snd_kcontrol_new in3r_to_lmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R L- Switch", in3r_lpga_n_enum),
+static const struct snd_kcontrol_new right_input_mixer_controls[] = {
+	SOC_DAPM_SINGLE("IN1_R P Switch", AIC32X4_RMICPGAPIN, 6, 1, 0),
+	SOC_DAPM_SINGLE("IN2_R P Switch", AIC32X4_RMICPGAPIN, 4, 1, 0),
+	SOC_DAPM_SINGLE("IN3_R P Switch", AIC32X4_RMICPGAPIN, 2, 1, 0),
 };
 
-/*  Right mixer pins */
-static SOC_ENUM_SINGLE_DECL(in1r_rpga_p_enum, AIC32X4_RMICPGAPIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2r_rpga_p_enum, AIC32X4_RMICPGAPIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3r_rpga_p_enum, AIC32X4_RMICPGAPIN, 2, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in2l_rpga_p_enum, AIC32X4_RMICPGAPIN, 0, resistor_text);
-static SOC_ENUM_SINGLE_DECL(cmr_rpga_n_enum, AIC32X4_RMICPGANIN, 6, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in1l_rpga_n_enum, AIC32X4_RMICPGANIN, 4, resistor_text);
-static SOC_ENUM_SINGLE_DECL(in3l_rpga_n_enum, AIC32X4_RMICPGANIN, 2, resistor_text);
-
-static const struct snd_kcontrol_new in1r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_R R+ Switch", in1r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_R R+ Switch", in2r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in3r_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_R R+ Switch", in3r_rpga_p_enum),
-};
-static const struct snd_kcontrol_new in2l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN2_L R+ Switch", in2l_rpga_p_enum),
-};
-static const struct snd_kcontrol_new cmr_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("CM_R R- Switch", cmr_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in1l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN1_L R- Switch", in1l_rpga_n_enum),
-};
-static const struct snd_kcontrol_new in3l_to_rmixer_controls[] = {
-	SOC_DAPM_ENUM("IN3_L R- Switch", in3l_rpga_n_enum),
-};
+static int mic_bias_event(struct snd_soc_dapm_widget *w,
+       struct snd_kcontrol *kcontrol, int event)
+{
+       struct snd_soc_component *component =
+snd_soc_dapm_to_component(w->dapm);
+
+       // switch (event) {
+       // case SND_SOC_DAPM_POST_PMU:
+       //         /* Change Mic Bias Registor */
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK,
+       //                         AIC32X4_MICBIAS_LDOIN |
+       //                         AIC32X4_MICBIAS_2075V);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned ON\n", __func__);
+       //         break;
+       // case SND_SOC_DAPM_PRE_PMD:
+       //         snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
+       //                         AIC32x4_MICBIAS_MASK, 0);
+       //         printk(KERN_DEBUG "%s: Mic Bias will be turned OFF\n",
+       //                         __func__);
+       //         break;
+       // }
+
+       return 0;
+}
 
 static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
-	SND_SOC_DAPM_DAC("Left DAC", "Left Playback", AIC32X4_DACSETUP, 7, 0),
+	SND_SOC_DAPM_DAC("Left DAC", "Playback", AIC32X4_DACSETUP, 7, 0),
 	SND_SOC_DAPM_MIXER("HPL Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpl_output_mixer_controls[0],
 			   ARRAY_SIZE(hpl_output_mixer_controls)),
@@ -262,7 +231,7 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   ARRAY_SIZE(lol_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOL Power", AIC32X4_OUTPWRCTL, 3, 0, NULL, 0),
 
-	SND_SOC_DAPM_DAC("Right DAC", "Right Playback", AIC32X4_DACSETUP, 6, 0),
+	SND_SOC_DAPM_DAC("Right DAC", "Playback", AIC32X4_DACSETUP, 6, 0),
 	SND_SOC_DAPM_MIXER("HPR Output Mixer", SND_SOC_NOPM, 0, 0,
 			   &hpr_output_mixer_controls[0],
 			   ARRAY_SIZE(hpr_output_mixer_controls)),
@@ -271,40 +240,17 @@ static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
 			   &lor_output_mixer_controls[0],
 			   ARRAY_SIZE(lor_output_mixer_controls)),
 	SND_SOC_DAPM_PGA("LOR Power", AIC32X4_OUTPWRCTL, 2, 0, NULL, 0),
-
-	SND_SOC_DAPM_ADC("Right ADC", "Right Capture", AIC32X4_ADCSETUP, 6, 0),
-	SND_SOC_DAPM_MUX("IN1_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Right Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("CM_R to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cmr_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_rmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Right Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_rmixer_controls),
-
-	SND_SOC_DAPM_ADC("Left ADC", "Left Capture", AIC32X4_ADCSETUP, 7, 0),
-	SND_SOC_DAPM_MUX("IN1_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in2l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_L to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in3l_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN1_R to Left Mixer Positive Resistor", SND_SOC_NOPM, 0, 0,
-			in1r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("CM_L to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			cml_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN2_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in2r_to_lmixer_controls),
-	SND_SOC_DAPM_MUX("IN3_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
-			in3r_to_lmixer_controls),
-
-	SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0),
+	SND_SOC_DAPM_MIXER("Left Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &left_input_mixer_controls[0],
+			   ARRAY_SIZE(left_input_mixer_controls)),
+	SND_SOC_DAPM_MIXER("Right Input Mixer", SND_SOC_NOPM, 0, 0,
+			   &right_input_mixer_controls[0],
+			   ARRAY_SIZE(right_input_mixer_controls)),
+	SND_SOC_DAPM_ADC(	"Left ADC", "Capture",			AIC32X4_ADCSETUP, 7, 0), // Jon 20.03.2018
+	SND_SOC_DAPM_ADC(	"Right ADC", "Capture",			AIC32X4_ADCSETUP, 6, 0), // Jon 20.03.2018
+	//SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0), 
+	SND_SOC_DAPM_SUPPLY("Mic Bias", AIC32X4_MICBIAS, 6, 0, mic_bias_event,
+                       SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
 
 	SND_SOC_DAPM_OUTPUT("HPL"),
 	SND_SOC_DAPM_OUTPUT("HPR"),
@@ -345,77 +291,19 @@ static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
 	{"LOR Power", NULL, "LOR Output Mixer"},
 	{"LOR", NULL, "LOR Power"},
 
+	/* Left input */
+	{"Left Input Mixer", "IN1_L P Switch", "IN1_L"},
+	{"Left Input Mixer", "IN2_L P Switch", "IN2_L"},
+	{"Left Input Mixer", "IN3_L P Switch", "IN3_L"},
+
+	{"Left ADC", NULL, "Left Input Mixer"},
+
 	/* Right Input */
-	{"Right ADC", NULL, "IN1_R to Right Mixer Positive Resistor"},
-	{"IN1_R to Right Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Right Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Right ADC", NULL, "IN2_R to Right Mixer Positive Resistor"},
-	{"IN2_R to Right Mixer Positive Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Right Mixer Positive Resistor", "40 kOhm", "IN2_R"},
-
-	{"Right ADC", NULL, "IN3_R to Right Mixer Positive Resistor"},
-	{"IN3_R to Right Mixer Positive Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Right Mixer Positive Resistor", "40 kOhm", "IN3_R"},
-
-	{"Right ADC", NULL, "IN2_L to Right Mixer Positive Resistor"},
-	{"IN2_L to Right Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Right Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Right ADC", NULL, "CM_R to Right Mixer Negative Resistor"},
-	{"CM_R to Right Mixer Negative Resistor", "10 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "20 kOhm", "CM_R"},
-	{"CM_R to Right Mixer Negative Resistor", "40 kOhm", "CM_R"},
-
-	{"Right ADC", NULL, "IN1_L to Right Mixer Negative Resistor"},
-	{"IN1_L to Right Mixer Negative Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Right Mixer Negative Resistor", "40 kOhm", "IN1_L"},
-
-	{"Right ADC", NULL, "IN3_L to Right Mixer Negative Resistor"},
-	{"IN3_L to Right Mixer Negative Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Right Mixer Negative Resistor", "40 kOhm", "IN3_L"},
-
-	/* Left Input */
-	{"Left ADC", NULL, "IN1_L to Left Mixer Positive Resistor"},
-	{"IN1_L to Left Mixer Positive Resistor", "10 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "20 kOhm", "IN1_L"},
-	{"IN1_L to Left Mixer Positive Resistor", "40 kOhm", "IN1_L"},
-
-	{"Left ADC", NULL, "IN2_L to Left Mixer Positive Resistor"},
-	{"IN2_L to Left Mixer Positive Resistor", "10 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "20 kOhm", "IN2_L"},
-	{"IN2_L to Left Mixer Positive Resistor", "40 kOhm", "IN2_L"},
-
-	{"Left ADC", NULL, "IN3_L to Left Mixer Positive Resistor"},
-	{"IN3_L to Left Mixer Positive Resistor", "10 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "20 kOhm", "IN3_L"},
-	{"IN3_L to Left Mixer Positive Resistor", "40 kOhm", "IN3_L"},
-
-	{"Left ADC", NULL, "IN1_R to Left Mixer Positive Resistor"},
-	{"IN1_R to Left Mixer Positive Resistor", "10 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "20 kOhm", "IN1_R"},
-	{"IN1_R to Left Mixer Positive Resistor", "40 kOhm", "IN1_R"},
-
-	{"Left ADC", NULL, "CM_L to Left Mixer Negative Resistor"},
-	{"CM_L to Left Mixer Negative Resistor", "10 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "20 kOhm", "CM_L"},
-	{"CM_L to Left Mixer Negative Resistor", "40 kOhm", "CM_L"},
-
-	{"Left ADC", NULL, "IN2_R to Left Mixer Negative Resistor"},
-	{"IN2_R to Left Mixer Negative Resistor", "10 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "20 kOhm", "IN2_R"},
-	{"IN2_R to Left Mixer Negative Resistor", "40 kOhm", "IN2_R"},
-
-	{"Left ADC", NULL, "IN3_R to Left Mixer Negative Resistor"},
-	{"IN3_R to Left Mixer Negative Resistor", "10 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "20 kOhm", "IN3_R"},
-	{"IN3_R to Left Mixer Negative Resistor", "40 kOhm", "IN3_R"},
+	{"Right Input Mixer", "IN1_R P Switch", "IN1_R"},
+	{"Right Input Mixer", "IN2_R P Switch", "IN2_R"},
+	{"Right Input Mixer", "IN3_R P Switch", "IN3_R"},
+
+	{"Right ADC", NULL, "Right Input Mixer"},
 };
 
 static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
@@ -425,12 +313,14 @@ static const struct regmap_range_cfg aic32x4_regmap_pages[] = {
 		.window_start = 0,
 		.window_len = 128,
 		.range_min = 0,
-		.range_max = AIC32X4_RMICPGAVOL,
+		.range_max = 0xFB, //AIC32X4_RMICPGAVOL,
 	},
 };
 
 const struct regmap_config aic32x4_regmap_config = {
-	.max_register = AIC32X4_RMICPGAVOL,
+	.reg_bits = 8,
+	.val_bits = 8,
+	.max_register =  0xFB, //AIC32X4_RMICPGAVOL,
 	.ranges = aic32x4_regmap_pages,
 	.num_ranges = ARRAY_SIZE(aic32x4_regmap_pages),
 };
@@ -538,7 +428,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		printk(KERN_ERR "aic32x4: sampling rate not supported\n");
 		return i;
 	}
-
+#if 0
 	/* Use PLL as CODEC_CLKIN and DAC_MOD_CLK as BDIV_CLKIN */
 	snd_soc_write(codec, AIC32X4_CLKMUX, AIC32X4_PLLCLKIN);
 	snd_soc_write(codec, AIC32X4_IFACE3, AIC32X4_DACMOD2BCLK);
@@ -604,7 +494,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 		break;
 	}
 	snd_soc_write(codec, AIC32X4_IFACE1, data);
-
+#endif
 	if (params_channels(params) == 1) {
 		data = AIC32X4_RDAC2LCHN | AIC32X4_LDAC2LCHN;
 	} else {
@@ -668,8 +558,8 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_MADCEN, AIC32X4_MADCEN);
 
 		/* Switch on BCLK_N Divider */
-		snd_soc_update_bits(codec, AIC32X4_BCLKN,
-				    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
+		// snd_soc_update_bits(codec, AIC32X4_BCLKN,
+		// 		    AIC32X4_BCLKEN, AIC32X4_BCLKEN);
 		break;
 	case SND_SOC_BIAS_PREPARE:
 		break;
@@ -699,7 +589,7 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
 				    AIC32X4_PLLEN, 0);
 
 		/* Switch off master clock */
-		clk_disable_unprepare(aic32x4->mclk);
+		// clk_disable_unprepare(aic32x4->mclk);
 		break;
 	case SND_SOC_BIAS_OFF:
 		break;

From your logs, could see audio card registered and also codec related controls listed as part of amixer list, What is the error seen when arecord is executed. Expecting the usecase to work if codec related controls are set properly.

Did you tried probing the I2S1 signals to check the rates?

Hello @mkumard !

There is no error when arecord is executed. But there are just 0x0000 in the output file after the header.

Also I tried this script that was working ok on the same hardware but on 28.2 with Igal’s patches:

#!/bin/bash

amixer -c tegrasndt186ref sset 'ADMAIF1 Mux' 'I2S1'
amixer -c tegrasndt186ref sset 'I2S1 Mux' 'ADMAIF1'

amixer -c tegrasndt186ref cset name='z Auto-mute Switch' 0

amixer -c tegrasndt186ref cset name='z HP DAC Playback Switch' 0
amixer -c tegrasndt186ref cset name='z HP Driver Gain Volume' 0

amixer -c tegrasndt186ref cset name='z HPL Output Mixer IN1_L Switch' 0
amixer -c tegrasndt186ref cset name='z HPR Output Mixer IN1_R Switch' 0

amixer -c tegrasndt186ref cset name='z HPL Output Mixer L_DAC Switch' 0
amixer -c tegrasndt186ref cset name='z HPR Output Mixer R_DAC Switch' 0

amixer -c tegrasndt186ref cset name='z LO DAC Playback Switch' 1

# 0: -6dB
amixer -c tegrasndt186ref cset name='z LO Driver Gain Volume' 0
amixer -c tegrasndt186ref cset name='z LOL Output Mixer L_DAC Switch' 1
amixer -c tegrasndt186ref cset name='z LOR Output Mixer R_DAC Switch' 1

# -63.5dB to 24dB: 0 ; 0dB
amixer -c tegrasndt186ref cset name='z PCM Playback Volume' 130
amixer -c tegrasndt186ref cset name='z PGA Level Volume' 95

amixer -c tegrasndt186ref cset name='z Mic PGA Switch' 0
amixer -c tegrasndt186ref cset name='z Right Input Mixer IN1_R P Switch' 1
#amixer -c tegrasndt186ref cset name='z Right Input Mixer IN2_R P Switch' 0
#amixer -c tegrasndt186ref cset name='z Right Input Mixer IN3_R P Switch' 0
amixer -c tegrasndt186ref cset name='z Left Input Mixer IN1_L P Switch' 1
#amixer -c tegrasndt186ref cset name='z Left Input Mixer IN2_L P Switch' 0
#amixer -c tegrasndt186ref cset name='z Left Input Mixer IN3_L P Switch' 0

amixer -c tegrasndt186ref cset name='z ADCFGA Left Mute Switch' 0
amixer -c tegrasndt186ref cset name='z ADCFGA Right Mute Switch' 0

speaker-test -D hw:tegrasndt186ref,0 -c 2

… no sound.

No, I didn’t try to probe the signals on I2S1 lines.

Just to confirm, did you set I2S1 pinmux on 40 pin header using the steps @ NVIDIA Jetson Linux Developer Guide : Hardware Setup | NVIDIA Docs . If this is set, lets try to probe the I2S1 signals at 40 pin header to ensure clock and dout/din signals are valid.

Cannot check with 40 pin header. The circuit board is custom and differs from a jetson’s dev board. There is no such thing as the 40 pin header.
But I think I still can check the signals though.

ok got it, in the case of custom board please make sure i2s1 pinmux is set properly and then measure the signals during active usecase to validate the signals