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:未找到声卡

Guru**** 2895430 points

Other Parts Discussed in Thread: TLV320AIC3104, AM5728, BEAGLEBOARD-X15

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/660343/linux-am5728-no-soundcards-found

器件型号:AM5728
主题中讨论的其他部件:TLV320AIC3104BeagleBoard-X15

工具/软件:Linux

您好!

我们有一个基于 AM5728的定制板、我们使用的是音频编解码器 TLV320AIC3104以及 i2c4上的 McASP2。

我们无法播放 wav 文件并收到错误"aplay:PCM_write:1940: write error: input/output error"。

启动时出现“ALSA devices list - No soundcard detected (ALSA 设备列表-未检测到声卡)”错误。

器件树的相关部分为:

声音0:声音@0{

兼容="简单音频卡";

simple-audio-card、name ="BeagleBoard-X15";

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>;

};

sound0_master:simple-audio-card、codec{

sound-dai =<&tlv320aic3104>;

时钟=<&mcasp2_ahclkx_mux>;

};

};

i2c4{(&I)

状态="正常";

时钟频率=<400000>;

tlv320aic3104:tlv320aic3104@18{

#sound-di-cells =<0>;

兼容="ti、tlv320aic3104";

reg =<0x18>;

分配的时钟=<&sys_clkin2>;

adc -稳定-ms =<40>;

AVDD-SUPPLY =<&VDD_3V3>;

IOVdd-supply =<&VDD_3V3>;

DRVDD-SUPPLY =<&VDD_3V3>;

DVDD 电源=<&AIC_DVDD>;

状态="正常";

};

};

