I modified DTS file like this, and it can be compiled correct:
sound {
compatible = "amlogic,axg-sound-card";
model = "G12B-KHADAS-VIM3";
audio-aux-devs = <&tdmout_a>,<&tdmin_b>;
audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
"TDMOUT_A IN 1", "FRDDR_B OUT 0",
"TDMOUT_A IN 2", "FRDDR_C OUT 0",
"TDM_A Playback", "TDMOUT_A OUT",
//I2S input route
"TDMIN_B IN 1", "TDM_B Capture",
"TDMIN_B IN 4", "TDM_B Loopback",
"TODDR_A IN 1", "TDMIN_B OUT",
"TODDR_B IN 1", "TDMIN_B OUT",
"TODDR_C IN 1", "TDMIN_B OUT";
assigned-clocks = <&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL0>,
<&clkc CLKID_MPLL1>;
assigned-clock-parents = <0>, <0>, <0>;
assigned-clock-rates = <294912000>,
<270950400>,
<393216000>;
status = "okay";
dai-link-0 {
sound-dai = <&frddr_a>;
};
dai-link-1 {
sound-dai = <&frddr_b>;
};
dai-link-2 {
sound-dai = <&frddr_c>;
};
/* 8ch hdmi interface */
dai-link-3 {
sound-dai = <&tdmif_a>;
dai-format = "i2s";
dai-tdm-slot-tx-mask-0 = <1 1>;
dai-tdm-slot-tx-mask-1 = <1 1>;
dai-tdm-slot-tx-mask-2 = <1 1>;
dai-tdm-slot-tx-mask-3 = <1 1>;
mclk-fs = <256>;
codec {
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
};
};
/* hdmi glue */
dai-link-4 {
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
codec {
sound-dai = <&hdmi_tx>;
};
};
//I2S TDMB capture
dai-link-5 {
sound-dai = <&toddr_a>;
};
dai-link-6 {
sound-dai = <&toddr_b>;
};
dai-link-7 {
sound-dai = <&toddr_c>;
};
/* 8ch hdmi interface */
dai-link-8 {
sound-dai = <&tdmif_b>;
dai-format = "i2s";
dai-tdm-slot-rx-mask-0 = <1 1>;
dai-tdm-slot-rx-mask-1 = <1 1>;
//dai-tdm-slot-rx-mask-2 = <1 1>;
//dai-tdm-slot-rx-mask-3 = <1 1>;
mclk-fs = <256>;
codec@0 {
sound-dai = <&tdm_b_din0_pins>;
};
codec@1 {
sound-dai = <&tdm_b_din1_pins>;
};
};
};
};
&tdmin_b {
status = "okay";
};
&tdmif_b {
status = "okay";
};
&toddr_a {
status = "okay";
};
&toddr_b {
status = "okay";
};
&toddr_c {
status = "okay";
};
But it can’ work, alsamixer returns with this:
root@khadas-vim3l:~# alsamixer
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib control.c:1528:(snd_ctl_open_noupdate) Invalid CTL default
cannot open mixer: No such file or directory
root@khadas-vim3l:~#
Please help to make I2S capture work!