Hi,
I am trying to integrated two audio codecs in same card.Below is my DT,
sound_card: sound {
compatible = "nvidia,tegra-audio-t210ref";
nvidia,model = "tegra-snd-t210ref";
nvidia,num-codec-link = <2>;
nvidia,audio-routing =
"z IN1_L", "LineIn-z",
"z IN1_R", "LineIn-z",
"Headphone-x","x LOL",
"Headphone-x", "x LOR";
nvidia,xbar = <&tegra_axbar>;
nvidia,dai-link-1 {
link-name = "tlv320adc3101-capture-z";
cpu-dai = <&tegra_i2s3>;
codec-dai = <&tlv320adc3101>;
cpu-dai-name = "I2S3";
codec-dai-name = "tlv320adc3101-asi";
format = "i2s";
bitclock-slave;
frame-slave;
bitclock-noninversion;
frame-noninversion;
bit-format = "s16_le";
bclk_ratio = <2>;
srate = <44100>;
num-channel = <2>;
ignore_suspend;
name-prefix = "z";
};
nvidia,dai-link-2 {
link-name = "tlv320dac3120-playback-x";
cpu-dai = <&tegra_i2s1>;
codec-dai = <&tlv320dac3120>;
cpu-dai-name = "I2S1";
codec-dai-name = "tlv320dac3120-asi";
format = "i2s";
bitclock-slave;
frame-slave;
bitclock-noninversion;
frame-noninversion;
bit-format = "s16_le";
bclk_ratio = <2>;
srate = <44100>;
num-channel = <2>;
ignore_suspend;
name-prefix = "x";
};
};
i2c@7000c000 {
status = "okay";
tlv320dac3120: tlv320dac3120-codec.0-0018@18 {
compatible = "ti,tlv320dac3120-codec";
reg = <0x18>;
status = "okay";
};
tlv320adc3101: tlv320adc3101-codec.0-001b@1b {
compatible = "ti,tlv320adc3101-codec";
reg = <0x1b>;
status = "okay";
};
};
–>Previously i tried to integrated separate Audio Codecs on the card and it works fine.
–>But after integration of 2 audio codecs on the same card, we are getting trouble in i2c itself. Both the devices are not capable of doing i2c transactions.
Below is the logs while doing I2C transactions.,
[ 5.299618] tegra-i2c 7000c000.i2c: arb lost in communicate to add 0x18
[ 5.299690] tegra-i2c 7000c000.i2c: Un-recovered Arbitration lost
→ Also we are facing trouble in amixer. By running amixer we are getting
root@tegra-ubuntu:/home/ubuntu# amixer
[ 2409.320792] Invalid kcontrol name
amixer: Mixer default load error: Operation not permitted
root@tegra-ubuntu:/home/ubuntu#
→ But amixer controls is displaying the required information.
→ If we tried
root@tegra-ubuntu:/home/ubuntu# amixer -c 1 sset "ADMAIF1 Mux" "I2S3"
[ 2538.670756] Invalid kcontrol name
amixer: Mixer hw:1 load error: Operation not permitted
root@tegra-ubuntu:/home/ubuntu#
We are getting the above errors.As dai links are configured as required.
Thanks…!