“线程”中讨论的其它部件:TAS5720M
亲爱的专家
我想将 TAS5720移植到 NXP IMX6SX,从官方网站下载 TAS5720编解码器程序,并根据 IMX6SX WM8920机器部件的程序移植 TAS5720程序。 目前,我不熟悉 tas5720芯片。 调试方法也相对有限,项目日程安排也很困难。
硬件示意图如下:
PIN IMX6_GPIO4_29_EN_AUDIO_AMP 设置为低级别,以确保编解码器芯片可以正常工作
将 IMX6_GPIO5_19_I2S1_MCLK 配置为输入引脚
MCLK 时钟通过 BCLK 提供
问题1:此硬件电路方案使用 BCLK 为 IMX6SX 提供 MCLK 和端口 tas5720驱动程序。 ALSA 驱动程序型号是否支持它? 以及使用 BCLK 的注意事项
音频文件的参数如下:
1.采样率44.1kHz;
2.左,右双声道;
3.数据精度为16位;
问题2:此芯片的采样频率是否仅支持44.1kHz,48 kHz,88.2kHz 和96 kHz?
/*编解码器默认值:
-I2S 立体声模式
-TDM 插槽0输出(单声道右声道),
—PCM 16位音频数据
44100/48000 Hz 单速
-20.7 dBV 模拟增益 *
问题3:如何在机器代码段中配置 TAS5720芯片的寄存器相关配置?
TAS5720M 支持8个通道,仅使用2个通道。 我应该如何配置它? 以下配置是否存在任何问题
计算机中 CPU DAI 和代码 DAI 的配置如下所示
/*设置编解码器 DAI 配置从模式*/
RET = snd_SOC_DAI_SET_Fmt (codec_DAI,snd_SOC_DAIFMT_I2S | snd_SOC_DAIFMT_NB_NF | snd_SOC_DAIFMT_CBS_CFS);
如果(转台)为{
dev_err(CPP_DAI->dev,“无法设置编码解码器 dai fmt:%d\n", ret);
返回支架;
}
RET = snd_SOC_DAI_SET_Fmt (CPU_DAI,snd_SOC_DAIFMT_I2S | snd_SOC_DAIFMT_NB_NF | snd_SOC_DAIFMT_CBS_CFS);
如果(转台)为{
dev_err(cpu_di-->dev,“无法设置 dai fmt\n”);
返回支架;
}
//从 solt 0开始,2个通道,32
RET = snd_SOC_DAI_Set_tdm_slot (编码解码器_DAI,0,0,2,32);
如果(转台)为{
dev_err(cpu_di-->dev,“无法设置编码解码器 dai tdm 插槽\n";
返回支架;
}
RET = snd_SOC_DAI_Set_tdm_slot (CPU_DAI,0,0,2,32);
如果(转台)为{
dev_err(cpu_di-->dev,“无法设置 dai tdm 插槽\n");
返回支架;
}
//CPU 输出时钟
RET = snd_SOC_DAI_SET_SYSCLK (CPU_DAI,0,0,snd_SOC_clock _out);
IF (转塔)
dev_err(CPU_DAI-->dev,“无法设置 CPU SYSCLK\n”);
问题4:如果您能为 tas5720驱动程序移植机提供一些代码参考,那将会很好
非常感谢!