主题中讨论的其他器件: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