Hi,Jon
Thank you for your reply. Here is the configuration:
#if TEGRA_AUDIO_BUS_DT_VERSION >= DT_VERSION_2
aconnect@2a41000 {
#endif
ahub {
i2s@2901000 {/I2S1/
status = “okay”;
bclk-ratio = <4>;
};
admaif@290f000 {
dma-buffer-size = <32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>,
<32768>, <32768>, <32768>, <32768>;
};
};
#if TEGRA_AUDIO_BUS_DT_VERSION >= DT_VERSION_2
};
#endif
hda@3510000 {
status = “okay”;
};
tegra_sound: sound {
compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
nvidia,model = "tegra-snd-t186ref-mobile-rt565x";
nvidia,num-codec-link = <12>;
/* modif by geng 2021-02-20
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>;
*/
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”, “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_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 LOL",
"x Headphone", "x LOR",
"x Headphone", "x HPL",
"x Headphone", "x HPR",
"x Left DAC", "x Playback",
"x Right DAC", "x Playback",
"x Mic Bias", "x Mic",
"x IN1_L", "x Mic",
"x IN1_R", "x Mic",
"x IN2_L", "x Mic",
"x IN2_R", "x Mic",
"x Capture", "x Left ADC",
"x Capture", "x Right ADC",
"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";
nvidia,xbar = <&tegra_axbar>;
/* mclk-fs = <256>; */
/*
rt565x_dai_link: nvidia,dai-link-1 {
link-name = “spdif-dit-0”;
cpu-dai = <&tegra_i2s1>;
codec-dai = <&spdif_dit0>;
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”;
};
//modif by geng 2021-02-20
*/
rt565x_dai_link: nvidia,dai-link-1 {
link-name = “ti-tlv320aic3254”;
cpu-dai = <&tegra_i2s1>;
codec-dai = <&aic32x4>;
cpu-dai-name = “I2S1”;
codec-dai-name = “tlv320aic32x4-hifi”;
format = “i2s”;
bit-format = “s16_le”;
bclk_ratio = <1>;
tx-mask = <0xFF>;
rx-mask = <0xFF>;
bitclock-slave;
frame-slave;
bitclock-noninversion;
frame-noninversion;
srate = <48000>;
//srate = <44100>;
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";
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";
bit-format = "s16_le";
srate = <48000>;
ignore_suspend;
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";
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";
};
};