This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3351:音频不能与 SDK 4.0配合使用

Guru**** 2540720 points
Other Parts Discussed in Thread: AM3351, TLV320AIC3106

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/609142/linux-am3351-audio-not-working-with-sdk-4-0

器件型号:AM3351
主题中讨论的其他器件:TLV320AIC3106

工具/软件:Linux

晚上好。

过去几个月、我在基于 AM3351的定制电路板上使用 TI SDK 3.0。 通过以下示例在 TI SDK 3.0上配置音频后、我在使用 aplay、speaker-test 或 mplayer 时没有遇到任何问题。 但是、当使用 Linux 内核4.9.28升级到 TI SDK 4.0时、我的扬声器不再发出任何声音。

我根据 processors.wiki.ti.com/.../Linux_Core_Audio_User's_Guide 配置了正确的音频内核配置设置

设备驱动程序-->
声卡支持-->
Advanced Linux Sound Architecture (高级 Linux 声音体系结构)-->
适用于 SoC 音频支持的 ALSA -->
<*>用于德州仪器 OMAP 芯片的 SoC 音频
<*>使用 EDMA 的德州仪器(TI)芯片的 SoC 音频
支持多通道音频串行端口(McASP)
编解码器驱动程序-->
<*>德州仪器 TLV320AIC3x 编解码器
<*>ASOC 简单声卡支持 

我使用的 DTS 文件与过去在音频支持方面完全相同。 在配置 TI SDK 3.0 (4.4.4.9)和4.0 (4.9.2)之间的音频卡时是否存在任何差异。

听起来{
兼容="简单音频卡";
simple-audio-card、name ="AM335x-evm";
simple-audio-card、小工具=
"耳机"、"耳机插孔"、
"线路"、"线路输入";
简单音频卡,路由=
"耳机插孔"、"HPLOUT"、
"耳机插孔"、"HPROUT"、
"LINE1L"、"线路输入"、
"LINE1R"、"线路输入";
simple-audio-card、format ="I2S";

简单音频卡、CPU{
Sound-Dai =<&McASP0>;
系统时钟频率=<24000000>;
系统时钟方向="OUT";
位时钟主器件;
帧主控;
};

sound_master:simple-audio-card、codec{
sound-dai =<&tlv320aic3106>;
系统时钟频率=<12000000>;
};
};

McASP_PINS:McASP_PINS{
pinctrl-single、pins =<
0x12c (PIN_OUTPUT 下拉| MUX_MODE6)/*(N19) gmii1_txclk.McASP0_aclkx *
0x130 (PIN_OUTPUT 下拉| MUX_MODE6)/*(M19) gmii1_rxclk.McASP0_FSX *
0x134 (PIN_OUTPUT 下拉| MUX_MODE6)/*(N17) gmii1_rxd3.McASP0_axr0 *
0x108 (PIN_INPUT | MUX_MODE6)/*(J19) gmii1_col.McASP0_axr2 *
>;
};

i2c1{(&I)
#address-cells =<1>;
#size-cells =<0>;
时钟频率=<100000 >;
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&audio_i2c_pines>;

tlv320aic3106:tlv320aic3106@1b{
#sound-di-cells =<0>;
兼容="ti、tlv320aic3106";
reg =<0x1b>;
状态="正常";
};
};

&McASP0{
#sound-di-cells =<0>;
pinctrl-names ="default"、"sleep";
pinctrl-0 =<&McASP_PINs>;
状态="正常";

OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<2>;
/* 4个串行器*/
serial-dir =</* 0:非活动、1:TX、2:Rx *
1 0 0 0 0
>;
tx-num-evt =<32>;
Rx-num-evt =<32>;
};

tscadc{(&T)
状态="正常";
ADC{
TI、ADC 通道=<2 6>;
};
};

感谢您的支持! 

此致、
Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能否将'dmesg'命令的完整输出作为附件发布在此处?

    以及命令'aplay -L'的输出?

    Jason Reeder

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     Chris 您好:

     您 使用的 SDK 和 Linux 内核专用版本是什么?

    我也遇到了这个问题,我的声卡在 Linux 3.2.0中工作正常,但 我在 SDK v03_02_00_05中听不到声音  

    内核版本4.4.32

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Chris、

    您的问题是否有任何更新?

    Jason Reeder
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jason、

    我们通过调整 DTS 来使用编解码器的时钟而不是处理器来解决这个问题。 我不确定原始配置为什么不起作用、但我们一直在使用此内核版本的编解码器时钟。

    感谢您对此问题的支持。

    此致、
    Chris