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.

[参考译文] TDA4VH-Q1:Linux:串行器/解串器 ln_ctrl 错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1505231/tda4vh-q1-linux-serdes_ln_ctrl-error

器件型号:TDA4VH-Q1

工具/软件:

当更新到 新的 Linux 内核时、其中包含名为:

arm64:dts:TI:k3-j784s4-j742s2-main-common:修复串行器/解串器 ln_ctrl reg-Masks 

此 新错误显示在内核引导日志中:

[ 1.098606]多路复用器多通道1:无法设置空闲状态 
[1.106355] MMIO-Mux 104080. mux-controller:带有驱动程序 MMIO-Mux 的探测器失败、错误-5

我了解了此提交中的更改(在 主线内核中记录为38e7f9092efbbf2a4a67e4410b55b797f8d1e184 、这会更改文件 k3-j784s4-j742s2-main-common.dtsi)、并注意到 SERDES_ln_ctrl 定义中的"reg"行在我看来错误。  它当前读取"reg =<0x00004080 0x30>;" 该补丁添加了更正后的行器4通道定义、其寄存器偏移 位于0x40/0x48。  因此、我认为"reg"行需要更新以获得更大的范围。

在我的测试中、当我将该寄存器行更改为:

REG =<0x00004080 0x50>; 

内核引导中的错误消失了。

这会影响主线 Linux 6.13.12 (该系列计划的最后一个 版本)、6.14.3+和 ti-linux-kernel 11.00.06 (可能更早版本)到至少11.00.10。

这听起来是否像针对该问题的正确解决方案、如果是 、TI 可以  解决这个问题吗?

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

    尊敬的  cjorden:

    你是对的。 应调整长度以包含额外的寄存器写入。 我们将 查看是否可以将其设置为11.0版本、但如果不是11.0版本、则将进入11.1版本。

    此致、

    Takuma

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

    感谢您的确认。  在新版本发布之前、您能否确认建议的解决方案看起来是否正确、或者是否应进一步调整?

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

    尊敬的  cjorden:

    是的、看起来是正确的。 我的同事 Siddharth 已发布增流补丁: https://lore.kernel.org/all/20250423151612.48848-1-s-vadapalli@ti.com/

    此致、

    Takuma