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/AM3352:支持 TDM 的多编解码器操作

Guru**** 2923960 points

Other Parts Discussed in Thread: TLV320AIC3106

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666058/linux-am3352-multi-codec-operation-with-tdm

器件型号:AM3352
主题中讨论的其他器件:TLV320AIC3106

工具/软件:Linux

您好!

我们的设计使用 AM335x 处理器和3个 TLV320AIC3106编解码器、并在 TDM 模式下使用 McASP 进行连接。 该拓扑结构看起来类似于 SPRAC09A (http://www.ti.com/lit/an/sprac09a/sprac09a.pdf)中描述的多编解码器案例。

我们有一个4.14.x 内核构建、希望使用简单的音频卡驱动程序、但是、即使对 ALSA 添加了多编解码器、我们的分析是、使用这一功能仍然存在一些限制、即:

单编解码器限制:

编解码器时隙掩码配置:

  • 即使添加了建议的支持,似乎也没有为每个编解码器配置 TDM 掩码的商定方法

小组件、控制和路由名称冲突:

  • 虽然在 ALSA 中似乎可以通过 CODEC _conf 为编解码器实例添加前缀、但在建议的支持中似乎没有考虑过
  • 如果没有编解码器前缀、则每个编解码器的小工具、控件和路由名称都将发生冲突

TI 是否有支持此拓扑的推荐方法? 似乎需要自定义机器驱动程序。

SPRAC09A 在拓扑中似乎是可行的、但它不清楚是否使用了自定义机器驱动程序。 在最近的主题中(例如 https://e2e.ti.com/support/arm/sitara_arm/f/791/p/628563/2324371)曾讨论过如何使用 Simple card、它是否已延长、或者是否正在进行扩展工作?

或者、是否存在拓扑的备用 DTS 配置、例如共享 McASP 的多个声卡或多个 DAI-link 定义?

最后、您对此配置中的主器件分配是否有任何建议? 将第一个编解码器分配为主器件是可行的配置、还是将 CPU 分配为主器件更好?

此致、

Paul

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

    内核4.14未在 AM335x TI 电路板上进行测试和验证。 我建议您使用 AM335x TI PSDK 随附的内核版本。 最新版本为4.9.59、随附最新的 PSDK v4.02:

    software-dl.ti.com/.../index_FDS.html


    关于多编解码器支持、请检查以下 e2e 线程是否将提供帮助:

    e2e.ti.com/.../428765

    e2e.ti.com/.../647495
    e2e.ti.com/.../1666728

    e2e.ti.com/.../148881
    e2e.ti.com/.../154752

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

    您好、Pavel、

    感谢您的快速响应和参考、我正在查看它们。

    回复:内核、已理解。 我已经下载了 PSDK 并进行了快速浏览。

    我想我想立即获得反馈的一点是、您是否认为只能通过器件树配置来支持此拓扑、或者是否需要自定义机器或其他驱动程序。 我目前的想法是、我们可能需要开发一个机器驱动程序(但不需要其他驱动程序)、因为即使是 PSDK 简易卡驱动程序看起来也不具有多编解码器灵活性。 当然、还有一些更详细的信息、但最好获得一些一般性反馈。

    此致、

    Paul

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

    [引用 user="Paul Richards">我想我想得到的一个问题是、您是否认为仅通过器件树配置即可支持此拓扑、或者是否需要自定义机器或其他驱动程序。 我目前的想法是、我们可能需要开发一个机器驱动程序(但不需要其他驱动程序)、因为即使是 PSDK 简易卡驱动程序看起来也不具有多编解码器灵活性。 当然、有一些更详细的细节、但最好获得一些一般性反馈。

    我检查了机器驱动程序文件(内核4.9.59中的 DaVinci-EVM.c)、我看不到可以从一个 AIC3x 编解码器更新到三个有关 AM335x 器件的 AIC3x 编解码器的位置。 因此、我认为只应更新 DTS 文件。

    此致、
    帕维尔