Other Parts Discussed in Thread: TLV320AIC3106, AM4372
主题中讨论的其他器件:TLV320AIC3106、 TPS63031、 AM4372
工具/软件:Linux
我使用的是 RT-Linux SDK 的最后一个版本"ti-processor-sdk-linux-rt-AM437X-EVM-04.01.00.06"。 我有一个基于 AM437X-gp-EVM 的定制板。 我们使用的是"TLV320AIC3106IRGZT"音频编解码器。
我 已经对 McASP0进行了引脚多路复用更改、它在 Linux SDK "ti-processor-sdk-linux-am437x-evm-02.00.01.07"上运行时是正确的。
下面是我正在使用的 DTS 文件中的'stound'节点和'tlv320aic3106'节点:
声音0:声音@0{
兼容="简单音频卡";
simple-audio-card、name ="AM437x-GP-EVM";
simple-audio-card、小工具=
"麦克风"、"麦克风插孔"、
"耳机"、"耳机插孔"、
"线路"、"线路输入";
简单音频卡,路由=
"Mono Out"、"Mono _lout"、
"LINE1L"、"麦克风偏置";
simple-audio-card、format ="DSP_b";
simple-audio-card、bitclock-master =<&sound0_master>;
simple-audio-card、frame-master =<&sound0_master>;
简单音频卡、位时钟反转;
简单音频卡、CPU{
Sound-Dai =<&McASP1>;
系统时钟频率=<12000000>;
};
sound0_master:simple-audio-card、codec{
sound-dai =<&tlv320aic3106>;
系统时钟频率=<12000000>;
};
};
tlv320aic3106:tlv320aic3106@1b{
#sound-di-cells =<0>;
兼容="ti、tlv320aic3106";
reg =<0x1b>;
状态="正常";
ai3x-micbias vg = ;
GPIO =<&GPIO2 3 GPIO_ACTIVE_LOW_>;
/*稳压器*/
IOVdd-supply =<&EVM_v3_3D>;/* V3_3D -> EN:V1_8D -> VBAT */
AVDD-SUPPLY =<&EVM_v3_3D>;/* v3_3AUD -> V3_3D ->... *
DRVDD-SUPPLY =<&EVM_v3_3D>;/* v3_3AUD -> V3_3D ->... *
DVDD 电源=<&ldo1>;/* V1_8D -> LDO1 */
};
McASP1{
#sound-di-cells =<0>;
pinctrl-names ="default"、"sleep";
pinctrl-0 =<&McASP1_PINs>;
pinctrl-1 =<&McASP1_SLEEP_PINs>;
状态="正常";
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<2>;
/* 4个串行器*/
serial-dir =</* 0:非活动、1:TX、2:Rx *
1 2 0 0
>;
tx-num-evt =<32>;
Rx-num-evt =<32>;
};
在 dmesg 中 、我可以看到驱动程序正在正确加载、编解码器映射正常。
[1.714138] ASOC-simple-card sound0:tlv320aic3x-hifi <->4803c000.McASP 映射正常
[4.052082] ALSA 器件列表:
[4.055267] #0:AM437X-GP-EVM
但当我尝试使用矩阵 GUI 的多媒体选项卡中给出的"aplay"或"AAC*"示例播放 wav 文件时,没有音频输出。
任何帮助、问题可能出在哪。

