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.

[FAQ] [参考译文] [常见问题解答] TDA4VH-Q1:如何配置 Wave521CL VPU 时钟? (Linux)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1371232/faq-tda4vh-q1-how-to-configure-the-wave521cl-vpu-clock-linux

器件型号:TDA4VH-Q1

工具与软件:

我正在尝试配置 VPU 时钟、与配置时钟相关的信息是什么?

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

    请参阅数据表中的速度等级表:  

    Linux SDK 上的默认时钟使用这些上限值进行设置、这些上限值 根据 Wave5 VPU 驱动器计算出的所需频率四舍五入至最接近的工作频率。 这些速度等级表中存在一些需要注意的修改。

    J721s2:

    • 上述速度等级表表示 TDA4 (AL/VE/VL)的不同等级和相应配置
    • 速度等级表规定了器件类型 T、N 和 H 分别具有550MHz、275MHz 和275Mhz 的时钟限制。 这实际上不是驱动程序中直接支持的分部、应如下所示:
      • T:  600MHz  (~523MP/s)
      • N:  300MHz  (~261MP/s)
      • H:  300MHz  (~261MP/s)

    J784s4:

    • 上述速度等级表表示 TDA4 (VH/AH/AP/TDA4 VP)的不同等级和相应的配置
    • 速度等级表说明了 TDA4xxxxT 的所有器件类型和型号具有有限的550MHz 工作频率。 与 J721s2类似、这并不是直接受支持的除法、而是应根据每个 TDA4xxxxT 型号支持的用例列出以下内容:
      • TDA4VH88T: 600MHz (~523MP/s)
      • TDA4AH88T: 600MHz (~523MP/s)
      • TDA4VP88T: 300MHz (~261MP/s)
      • TDA4AP88T: 300MHz (~261MP/s)

    如何配置 VPU 时钟的限制?

    根据上述信息中的器件类型和速度等级、您现在需要将器件的 VPU 时钟配置为关联的值。 可通过删除位于中的频率工作表的默认上限条目来完成此操作。  arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi 或  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi  具体取决于使用的器件。

    要将 VPU 时钟设置为具有300MHz 的上限、请将表更改为如下:  

    保存和复制设备树更改:

    要使这些更改生效、  运行  生成 dtbs 在 Linux 内核目录的最高级别生成新的器件树二进制文件。 那么 复制  arch/arm64/boot/dts/ti/k3-j784s4-evm.dTB  或  arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dtb 至  为  中的根分区  /media/user/root/boot/dtb/ti

    引导时、该器件默认为600MHz。 但是、在运行编码/解码过程后、更改将生效并设置编解码器时钟频率的限制。

    如何验证编解码器时钟?

    J721s2:  

    J72s1s2只有 VPU 的单个实例、因此您只需检查一个时钟。 这可以通过使用 k3conf 工具并使用以下命令来实现:

    • k3conf 转储时钟179

    J784s4:  

    J784s4有两个 VPU 实例、因此有两个时钟用于验证。 这可以使用 k3conf 工具通过以下命令来完成:  

    • VPU0 :  k3conf 转储时钟241
    • VPU1 k3conf 转储时钟242

    默认情况下、由于9.1 SDK、VPU 启用了时钟门控、可以根据当前 VPU 操作动态设置时钟。 因此、除非器件树中的频率表另有规定、否则当未使用 VPU 时、时钟将保持在20MHz 运行。 这也意味着、当使用 k3conf 转储时钟命令验证时钟时、您必须向电路板进行 ssh、并在编解码器操作发生时同时运行命令。