主题中讨论的其他器件:AM67A、
工具/软件:
在我们的应用中、TLV320AIC3106 编解码器连接了一个外部 12.288MHz 振荡器、然后该编解码器连接到 AM67a SoC 的 McASP0 接口。 请参阅以下器件树摘录。 由于 MCLK 未连接到 SoC McASP 接口、因此编解码器是时钟主器件。
MAIN_MCASP0_PINS_DEFAULT:MAIN-MCASP0-DEFAULT 引脚{
pinctrl-single、pins =<
来自编解码器的 J722S_IOPAD (0x1a4、PIN_INPUT、0)/*(D25) McASP0_ACLKX <- BCLK *
J722S_IOPAD (0x1a8、PIN_INPUT、 0) /*(C26) 来自编解码器的 McASP0_AFSX <- LRCLK */
J722S_IOPAD (0x1a0、PIN_OUTPUT、0) /*(F23) McASP0_AXR0 -> TX 到编解码器*/
J722S_IOPAD (0x19c、PIN_INPUT、 0) /*(B25) McASP0_AXR1 <-来自编解码器的 RX */
>;
};
CLK_AUDIO_osc:CLK-AUDIO-osc{
兼容=“固定时钟“;
#clock-cells =<0>;
时钟频率=<12288000>;
clock-output-names =“tlv320aic3106-MCLK";“;
};
codec_audio:声音{
compatible =“simple-audio-card";“;
simple-audio-card、name =“J722S-EVM";“;
简单音频卡、小工具=
“耳机“、 “耳机插孔“、
“线路“、 “线路输入“、
“麦克风“、 “麦克风插孔“;
简单音频卡、路由=
“耳机插孔“、 “HPLOUT",“,</s>、
“耳机插孔“、 “HPROUT",“,</s>、
“LINE1L",“, "Line、"Line In"“ In",“,</s>、
“LINE1R",“, "Line、"Line In"“ In",“,</s>、
“MIC3R",“,"Microphone、"Microphone Jack"“ Jack",“,</s>、
“麦克风插孔“、 “麦克风偏置“;
简单音频卡、格式=“dsp_b";“;
simple-audio-card、bitclock-master =<&sound_master>;
simple-audio-card、frame-master =<&sound_master>;
简单的音频卡,位时钟反转;
简单音频卡、CPU{
Sode-Dai =<&McASP0>;
};
sound_master:简单音频卡、编解码器{
sound-dai =<&tlv320aic3106>;
Clocks =<&clk_audio_osc>;
};
};
tlv320aic3106:音频编解码器@1b{
#sound-dai-cells =<0>;
兼容=“ti、tlv320aic3106“;
REG =<0x1b>;
ai3x-micbias-vg =<1>; /* 2.0V */
AVDD-SUPPLY =<&vCODEC_3V3>;
IOVDD-SUPPLY =<&vCODEC_3V3>;
DRVDD-SUPPLY =<&vCODEC_3V3>;
DVDD-SUPPLY =<&vCODEC_1v8>;
};
&McASP0{
状态=“正常“;
#sound-dai-cells =<0>;
pinctrl-names =“default";“;
pinctrl-0 =<&MAIN_McASP0_pins_default>;
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM 时隙=<2>;
serial-dir =</* 0:不活动、1:TX、2:Rx */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
};
检测到编解码器、并且可以看到用于 aplay -l 命令的声卡、
root@j722s-evm:/home/root avplay -l
****播放硬件设备列表****
卡 0:虚拟[Dummy]、设备 0:虚拟 PCM [Dummy PCM]
副装置:8/8.
SUBDEVICE #0:SUBDEVICE #0
SubDevice #1:SubDevice #1
SubDevice #2:SubDevice #2
SUBDEVICE #3:SUBDEVICE #3
SUBDEVICE #4:SUBDEVICE #4
SUBDEVICE #5:SUBDEVICE #5
SUBDEVICE #6:SUBDEVICE #6
SUBDEVICE #7:SUBDEVICE #7
卡 1:回送【回送】、设备 0:回送 PCM [回送 PCM]
子设备:7/8
SUBDEVICE #0:SUBDEVICE #0
SubDevice #1:SubDevice #1
SubDevice #2:SubDevice #2
SUBDEVICE #3:SUBDEVICE #3
SUBDEVICE #4:SUBDEVICE #4
SUBDEVICE #5:SUBDEVICE #5
SUBDEVICE #6:SUBDEVICE #6
SUBDEVICE #7:SUBDEVICE #7
卡 1:回送【回送】、设备 1:回送 PCM [回送 PCM]
副装置:8/8.
SUBDEVICE #0:SUBDEVICE #0
SubDevice #1:SubDevice #1
SubDevice #2:SubDevice #2
SUBDEVICE #3:SUBDEVICE #3
SUBDEVICE #4:SUBDEVICE #4
SUBDEVICE #5:SUBDEVICE #5
SUBDEVICE #6:SUBDEVICE #6
SUBDEVICE #7:SUBDEVICE #7
卡 2:J722SEVM [J722S-EVM]、器件 0:2b00000.audio-controller-tlv320aic3x-hifi tlv320aic3x-hifi-0 [2b00000.audio-controller-tlv320aic3x-hifi tlv320aic3x-hifi-0]
子设备:1/1
SUBDEVICE #0:SUBDEVICE #0
但是、当播放文件时、会抛出错误。
root@j722s-evm:/home/root、avplay -D plughw:2、0 test.wav
播放 wave 'test.wav ':有符号 16 位小端字节序,速率 44100 Hz,立体声
aplay:pcm_write:2178:写入错误:输入/输出错误
启用调试后、以下内容会打印到 dmesg
[Jun30 09:47] 2b00000.audio-controller-tlv320aic3x-hifi: ASOC:tlv320aic3x-hifi <-> 2b00000.audio-controller 信息:
[ +0.011289] 2b00000.audio-controller-tlv320aic3x-hifi: ASOC:速率掩码 0x7fe
[ +0.007870] 2b00000.audio-controller-tlv320aic3x-hifi: ASOC:通道 最小值 2 最大值 2
[ +0.008033] 2b00000.audio-controller-tlv320aic3x-hifi: ASOC:速率最小 8000 最大 96000
[ +0.01031] tlv320aic3x 3-001b:更新 tlv320aic3x-hifi 播放的 DAI 路由
[ +0.008084]用于 2b00000.audio-controller 播放的 DaVinci -McASP 2b00000.audio-controller:更新 DAI 路由
[ +0.642632] ASOC-simple-card 声音:回放写入超时(DMA 或 IRQ 故障?)
[+0.671987] ASOC-simple-card sound:回放写入超时 (DMA 或 IRQ 故障?)
[ +5.215939] 2b00000.audio-controller-tlv320aic3x-hifi: ASOC:Pop wq 检查:播放状态:不活动等待:是
请建议我们的配置中缺少的内容。