VIM3 音频dts配置问题咨询

VIM3 DTS音频配置如下:
aml-audio-card,dai-link@1 {
format = “i2s”;
mclk-fs = <256>;
continuous-clock;
//bitclock-inversion;
//frame-inversion;
bitclock-master = <&aml_tdmb>;
frame-master = <&aml_tdmb>;
//bitclock-master = <&tdmbcodec>;
//frame-master = <&tdmbcodec>;
/* suffix-name, sync with android audio hal
* what’s the dai link used for
*/
suffix-name = “alsaPORT-i2s”;
cpu {
sound-dai = <&aml_tdmb>;
dai-tdm-slot-tx-mask = <1 1>;
dai-tdm-slot-rx-mask = <1 1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
system-clock-frequency = <12288000>;
};
tdmbcodec: codec {
sound-dai = <&dummy_codec &dummy_codec
&amlogic_codec>;
};
};

aml_tdmb: tdmb {
compatible = “amlogic, g12a-snd-tdmb”;
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1 0 0>;
dai-tdm-lane-slot-mask-out = <1 0 0 0>;
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = “mclk”, “clk_srcpll”,
“samesource_srcpll”, “samesource_clk”;
pinctrl-names = “tdm_pins”;
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
mclk_pad = <0>; /* 0: mclk_0; 1: mclk_1 /
/

* 0: tdmout_a;
* 1: tdmout_b;
* 2: tdmout_c;
* 3: spdifout;
* 4: spdifout_b;
*/
samesource_sel = <3>;
};

对于音频的DTS 有几个问题咨询?

1. sound-dai = <&aml_tdmb>;
** dai-tdm-slot-tx-mask = <1 1>;**
** dai-tdm-slot-rx-mask = <1 1>;**
** dai-tdm-slot-num = <2>;**
** dai-tdm-slot-width = <32**
这几个TDM的配置结合代码 没有明白什么意思?

2.dai-tdm-lane-slot-mask-in = <0 1 0 0>; 这个配置按照我的理解是4个数据通道 需要打开输入通道号?

3.按照规格书的描述作为TDM 4个数据通道 是能到48CH的 作为I2S模式则为24ch 现在接口接入AD来看默认是I2S模式 这个怎么选择I2S模式还是TDM?
3 built-in TDM/PCM/I2S ports with TDM/PCM mode up to 384kHz x32bits x 8ch or 96kHz x
32bits x 32ch and I2S mode up to 384kHz x 32bits x 8ch

1 Like