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.

[参考译文] TLV320AIC3104:无法正常运行播放

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1247411/tlv320aic3104-trouble-getting-playback-to-work

器件型号:TLV320AIC3104

我正在尝试使用  TLV320AIC3104通过运行4.19.94-ti-r73的 BeagleBone Black (BBB)播放音频。 具体来说、我将使用 Audio Cape RevB 的克隆。 我解析了一个关于 TechForum 的主题 、该主题之后出现了一个类似的 问题、但不清楚他们是否解决了该问题。  我能够使 BBB 在使用 aplay -l 时"查看"编解码器。 以下是输出

x@y:~$ aplay -l  

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

0:B [AudioCape Rev B]、器件0:Davinci-McASP.0-tlv320aic3x-hifi tlv320aic3x-hif-0 [Davinci-McASP.0-tlv320aic3x-hifi tlv320aic3x-hifi-0]  

子器件1/1  

子设备#0:子设备#0

当我尝试播放音频文件时、没有任何反应(即没有声音和播放卡滞)

当我运行 dmesg | grep tlv320*时,会显示以下信息:

[ 1.400390] tlv320aic3x-codec 2-0018:2-0018 SUPPLY IOVDD not found, using mummary regulator
[1.400498] tlv320aic3x-codec 2-0018:作为消费者链接到电脑控制器。
[ 1.400513] tlv320aic3x-codec 2-0018:2-0018 SUPPLY DVDD not found, using demand regulator (未找到电源 DVDD,使用虚拟调节器)
[1.400598] tlv320aic3x-codec 2-0018: 2-0018 SUPPLY AVDD not found, using dummary regulator
[ 1.400683] tlv320aic3x-codec 2-0018:2-0018 SUPPLY DRVDD not found, using demand regulator
[1.400771] tlv320aic3x-codec 2-0018:无效电源电压 AVDD:-22,DVDD:-22
[1.562159] ASOC-simple-card sound: tlv320aic3x-hifi <->48038000.McASP 映射 ok
[ 854.335039] tlv320aic3x-codec 2-0018:无法同步寄存器0x3-0x3。 -121

最后一行似乎是问题、但我不确定其含义。

在运行 i2cdetect 时、我可以看到驱动程序一直挂起0x18地址(它会以 UU 的形式出现)、因此我认为 BBB 会与 TLV320正确通信。 在查看 TLV320AIC3104时、我找不到对同步寄存器0x3的任何引用。


非常感谢您提供任何帮助。

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

    您是否可以使用 i2cdump 来检查是否可以访问芯片?

    还有一点、请告诉我是将 aic3104设置为主设备还是从设备?

    以下是有关如何在 BBB 的 devicetree 中设置 i2c 的指南。 希望这可以帮助您。

    音频设备驱动程序 Guidelines.pdf (TI.com)

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

    感谢您的回复。 当我运行 i2cdump 时、我会收到"Could not set address to 0x18:device or resource business"。 我假设 DTS 已经在与该器件通信、因为运行 i2cdetect 时、我会在0x18处得到 UU。

    如何检查 AIC3104是处于主模式还是从模式?  数据表没有明确检查方法。

    您共享的指南从驱动程序包开始。 从何处可以找到该封装?

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

    主编解码器将生成音频时钟。 从编解码器不能。

    i2cdetect 通过仅显示 i2c 地址0x18器件连接到 i2c 总线、i2cget 或 i2cdump 运行良好表示 i2c 通信正常。

    驱动程序包无关。 它不是编解码器驱动程序。  

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

    事实证明、我遇到了连接问题、并且 I2C 未正确连接。 i2cdump 现在提供了以下内容:


    00:00 00 00 10 04 00 00 00 00 00 00 00 01 00 00 00 80 ...?... ?...?
    10: 80 ff 78 78 78 78 78 78 06 00分00分00分00分00。xxxxxx。
    20:00 08 00 22 00 00 00 00 00 00 00 80 80 00 00 00……" ??...
    30:00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 00 ...?... ?……
    40:00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00…… ?………
    50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.
    60:00 03 00 00 00 02 00 00 00 00 00 00 00 00 00 ...
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.
    80:00 00 00 10 04 00 00 00 00 00 00 00 01 00 00 00 80 ...?... ?...?
    90: 80 ff 78 78 78 78 78 78 06 00分00分00分00分00。xxxxxx。
    A0:00 08 00 22 00 00 00 00 00 00 00 80 80 00 00 00……" ??...
    B0:00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00 ...?... ?……
    C0:00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00…… ?………
    D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.
    E0:00 03 00 00 00 02 00 00 00 00 00 00 00 00 00 ...
    F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.

    这是它应该输出的输出吗? 我问是因为当我知道运行 aplay 来播放声音时、我可以听到编解码器启动(我的耳机中有嗡嗡声)、但音频不起作用。 如果运行 dmesg | grep tlv*,则获得:

    [0.236043]审核:初始化 netlink 子系统(已禁用)
    [ 1.399183] tlv320aic3x-codec 2-0018:2-0018 SUPPLY IOVDD not found, using meured regulator (未找到电源 IOVDD)
    [ 1.399294] tlv320aic3x-codec 2-0018:作为消费者链接到电脑控制器。
    [ 1.399310] tlv320aic3x-codec 2-0018:2-0018 SUPPLY DVDD not found, using dummary regulator (未找到电源 DVDD,使用虚拟调节器)
    [ 1.399397] tlv320aic3x-codec 2-0018:2-0018 SUPPLY AVDD not found, using dummy regulator
    [ 1.399481] tlv320aic3x-codec 2-0018:2-0018 SUPPLY DRVDD not found, using m虚 温控器
    [ 1.399882] tlv320aic3x-codec 2-0018:无效电源电压 AVDD:-22、DVDD:-22
    [1.561836] ASOC-simple-card sound: tlv320aic3x-hifi <->48038000.McASP 映射 ok
    [51.110769] PM:引导加载程序不支持仅 RTC!

    上述任何内容是否表明存在任何具体问题?

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

    现在、耳机播放可以正常工作、扬声器播放无法正常工作、是否正确?

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

    我做了更多的测试、似乎这是一个内核问题。 我最初使用的是4.19.94-ti-R74。 我曾尝试使用较旧的内核(4.19.94-ti-R42)、但没有问题。 我不知道为什么会这样。 但是现在、我的问题已经解决。 感谢你的帮助。