Hi, we are using orin nx (JetPack6) with rt 5640 to do audio control. But when test playback, we can only get sound from speaker, Line out has no sound.
Here is the device tree
bus@0 {
/*pin 232 234*/
i2c@3160000 {
rt5640: rt5640@1c {
status = "okay";
compatible = "realtek,rt5640";
reg = <0x1c>;
clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
clock-names = "mclk";
sound-name-prefix = "CVB-RT";
#sound-dai-cells = <1>;
port {
rt5640_ep: endpoint {
remote-endpoint = <&i2s1_dap>;
mclk-fs = <256>;
};
};
};
};
};
/*ALC5640*/
tegra_sound_graph: tegra_sound: sound {
compatible = "nvidia,tegra186-audio-graph-card",
"nvidia,tegra186-ape";
clocks = <&bpmp TEGRA234_CLK_PLLA>,
<&bpmp TEGRA234_CLK_PLLA_OUT0>,
<&bpmp TEGRA234_CLK_AUD_MCLK>;
clock-names = "pll_a", "plla_out0", "extern1";
assigned-clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
nvidia-audio-card,name = "NVIDIA Jetson Orin NX APE";
nvidia-audio-card,mclk-fs = <256>;
nvidia-audio-card,widgets =
"Headphone", "CVB-RT Headphone Jack",
"Microphone", "CVB-RT Mic Jack",
"Speaker", "CVB-RT Int Spk",
"Microphone", "CVB-RT Int Mic";
nvidia-audio-card,routing =
"CVB-RT Headphone Jack", "CVB-RT HPOL",
"CVB-RT Headphone Jack", "CVB-RT HPOR",
"CVB-RT IN2P", "CVB-RT Mic Jack",
"CVB-RT IN2N", "CVB-RT Mic Jack",
"CVB-RT IN2P", "CVB-RT Int Mic",
"CVB-RT IN2N", "CVB-RT Int Mic",
"CVB-RT Int Spk", "CVB-RT SPOLP",
"CVB-RT Int Spk", "CVB-RT SPORP",
"CVB-RT Int Spk", "CVB-RT LOUTL",
"CVB-RT Int Spk", "CVB-RT LOUTR";
};
.......
&i2s1_to_codec {
link-name = "rt5640-playback";
bitclock-master;
frame-master;
codec {
sound-dai = <&rt5640 0>;
prefix = "CVB-RT";
};
};
And here is our amixer set command
amixer -c APE cset name="ADMAIF1 Mux" I2S1
amixer -c APE cset name="I2S1 Mux" ADMAIF1
amixer -c APE cset name='CVB-RT DAC MIXL INF1 Switch' 1
amixer -c APE cset name='CVB-RT DAC MIXR INF1 Switch' 1
amixer -c APE cset name='CVB-RT Stereo DAC MIXL DAC L1 Switch' 1
amixer -c APE cset name='CVB-RT Stereo DAC MIXR DAC R1 Switch' 1
amixer -c APE cset name='CVB-RT LOUT MIX DAC L1 Switch' 1
amixer -c APE cset name='CVB-RT LOUT MIX DAC R1 Switch' 1
amixer -c APE cset name='CVB-RT LOUT MIX OUTVOL R Switch' 1
amixer -c APE cset name='CVB-RT LOUT MIX OUTVOL L Switch' 1
amixer -c APE cset name="CVB-RT OUT Playback Switch" "on,on"
amixer -c APE cset name='CVB-RT Speaker Channel Switch' on,on
amixer -c APE cset name='CVB-RT Speaker L Playback Switch' 1
amixer -c APE cset name='CVB-RT Speaker R Playback Switch' 1
By the, although speaker can play but there is alot noise in the sound