Other Parts Discussed in Thread: TAC5112
器件型号: TAC5112
我正在开发基于 AM6254 处理器的电路板、该处理器使用连接到 McASP0 器件的 TAC5112 音频编解码器。
编解码器是从器件、从 McASP0 接收 BCLK 和 FSYNC 信号。
我无法定义允许 Linux 驱动程序正确配置到编解码器的时钟信号的器件树。 产生的采样率是固定的、具体取决于以下定义:
简单音频卡、MCLK-FS =<2000>;
器件树的声音会话中的演示。
McASP0 器件使用的时钟速率为 96MHz、除以 2000 等于 48kHz。 将 aplay 命令与具有不同采样率的 wav 文件一起使用会导致音频不正确。 例如、采样率为 44100Hz 时、声音加速大约 9%、依此类推。
可以帮帮我吗?
谢谢你。
下面是从器件树摘录、其中包含音频配置中涉及的节点。
MAIN_MCASP0_PINS_DEFAULT:MAIN-MCASP0-DEFAULT 引脚{
pinctrl-single、pins =<
AM62X_IOPAD (0x01a4、PIN_OUTPUT、0) /*(B20) McASP0_ACLKX — 位时钟*/
AM62X_IOPAD (0x01a8、PIN_OUTPUT、0) /*(D20) McASP0_AFSX — 帧同步*/
AM62X_IOPAD (0x01a0、PIN_OUTPUT、0)/*(E18) McASP0_AXR0 - TX 至编解码器 0 */
AM62X_IOPAD (0x0198、PIN_INPUT、0) /*(A19) McASP0_AXR2 — 来自编解码器 0 的 RX */
>;
};
sound0:sound-mac5112{
compatible =“simple-audio-card";“;
简单音频卡、名称=“TASVOIP-TAC5112";“;
简单音频卡、MCLK-FS =<2000>;
简单音频卡、Dai-link@0{
格式=“I2S_";“;
bitclock-master =<&CPU0_Dai>;
FRAME-MASTER =<&CPU0_DAI>;
CPU0_Dai:CPU {
Sode-Dai =<&McASP0>;
};
编解码器{
sound-dai =<&tac5112_0>;
};
};
tac5112_0:音频编解码器@50{
兼容=“ti、tac5112“;
REG =<0x50>;
#sound-dai-cells =<0>;
sound-name-prefix =“C0";“;
/*电源 — 使用系统 3.3V 电源轨*/
AVDD-SUPPLY =<&VCC_3V3_SYS>;
IOVDD-SUPPLY =<&VCC_3V3_SYS>;
/* VREF = 2.75V 输出*/
TI、Vref =<0>;
/* MICBIAS =与 VREF 输出相同*/
TI、micbias-vg =<0>;
/* GPIO 配置 — 默认情况下全部禁用*/
TI、gpi1-func =<0>;
TI、GPIOs-func =<0>、<0>、<0>;
TI、GPIOs-drive =<0>、<0>;
};
&McASP0{
状态=“正常“;
#sound-dai-cells =<0>;
pinctrl-names =“default";“;
pinctrl-0 =<&MAIN_McASP0_pins_default>;
Clocks =<&K3_CLKS 191 0>;
时钟名称=“fck";“;
OP-MODE =<0>; /* MCASP_IIS_MODE */
TDM 时隙=<2>;
/*
*串行方向: 0=非活动,1=TX,2=RX
*阵列索引对应于 AXR 引脚编号
*/
serial-dir =<
1 /* AXR0 - TX 至编解码器 0 DIN */
1 /* AXR1 - TX 至编解码器 1 DIN */
2 /* AXR2 - RX 来自编解码器 0 DOUT */
2 /* AXR3 - RX 来自编解码器 1 DOUT */
>;
tx-num-evt =<32>;
rx-num-evt =<32>;
};