Hello Jonathanh,
I have made changes for DT with related I2S1 that’s working fine now.
I’m referring igle DT.
DT changes are below
diff --git a/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi b/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
old mode 100644
new mode 100755
index 9416a21..acf8d76
--- a/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
+++ b/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi
@@ -166,6 +166,16 @@
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";
+ dv-supply = <&battery_reg>;
+ av-supply = <&battery_reg>;
+ iov-supply = <&battery_reg>;
+ };
};
i2c@c240000 {
@@ -668,7 +678,8 @@
#endif
ahub {
/* I2S6 */
- i2s@2901500 {
+ i2s@2901100 {
+ status = "okay";
bclk-ratio = <4>;
};
@@ -695,60 +706,60 @@
tegra_sound: sound {
compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
- nvidia,num-codec-link = <12>;
- clocks = <&tegra_car TEGRA186_CLK_PLLA>,
- <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
- <&tegra_car TEGRA186_CLK_AUD_MCLK>;
- clock-names = "pll_a", "pll_a_out0", "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>;
+ nvidia,num-codec-link = <13>;
+ nvidia,num-clk = <8>;
+ nvidia,clk-rates = < 270950400 /* PLLA_x11025_RATE */
+ 11289600 /* AUD_MCLK_x11025_RATE */
+ 45158400 /* PLLA_OUT0_x11025_RATE */
+ 45158400 /* AHUB_x11025_RATE */
+ 245760000 /* PLLA_x8000_RATE */
+ 12288000 /* AUD_MCLK_x8000_RATE */
+ 49152000 /* PLLA_OUT0_x8000_RATE */
+ 49152000 >;/* AHUB_x8000_RATE */
+ clocks = <&tegra_car TEGRA186_CLK_PLLP_OUT0>,
+ <&tegra_car TEGRA186_CLK_PLLA>,
+ <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
+ <&tegra_car TEGRA186_CLK_AHUB>,
+ <&tegra_car TEGRA186_CLK_CLK_M>,
+ <&tegra_car TEGRA186_CLK_AUD_MCLK>;
+ clock-names = "pll_p_out1", "pll_a", "pll_a_out0", "ahub",
+ "clk_m", "extern1";
resets = <&tegra_car TEGRA186_RESET_AUD_MCLK>;
reset-names = "extern1_rst";
status = "okay";
nvidia,audio-routing =
- "x Headphone", "x OUT",
- "x IN", "x Mic",
+ "z IN", "z IN1_R",
+ "z IN", "z IN1_L",
+ "z LOR", "z OUT",
+ "z LOL", "z OUT"
+/* "x Headphone", "x OUT",
+ "x IN", "x Mic",
"y Headphone", "y OUT",
- "y IN", "y Mic",
- "z Headphone", "z OUT",
- "z IN", "z Mic",
+ "y IN", "y Mic",
+ "z IN", "z OUT",
"m Headphone", "m OUT",
- "m IN", "m Mic",
+ "m IN", "m Mic",
"n Headphone", "n OUT",
- "n IN", "n Mic",
+ "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",
+ "o IN", "o Mic",
+ "a IN", "a Mic",
+ "b IN", "b Mic",
+ "c IN", "c Mic",
+ "d IN", "d Mic",
+ "e Headphone", "e OUT",
+ "e IN", "e Mic",
"d1 Headphone", "d1 OUT",
- "d3 Headphone", "d3 OUT";
+ "d2 Headphone", "d2 OUT"*/;
nvidia,xbar = <&tegra_axbar>;
mclk-fs = <256>;
could you please help me how to make changes for MIC and Headphone?
please find the below dmesg for current DT changes
nfs@nfs-desktop:~$ dmesg | grep sound
[ 0.462480] iommu: Adding device sound to group 52
[ 2.313102] input: tegra-hda HDMI/DP,pcm=3 as /devices/3510000.hda/sound/card0/input3
[ 2.313225] input: tegra-hda HDMI/DP,pcm=7 as /devices/3510000.hda/sound/card0/input4
[ 2.391116] tegra-asoc: sound: ADMAIF1 <-> ADMAIF1 mapping ok
[ 2.391194] tegra-asoc: sound: ADMAIF2 <-> ADMAIF2 mapping ok
[ 2.391363] tegra-asoc: sound: ADMAIF3 <-> ADMAIF3 mapping ok
[ 2.391438] tegra-asoc: sound: ADMAIF4 <-> ADMAIF4 mapping ok
[ 2.391506] tegra-asoc: sound: ADMAIF5 <-> ADMAIF5 mapping ok
[ 2.391575] tegra-asoc: sound: ADMAIF6 <-> ADMAIF6 mapping ok
[ 2.391645] tegra-asoc: sound: ADMAIF7 <-> ADMAIF7 mapping ok
[ 2.391713] tegra-asoc: sound: ADMAIF8 <-> ADMAIF8 mapping ok
[ 2.391785] tegra-asoc: sound: ADMAIF9 <-> ADMAIF9 mapping ok
[ 2.391854] tegra-asoc: sound: ADMAIF10 <-> ADMAIF10 mapping ok
[ 2.391925] tegra-asoc: sound: ADMAIF11 <-> ADMAIF11 mapping ok
[ 2.391996] tegra-asoc: sound: ADMAIF12 <-> ADMAIF12 mapping ok
[ 2.392068] tegra-asoc: sound: ADMAIF13 <-> ADMAIF13 mapping ok
[ 2.392137] tegra-asoc: sound: ADMAIF14 <-> ADMAIF14 mapping ok
[ 2.392208] tegra-asoc: sound: ADMAIF15 <-> ADMAIF15 mapping ok
[ 2.392278] tegra-asoc: sound: ADMAIF16 <-> ADMAIF16 mapping ok
[ 2.392343] tegra-asoc: sound: ADMAIF17 <-> ADMAIF17 mapping ok
[ 2.392423] tegra-asoc: sound: ADMAIF18 <-> ADMAIF18 mapping ok
[ 2.392489] tegra-asoc: sound: ADMAIF19 <-> ADMAIF19 mapping ok
[ 2.392557] tegra-asoc: sound: ADMAIF20 <-> ADMAIF20 mapping ok
[ 2.402314] tegra-asoc: sound: ASoC: no sink widget found for z IN
[ 2.402317] tegra-asoc: sound: ASoC: Failed to add route z IN1_R -> direct -> z IN
[ 2.402349] tegra-asoc: sound: ASoC: no sink widget found for z IN
[ 2.402351] tegra-asoc: sound: ASoC: Failed to add route z IN1_L -> direct -> z IN
[ 2.402376] tegra-asoc: sound: ASoC: no source widget found for z OUT
[ 2.402378] tegra-asoc: sound: ASoC: Failed to add route z OUT -> direct -> z LOR
[ 2.402404] tegra-asoc: sound: ASoC: no source widget found for z OUT
[ 2.402406] tegra-asoc: sound: ASoC: Failed to add route z OUT -> direct -> z LOL
nfs@nfs-desktop:~$ dmesg | grep tlv
[ 2.379935] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_R
[ 2.379939] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[ 2.379966] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_R
[ 2.379969] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[ 2.379994] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_R
[ 2.379997] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[ 2.385395] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_L
[ 2.385397] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[ 2.385415] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_L
[ 2.385417] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[ 2.385436] tlv320aic32x4 0-0018: ASoC: no source widget found for CM_L
[ 2.385437] tlv320aic32x4 0-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[ 2.412046] tlv320aic32x4 0-0018: ASoC: mux z CM_R to Right Mixer Negative Resistor has no paths
[ 2.412551] tlv320aic32x4 0-0018: ASoC: mux z CM_L to Left Mixer Negative Resistor has no paths
Please find the complete DT tegra186-quill-common.dtsi.txt (33.1 KB)
Regards,
Parashuram