Hi, nvidia
I am currently adapting the ES8316 codec to AGX Thor. However, I have encountered some issues.
The clock frequency of AUD_MCLK is 49.15 MHz. However, when I play music, there is no sound output.
cat /proc/asound/cards
0 [HDA ]: tegra-hda - NVIDIA Jetson Thor AGX HDA
NVIDIA Jetson Thor AGX HDA at 0x88090b8000 irq 270
1 [APE ]: tegra-ape - NVIDIA Jetson Thor AGX APE
NVIDIA-CESAGXThorJAT_001-NotSpecified-Jetson
The dts nodes I added are as follows:
i2s@92b0000 {
status = "okay";
ports {
port@1 {
endpoint {
dai-format = "i2s";
remote-endpoint = <&es8316_ep>;
//bitclock-master;
//frame-master;
};
};
};
es8316_codec: es8316@10 {
status = "okay";
#sound-dai-cells = <0>;
compatible = "everest,es8316";
reg = <0x10>;
clocks = <&bpmp TEGRA264_CLK_AUD_MCLK>;
clock-names = "mclk";
sound-name-prefix = "ES";
port {
es8316_ep: endpoint {
link-name = "es8316-playback";
remote-endpoint = <&i2s4_dap>;
mclk-fs = <256>;
};
};
};
sound {
status = "okay";
dais = /* ADMAIF (FE) Ports */
<&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
<&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
<&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
<&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
<&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
<&admaif20_port>, <&admaif21_port>, <&admaif22_port>, <&admaif23_port>,
<&admaif24_port>, <&admaif25_port>, <&admaif26_port>, <&admaif27_port>,
<&admaif28_port>, <&admaif29_port>, <&admaif30_port>, <&admaif31_port>,
/* XBAR Ports */
<&xbar_i2s1_port>, <&xbar_i2s4_port>,
<&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
<&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
<&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
<&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
<&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
<&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
<&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
<&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
<&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
<&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
<&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
<&xbar_amx5_in1_port>, <&xbar_amx5_in2_port>,
<&xbar_amx5_in3_port>, <&xbar_amx5_in4_port>,
<&xbar_amx6_in1_port>, <&xbar_amx6_in2_port>,
<&xbar_amx6_in3_port>, <&xbar_amx6_in4_port>,
<&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
<&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
<&xbar_adx5_in_port>, <&xbar_adx6_in_port>,
<&xbar_mix_in1_port>, <&xbar_mix_in2_port>,
<&xbar_mix_in3_port>, <&xbar_mix_in4_port>,
<&xbar_mix_in5_port>, <&xbar_mix_in6_port>,
<&xbar_mix_in7_port>, <&xbar_mix_in8_port>,
<&xbar_mix_in9_port>, <&xbar_mix_in10_port>,
<&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
<&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
<&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
<&xbar_asrc_in7_port>,
<&xbar_ope1_in_port>,
/* HW accelerators */
<&sfc1_out_port>, <&sfc2_out_port>,
<&sfc3_out_port>, <&sfc4_out_port>,
<&mvc1_out_port>, <&mvc2_out_port>,
<&amx1_out_port>, <&amx2_out_port>,
<&amx3_out_port>, <&amx4_out_port>,
<&amx5_out_port>, <&amx6_out_port>,
<&adx1_out1_port>, <&adx1_out2_port>,
<&adx1_out3_port>, <&adx1_out4_port>,
<&adx2_out1_port>, <&adx2_out2_port>,
<&adx2_out3_port>, <&adx2_out4_port>,
<&adx3_out1_port>, <&adx3_out2_port>,
<&adx3_out3_port>, <&adx3_out4_port>,
<&adx4_out1_port>, <&adx4_out2_port>,
<&adx4_out3_port>, <&adx4_out4_port>,
<&adx5_out1_port>, <&adx5_out2_port>,
<&adx5_out3_port>, <&adx5_out4_port>,
<&adx6_out1_port>, <&adx6_out2_port>,
<&adx6_out3_port>, <&adx6_out4_port>,
<&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>,
<&mix_out4_port>, <&mix_out5_port>,
<&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
<&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
<&ope1_out_port>,
/* BE I/O Ports */
<&i2s1_port>, <&i2s4_port>;
label = "NVIDIA Jetson Thor AGX APE";
clocks = <&bpmp TEGRA264_CLK_PLLA>,
<&bpmp TEGRA264_CLK_PLLA_OUT0>,
<&bpmp TEGRA264_CLK_AUD_MCLK>;
clock-names = "pll_a", "plla_out0", "extern1";
assigned-clocks = <&bpmp TEGRA264_CLK_PLLA_OUT0>, <&bpmp TEGRA264_CLK_AUD_MCLK>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLA>, <&bpmp TEGRA264_CLK_PLLA_OUT0>;
assigned-clock-rates = <98304000>, <49152000>, <12288000>;
widgets = "Headphone", "ES Headphone Jack",
"Microphone", "ES Mic Jack",
"Speaker", "ES Int Spk",
"Microphone", "ES Int Mic";
routing = /* Enable I2S4 <-> ES8316 */
"ES Playback", "I2S4 DAP-Playback",
"I2S4 DAP-Capture", "ES Capture",
/* ES8316 codec controls */
"ES Headphone Jack", "ES HPOL",
"ES Headphone Jack", "ES HPOR",
"ES MIC1", "ES Mic Jack",
"ES MIC2", "ES Mic Jack",
"ES DMIC", "ES Int Mic";
mclk-fs = <256>;
};
And I didn’t find the virtual sound card I was looking for in the “sound → Output” section.
Thanks.
Best Wishes.