mcasp2{(&M)

#sound-di-cells =<0>;

分配的时钟=<&mcasp2_ahclkx_mux>;

分配的时钟父级=<&sys_clkin2>;

状态="正常";

OP-MODE =<0>;/* MCASP_IIS_MODE */

TDM-SLOTS =<2>;

/* 4个串行器*/

serial-dir =</* 0:非活动、1:TX、2:Rx *

1 2 0 0

>;

tx-num-evt =<32>;

Rx-num-evt =<32>;

};

root@am57xx-EVM:~# lsmod

使用的模块大小

CBC 2324  

jitterentropy_rng 6449 0

drbg 13425 1.

xfrm_user 23228 2.

xfrm4_tunnel 2040 0

IPCOMP 2473 0

xfrm_ipcomp 4695 1 ipcomp

支持4 6465 0

AH4 5665 0

AF_KEY 27563 0

xfrm_algo 6970 5 AH4、esp4、af_key、xfrm_user、xfrm_ipcomp

蓝牙325678 2.

xhci_plat_hcd 5247 0

xhci_hcd 109138 1 xhci_plat_hcd

usbcore 194665 2 xhci_plat_hcd、xhci_hcd

rpmsg_proto 7597 0

rpmsg_RPC 19668 0

rpmsg_PRU 4962 0

dwc3 64055 0

UDC_CORE 12063 1 dwc3

virtio_rpmsg_bus 13080 3 rpmsg_pru、rpmsg_rpc、rpmsg_proto

Snd_soc_simple_card 8099 0

SND_SoC_OMAP_HDMI_AUDIO 4737 0

pvrsrvkm 412372 0

PRU_rproc 11732 4.

pruss_INTC 7227 5 PRU_rproc

ECB 1909 0

SHA512_generic 9903 0

SHA512_ARM 12079 0

SHA256_generic 9503 1.

HMAC 2735 1.

AHCI_PLANAIN_3218 0

libahci_platform 8821 1 ahci_platform

libahci 27891 2 libahci_platform、AHCI_platform

OMAP-AES_DRIVER 19230 0

MD5 1897 0

libata 196388 3 libahci、libahci_platform、ahci_platform

SHA1_generic 2621 0

pruss 11186 1 PRU_rproc

SCSI_mod 129717 1 libata

SHA1_ARM_NEON 6261 0

SHA1_ARM 3862 1 SHA1_ARM_NEON

OMAP-WDT 4570 0

OMAP-SHIM 21089 0

ExtCON_PALMAS 6347 0

TI_VPE 19292 0

TI_SC 24714 1 ti_VPE

dwc3_OMAP 5054 0

TI_CSC 2313 1 ti_VPE

TI_vpdma 15166 1 ti_VPE

RTC_OMAP 8272 0

SND_SoC_tlv320aic3x 48933 1.

extcon 13943 3 dwc3、extcon_Palmas、dwc3_OMAP

OMAP-DES 11446 0

OMAP-Rng 4835 0

RNG_CORE 8011 1 OMAP-Rng

RTC_ds1307 11278 0

RTC_PALMAS 5187 0

debugss_kmodule 6848 0

omap_remoteproc 12389 4.

remoteproc 27121 5 omap_remoteproc、pruss、pru_rproc、rpmsg_rpc、rpmsg_proto

virtiio 7580 2 remoteproc、virtio_rpmsg_bus

virtio_ring 12291 2 remoteproc、virtio_rpmsg_bus

SH_FQ_CODEL 8251 3.

uio_module_drv 7353 0

uio 9329 1 uio_module_drv

gdbserverproxy 4671 0

Cryptodev 37405 1.

cmemk 35174 2.

在引导时、我将获得如下日志:

[2.478797]未找到声卡。

[8.008647] of_get_named_gpiod_flags:无法解析节点'/sound@0[0]的'sple-audio-card, hp-det-gpio'属性

[8.008656] of _get_named_gpiod_flags:无法解析节点'/sound@0[0]的'sple-audio-card、mic-det-gpio'属性

[8.112773] ASOC-simple-card sound@0:tlv320aic3x-hifi <->48464000.McASP 映射正常

但我在使用 aplay 命令:后收到以下消息

root@am57xx-EVM:~ a# aplay -l

****播放硬件设备列表****

卡0:BeagleBoardX15 [BeagleBoard-X15]、器件0:Davinci-McAP.0-tlv320aic3x-htlv320aic3x-hifi 0 []

子设备:1/1

子设备#0:子设备#0

卡1:H58040000encode [HDMI 58040000.encoder]、设备0:HDMI 58040000.encoder-so-dumme-di-0 []

子设备:1/1

子设备#0:子设备#0

当我使用 aplay 播放音频时:

root@am57xx-EVM:~# aplay Classical-Artists.wav

播放波'Classic-Artist.wav':有符号16位小端字节序,[1746.484168] tlv320aic3x-codec 3-0018:无法同步寄存器0x1-0x1。 -121速率44100Hz、立体声

aplay:PCM_WRITE:1940:写入错误:输入/输出错误

请就 这个问题向我们推荐一些解决方案/调试方法。

此致、

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

    有关调试提示、请参阅以下链接:

    www.ti.com/.../sprac09a.pdf
    www.ti.com/.../sprac10.pdf

    processors.wiki.ti.com/.../Sitara_Linux_Audio_Porting_Guide
    processors.wiki.ti.com/.../Processor_SDK_Linux_Audio

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

    检测到我的声卡。 但不会生成 MCASP2时钟。 我尚未对 McASP 驱动程序进行任何更改。 编解码器驱动程序无法读取/写入 i2c 器件。

    请向我建议配置或任何必要的更改。

    谢谢

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

    [引用用户="jay_Guo"]

    sound0_master:simple-audio-card、codec{

    sound-dai =<&tlv320aic3104>

    时钟=<&mcasp2_ahclkx_mux>;

    };

    [/报价]

    在 AM572x TI EVM 上、我们使用引脚 D18 (模式 clkout2)为 AIC3x MCLK 提供时钟。

    我看到您在 AM572x 定制板中对其进行了更改。 您正使用哪个引脚以及在哪种模式下为 AIC3x MCLK 供电? 验证您的 pinmux 设置是否正确。 使用示波器检查该引脚上是否有预期的信号。

    此致、
    帕维尔

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

    我看到了另一篇相关文章、您回答了:
    e2e.ti.com/.../2142362

    此致、

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

    是的、e2e 线程与您的线程非常相似。 您可以参考它。

    如果您有更多问题、请告诉我。

    此致、
    帕维尔