Other Parts Discussed in Thread: SN65DSI86
尊敬的团队:
我们的板上有一个连接 到 SN65DSI86的 i.MX8M Mini SoC。
SN65DSI86由一个外部振荡器(26MHz)计时、并且到 SoC 的连接通过通道 A 上的4个 MIPI DSI 通道进行
SoC 运行 Linux 4.19.35、我们已将 Linux 上行驱动程序反向移植到 Linux-IMX 4.19.35、 我们对其进行了一些调整、使其适合与 DisplayPort 连接器配合使用(HPD 支持、通过本机 AUX 命令读回 EDID、通过 DDC 通过 AUX 本机命令探测面板功能等)。
我们观察到两个主要问题:
*寄存器0xf0和0xF1中设置了一些错误位
*监视程序返回的一些建模存在一些问题
错误
===
错误 CHA_SOT_SYNC_ERR、 CHA_SOT_BIT_ERR 和 CHA_DSI_PROTOCOL_ERR 始终处于设置状态、我们尝试在视频流开始流动后清除错误、但立即对其进行设置。
我们有时也会收到错误 CHA_INVALID_LENGTH_ERR、但该错误在清除后不会再次出现。
你们是否有什么想法会导致这些错误出现? PCB 有问题或 SoC 生成 DSI 信号的方式有问题?
建模
===========
我们能够从监视器获得有效的 EDID、并且我们已使用已知可连接到同一监视器的另一个 Linux 系统验证了 EDID 内容。
有些模型对我们根本不起作用(显示器拒绝视频输入)、其他模型看起来工作正常、其他模型中有一些奇怪的撕裂。
例如,modeline:
"1920x10100" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
是我们用于测试的显示器报告的首选分辨率、在这样的模式下、显示器拒绝显示任何内容、但如果我们使用 modeline:
"1920x1080" 60 172780 1920 2040 2248 2576 1080 1081 1084 1118 0x20 0x6
显示器运行愉快。
有什么想法会导致这种情况?
此外、EDID 报告的最大 dotclock 为170MHz、但 modeline:
"1920x1080" 60 172780 1920 2040 2248 2576 1080 1081 1084 1118 0x20 0x6
使用高于监视器报告的 dotclock。
我们非常感谢您的任何帮助。
谢谢、
Fabrizio