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.

[参考译文] TLV320AIC32X4SW-Linux:TLV320AIC32X4SW-Linux:

Guru**** 2482105 points
Other Parts Discussed in Thread: TLV320AIC3254

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/850515/tlv320aic32x4sw-linux-tlv320aic32x4sw-linux

器件型号:TLV320AIC32X4SW-Linux
主题中讨论的其他器件:TLV320AIC3254

您好!

我们的器件使用 TI 编解码器 IC TLV320AIC3254、我在 当前 SDK 中找到 tlv320aic32x4.c/tlv320aic32x4.h、能否将此驱动程序用于3254?

如果不是、您能否与我共享 TLV320AIC3254驱动程序、我的 Linux kerver 版本是3.18.44。

谢谢

将会

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

    您好、

    遗憾的是、我们不为器件提供驱动程序支持。  

    是一个可能提供一些良好信息的主题。

    此致、

    Aaron

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

    您好、Aaron、

    感谢您的友好答复。

    我应首先更新问题的最新状态、  

    TLV320AIC32X4驱动程序代码已从内核日志中合并、我发现它目前无法正常工作。

    日志片段1:

    [0.648491]   aic32x4_i2c_probe ():aic32x4_i2c_probe

    [0.648543]   of _get_named_gpio_FLAGS:无法解析节点'/soc/i2c@78b8000/tlv320aic32x4_codec@18[0]的'set-gpio'属性

    [0.648563]   tlv320aic32x4-codec 4-0018:获取 MCLK 失败。 如果没有 MCLK、当前的执行不支持使用这个编解码器

    [0.648615]   tlv320aic32x4-codec:探测器4-0018失败,错误-2

    与 WPI FAE 讨论、他们与我共享一个解决方案、补丁链接:https://patchwork.kernel.org/patch/6694971/

    执行一次多次测试、另一个问题弹出窗口。

    日志片段2:

    [0.648538]   of _get_named_gpio_FLAGS:无法解析节点'/soc/i2c@78b8000/tlv320aic32x4_codec@18[0]的'set-gpio'属性

    [0.648556]   tlv320aic32x4-codec 4-0018:获取 MCLK 失败。

    [0.648587]   4-0018未找到电源 IOV、使用虚拟稳压器

    [0.648643]   tlv320aic32x4-codec 4-0018:缺少电源'dv'或'ldoin'

    [0.648654]   tlv320aic32x4-codec 4-0018:无法设置稳压器

     

          第744行:[11.209906]  mdm9607-ASOC-snd SoC:声音:ASOC:编解码器 DAI tlv320aic32x4-hifi 名称:tlv320aic32x4-codec.4-0018,未注册

          第744行:[11.209906]  mdm9607-ASOC-snd SoC:声音:ASOC:编解码器 DAI tlv320aic32x4-hifi 名称:tlv320aic32x4-codec.4-0018,未注册

          行746:[  11.214299] mdm9607-ASOC-snd SoC:声音:ASOC:编解码器 DAI tlv320aic32x4-hifi 名称:tlv320aic32x4-codec.4-0018,未注册

          行746:[  11.214299] mdm9607-ASOC-snd SoC:声音:ASOC:编解码器 DAI tlv320aic32x4-hifi 名称:tlv320aic32x4-codec.4-0018,未注册

    这对我们来说是一个严重的阻碍问题、您能尽快帮助我们解决吗?  

    谢谢。

    将会

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

    您好、Aaron、

    对于 上述问题信息、我尝试注释出 aic32x4_setup_regulators()在 aic32x4_i2c_probe()中、然后错误日志消失。

          //ret = aic32x4_setup_regulators(&i2c->dev、aic32x4);

          //if (ret){

          //    dev_err (&i2c->dev,"设置稳压器失败\n");

          //    返回支架;

          //}

     

    不幸的是,除了 “未注册”之外,内核聚合中仍有错误信息,这是否意味着编解码器注册成功?????

    日志片段:

    [0.648446]   aic32x4_i2c_probe ():aic32x4_i2c_probe

    [0.648494]   of_get_named_gpio_FLAGS:=> propname 是重置 GPIO,NP 名称是“兼容”

    [0.648505]   of_get_named_gpio_FLAGS:无法解析节点'/soc/i2c@78b8000/tlv320aic32x4@18[0]的'set-gpio'属性

    [0.648521]   tlv320aic32x4-codec 4-0018:获取 MCLK 失败。

    [0.648546]   tlv320aic32x4-codec 4-0018:=>无法读取 ID:0

     

     

    PCM 器件通过"ls /dev/snd "注册成功

    ~# ls /dev/snd
    controlC0 hwC0D33 pcmC0D12p pcmC0D17c pcmC0D21c pcmC0D2c pcmC0D7p
    hwC0D10 hwC0D39 pcmC0D13c pcmC0D17p pcmC0D22p pcmC0D2p pcmC0D8c
    hwC0D11 hwC0D40 pcmC0D13p pcmC0D18c pcmC0D23c pcmC0D3c pcmC0D9c
    hwC0D12 hwC0D9 pcmC0D14c pcmC0D18p pcmC0D24p pcmC0D3p 计时器
    hwC0D13 pcmC0D0c pcmC0D14p pcmC0D19c pcmC0D25c pcmC0D4c
    hwC0D15 pcmC0D0p pcmC0D15c pcmC0D1c pcmC0D26p pcmC0D4p
    hwC0D16 pcmC0D10p pcmC0D16c pcmC0D1p pcmC0D27c pcmC0D5p
    hwC0D32 pcmC0D11c pcmC0D16p pcmC0D20p pcmC0D27p pcmC0D6c

     

    下一步、我尝试运行音频示例代码并验证编解码器基本功能、但失败了。 从日志中、我们可以找到一些错误信息、例如"设置硬件参数"

    /usrdata #./example_audio play1 demo.wav

    读取 wav HDR

    获取 wav HDR 偏移

    QL_CLT_SET_Mixer_value、器件:Sec_AUX_PCM_RX 音频混合器 MultiMedia1、值:1.

    QL_CLT_SET_Mixer_value、设置混频器:Sec_AUX_PCM_RX 音频混合器 MultiMedia1成功

    __ql_PCM_setParams,401

    无法设置硬件参数

    __ql_PCM_open:params 设置失败

    QL_AudPlayer_Open:在__ql_PCM_open 中失败

    分段故障(转储内核)

    /usrdata #

     

    已仔细检查内核日志,由于 MCLK 错误值导致的问题、直到现在、我还不知道根本原因。

    [64.162067]  Quectel_clean_modemFatalTimes、clean modemFatalError cnt filp_open 失败!

    [68.608387]  aic32x4_get_divs()行为303:速率为8000、MCLK 为0

    [68.608406]  aic32x4:不支持主时钟和采样率

    [68.608415]  aic32x4:不支持采样率

    [68.608433]  tlv320aic32x4-codec 4-0018:asoc:无法设置 tlv320aic32x4-hifi 硬件参数:-22.

    以上是我的初始分析、您能帮我找出根本原因吗?

    BR
    将会

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

    将、  

    由于第三方开发的系统种类繁多、并且提供的 Linux 版本也不同、我们无法提供驱动程序支持。 我们确实提供了基于 TI 电路板的示例、其中显示了必须配置和链接的三个主要组件:

    • 编解码器驱动程序-由 TI 提供、用于选择编解码器、如 TLV320AIC310x
    • 平台驱动程序-由 Linux 系统提供
    • 机器驱动器-将引脚、电源和其他板级组件连接在一起

    此 Sitara Linux 音频驱动程序概述 wiki 页面 概述了如何配置这三个组件。

    此 ALSA 用户空间 Wiki 页面 显示了一些可用的命令行实用程序。

    此 Linux 内核音频用户指南 wiki 页面 显示了在不同 TI Linux EVM 上使用音频编解码器的示例。

    这些 wiki 页面应提供良好的开发起点。 如需更多支持、请联系第三方和相应的 Linux 支持论坛以获取您的系统和 Linux 版本。

    此致、

    -Steve Wilson