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.
硬件平台:基于 TDA4VM 的定制电路板
软件平台:PSDK Linux 8.6版
摘要:
我们在 TDA4VM 上使用 MIPI-DSI 来驱动基于 FPDLink-III 的远程触摸10.1"显示面板。 在 Linux 启动期间、显示的颜色不正确。 R、G 和 B 组件的颜色映射错误。
这是随机发生的。 平均大约1/3的时间是正确的。
以下是颜色映射错误的示例。 (当然) TI 标识应为红色。
但是、我们可以运行 kmstest、并看到此问题已得到纠正:
退出 kmstest 后,颜色组件是正确的。
在与 TI 进行的调试调用中、此问题存在于包括 J7AHP (TDA4VH/AM29A)在内的多个平台中。 以下是呼叫中提供的信息摘要。
TI 内部调试:
汽车用例通过内部 R5F MCU 使用 RTOS 而不是 Linux 来驱动 MIPI-DSI 面板。
RTOS 驱动程序设置的寄存器与 Linux 驱动程序设置的寄存器之间的比较没有区别、因此这对解决问题没有帮助。
RTOS 使用56Hz 作为帧速率、并且能够完美地工作。 在 Linux 上无法实现这一点、因为我们会检查刷新率是否保持在60Hz。
通过手动黑客攻击驱动程序、TI 能够将 J7AHP 上 RTOS 的刷新率设置为相同的值(56Hz)、并且每次都能实现良好的显示初始化。 这是 Linux 中的一个"golden"示例。
应该注意的是、根据 TI 的说法、他们也在 kmstest 中看到了这个问题、但在100次以上的尝试(START/STOP kmstest 超过100次)中、我们没有看到这种行为。 Kmstest 似乎总是产生良好的颜色映射。
您好、John:
很抱歉耽误我们的时间、刚从商务出差回来、赶上了一些工作、包括针对该问题的调试工作-其他人正在团队中积极研究这个问题、但我个人需要两三天来了解最新情况、重新投入调试工作。 要分享我在旅行前收集的一些实验和数据:
我尝试了一些针对 DSI 转 DP 桥接器件的寄存器转储、并在 SK-AM68上找到了一些有趣的结果(此电路板专门具有一个在 SoC 的 DSI 与电路板上的 DP 端口之间桥接的器件、并且具有与在您身边观察到的相同行为
)。 我看到、当 modetest 颜色出错时、寄存器0xf6和0xF1的位1有时会设置(但并非始终设置)。 浏览与它们对应的电桥的数据表:
附件中包括用于 转储寄存器的视觉元素、寄存器转储和脚本:
e2e.ti.com/.../am68_5F00_dsi_5F00_bridge_5F00_registers_5F00_dump_5F00_and_5F00_scripts.zip
我计划执行的下一步是逐步执行最慢代码、以查看哪个特定行号导致错误寄存器触发、并缩小可能导致此问题的软件部分的范围。
此致、
大沼市
您好、Takuma、
有趣的测试结果! 最好使用 DSI 转 DP 桥作为调试工具。
这不是很重要,因为目标是找出问题发生的核心原因,但在我们的情况下,我们可以运行 kmstest 和颜色固定100%的时间。
如果您运行 kmstest 并退出、颜色是否正确?
约翰
您好、John:
在 SK-AM68A 上运行 kmstest 时、行为似乎与在终端上观察到的行为不同、因为整个屏幕变为黑色。 系统仍在启动和运行、似乎已检测到显示、但屏幕在下次重新启动之前没有响应。
此致、
大沼市
谢谢 Takuma。 您是否知道在这一问题上是否有进一步的进展?
我听说目标是在 SDK9.0中固定此值。 您能确认吗?
您好、John:
为了向您提供更新、我们主要仍然处于从"黄金"Linux 配置转储寄存器的过程中、并在经常出现 RGB 翻转问题的情况下在寄存器转储之间进行差异。 我们在寄存器中看到的大多数变化发生在 DSI_TOP 中的寄存器组中、但我们也看到了 DSS_VID、DSS_VP 和 DSS_OVR_MGR 组中的一些变化。 在分析寄存器的同时、我们还要执行一些其他测试、例如替换重叠管理器或 DSS 中数据的颜色格式、以及查看输出的差异。
为了设置期望值、该问题可能比我们在调试时想象的更复杂。 很难说、如果我们可以通过 SDK9.0或在很快的时间(而不是解决天数、我估计要解决数周)来解决该问题。 但毫无疑问、只要能够找出问题的根本原因、我就可以立即发送补丁。 请随时联系我们对此 E2E 进行更新。
另一方面、您是否有任何进展或新发现可以帮助我们进行调试?
此致、
大沼市
感谢您发送编修。
如果您有一个脚本、我可以通过 FPDLink III 显示屏在我们的设置中运行它。 上面的链接仅包含.txt 和.jpeg 文件的存档文件。
我们的信号链为:
MIPI-DSI0 -> DS90UB941 -> FPDLink III HSD (2线对)电缆-> DS90UB948 -> LVDS LCD 面板
约翰
您好、John:
我拥有的脚本基本上是 i2cdump、它们会将寄存器从 SK-AM68上的 DSI 转储到 eDP 桥。 我的同事有一个关于 TDA4VH 的不同脚本。 我可以看看是否开发了一款适用于 TDA4VM 的
否则、TRM 应具有我在上一篇文章中提到的组的寄存器地址。 使用 devmem2等 Linux 命令行工具创建 bash 脚本、可以创建遍历寄存器的循环。
此致、
大沼市
明白了。 我想、如果您探测内部 TDA4VM 寄存器(或 TDA4VME/VH 上的相同寄存器)、那么最好使用相同的脚本来更轻松地进行1:1比较。
您好、John:
解锁 E2E 主题。 正如斯坦利所说的、这项工作仍在进行中、以便找出问题的根源。 很抱歉耽误您的时间、感谢您的耐心等待。
此致、
大沼市
谢谢 Takuma。 了解更新。
您好、John:
感谢您对此问题的耐心解答。 我们已在内部提交错误、团队正计划为即将发布的9.1版本进行修复。
谢谢。
您好、John:
解锁该主题并告知您我们已针对9.2 SDK 版本中的换色问题进行了"修复"。 详情请见: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am68/09_02_00_04/exports/docs/linux/Foundational_Components 内核 Kernel_Drivers soc 输出
此致、
大沼市
谢谢 Takuma! 这确实解决了我们的问题。