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/AM5728:ALSA 记录问题

Guru**** 2548290 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/605239/linux-am5728-alsa-record-issue

器件型号:AM5728

工具/软件:Linux

您好!

我想将 AM5728 GP EVM 连接到外部 WM8994音频板。

我按如下方式连接了处理器模块和 wm8994板的扩展连接器(P17)。

ADC-BCLK:MCASP2_ACLKR
ADC-LRCK:MCASP2_FSR
ADC 数据:MCASP2_AXR0

DAC-BCLK:MCASP2_CLKX
DAC-LRCK:MCASP2_FSX
DAC-DATA:MCASP2_AXR1

为了将上述设置应用于引脚映射、我按如下方式修改了 mux_data.h 并进行了编译、以将 MLO 和 u-boot.img 复制到 sdcard。

{MCASP2_ACLKX、(M0 | PIN_INPUT_PULLDOWN | virtual_MODE14)}、// mcasp2_aclkx.mcasp2_aclkx *
{MCASP2_FSX、(M0 | PIN_INPUT 下拉| virtual_MODE14)}、// mcasp2_FSX.mcasp2_FSX *
{MCASP2_ACLKR、(M0 | PIN_INPUT_PULLDOWN | virtual_MODE14)}、// mcasp2_aclkr.mcasp2_aclkr *
{MCASP2_FSR、(M0 | PIN_INPUT 下拉| virtual_MODE14)}、// mcasp2_fsr.mcasp2_fsr *
{MCASP2_AXR0、(M0 | PIN_INPUT 下拉| virtual_MODE14)}、// mcasp2_axr0.mcasp2_axr0 */
{MCASP2_AXR1、(M0 | PIN_INPUT 下拉| virtual_MODE14)}、// mcasp2_axr1.mcasp2_axr1 */

上述设置是使用 PIN MUX 工具 v4创建的。

我还修改了以下设置以应用器件树。

DRA7XX_CORE_IOPAD (0x36F4、(PIN_INPUT 下拉| MUX_MODE0))/* mcasp2_aclkx *
DRA7XX_CORE_IOPAD (0x36F8、(PIN_INPUT 下拉| MUX_MODE0))/* mcasp2_FSX *
DRA7XX_CORE_IOPAD (0x3704、(PIN_INPUT 下拉| MUX_MODE0))/* mcasp2_ax0 (ADCDAT)*
DRA7XX_CORE_IOPAD (0x36FC、(PIN_INPUT_PULLDOWN | MUX_MODE0))/* mcasp2_aclkr (BCLK)*
DRA7XX_CORE_IOPAD (0x3700、(PIN_INPUT 下拉| MUX_MODE0))/* mcasp2_fsr (WCLK)*
DRA7XX_CORE_IOPAD (0x3708、(PIN_INPUT 下拉| MUX_MODE0))/* mcasp2_ax1 (DACDAT)*

启动后、我确认了以下设置。

引脚188 (4a0036f0.0):(未声明多路复用器)(未声明 GPIO)
引脚189 (4a0036f4.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚190 (4a0036f8.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚191 (4a0036fc.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚192 (4a003700.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚193 (4a003704.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚194 (4a003708.0):48464000.McASP (GPIO 未声明)功能 mcasp2_pins 组 mcasp2_pins
引脚195 (4a00370c.0):(MUX 未声明)(GPIO 未声明)

顺便说一下、如果我使用以下命令开始录制、则会发生错误。

--------------

root@am57xx-EVM:~# arecord -d 5 -f S16_LE -r 16000 -c 4 -t wav recording_16k.wav
录制波'cording_16k.wav':有符号16位小端序、速率16000 Hz、通道4
A 记录:PCM_READ:2032:读取错误:输入/输出错误
root@am57xx-EVM:~#

--------------

我使用了简单音频卡在 ALSA 中注册 wm8994。

以下是器件树中的设置。


声音0:声音@0{

兼容="简单音频卡";
simple-audio-card、name ="AM5728-EVM";

/*尚未正确设置小工具和路由。 *

simple-audio-card、小工具=
"线路"、"线路输出"、
"线路"、"线路输入";
简单音频卡,路由=
"线路输出"、"LLOUT"、
"线路输出"、"RLOUT"、
"MIC2L"、"线路输入"、
"MIC2R"、"线路输入";


simple-audio-card、format ="DSP_b";
simple-audio-card、bitclock-master =<&sound0_master>;
simple-audio-card、frame-master =<&sound0_master>;
简单音频卡、位时钟反转;

简单音频卡、CPU{

Sound-Dai =<&mcasp2>;
系统时钟频率=<22579200>;
系统时钟方向="OUT";
di-tdm-slot-num =<4>;
di-tdm-slot-width =<16>;
di-tdm-slot-tx-mask =<1 0 0>;
di-tdm-slot-rx-mask =<1 1 1 1>;

};

sound0_master:simple-audio-card、codec{

sound-dai =</wm8994>;
时钟=<&clkout2_clk>;
system-clock-id =<1>;
di-tdm-slot-num =<4>;
di-tdm-slot-width =<16>;
di-tdm-slot-ts-mask =<1 1 1 1>;
di-tdm-slot-rx-mask =<1 1 0 0>;

};

};


mcasp2{(&M)

#sound-di-cells =<0>;
分配的时钟=<&mcasp2_ahclkx_mux>;
分配的时钟父级=<&sys_clkin2>;

pinctrl-names ="default";
pinctrl-0 =<&mcasp2_pines>;
状态="正常";

OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<4>;


/* 4个串行器*/
serial-dir =</* 0:非活动、1:TX、2:Rx *

2 1 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

>;


tx-num-evt =<32>;
Rx-num-evt =<32>;

};

在 wm8994音频板上、时钟正常输出。

BCLK -大约3MHz

LRCK - 16KHz (DSP 模式)

数据- 1MHz (4插槽、16位插槽宽度)

MCLK 使用 GPMC_advn_ale.clkout2。  

捕获设备似乎已正常注册。

root@am57xx-EVM:~#
root@am57xx-EVM:~# arecord -l
****捕获硬件设备列表****
卡0:AM5728EVM [AM5728-EVM]、器件0:Davinci-McASP/0-wm8994-aif1 wm8994-aif1-0 []
子设备:1/1
子设备#0:子设备#0
root@am57xx-EVM:~#

是否有任何其他设置可使用 mcasp2?  

或者是否有任何错误的设置?

此致、

Dohun

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