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.

[参考译文] SN65DSI84:QCS615 平台上的 SN65DSI84 DSI 转 LVDS 桥接器启动问题

Guru**** 2484615 points
Other Parts Discussed in Thread: SN65DSI84, SN65DSI84-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1541077/sn65dsi84-issue-with-sn65dsi84-dsi-to-lvds-bridge-bring-up-on-qcs615-platform

器件型号:SN65DSI84


工具/软件:

尊敬的团队:

 

我们目前正在我们基于 QCS615 的平台上启动 TI SN65DSI84 DSI 转 LVDS 桥接器、并运行 Linux 内核版本 6.6。
在验证过程中、我们在 SN65DSI84 驱动器中启用了测试图形生成功能。 但是、LVDS 面板上显示的测试图形不清楚且失真(请参阅所附图像以供参考)。

e2e.ti.com/.../0181.G133HAN01V1-final-spec-ver-1.0_5F00_20190513.pdf.pdfe2e.ti.com/.../panel_5F00_timing_5F00_settings.txte2e.ti.com/.../qcs615_2D00_smarc_2D00_lvds.txt

其他意见:

测试图形被禁用时、LVDS 面板仅显示背光、不显示图像或信号。

我们的硬件配置如下:
LVDS A 承载奇数像素
LVDS B 传输偶数像素

为了供您参考、我们随函附上:

相关器件树片段。 (qcs615-smarc-LVDs.dts)
面板设置 (panel_timing_settings.txt)
面板数据表 (G133HAN01V1 最终规格版本 1.0_20190513.pdf.pdf)

感谢您提供指导来解决此问题并通过 SN65DSI84 桥确保正确的图像显示。

此致、

Sudarshan

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

    尊敬的 Sudarshan:

    感谢您提供有关测试图形生成问题的背景信息。 我对设置有几个问题

    • SN65DSI84 是采用 DSI CLK 还是 REF CLK 的?
    • DSI 设置
      • 使用了多少个 DSI 通道?
      • DSI 通道速度/DSI 时钟频率是多少?

    如果您可以附加 SN65DSI84 的 I2C 寄存器转储、此文件非常有用。

    此致、

    插孔

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

    您好、Jack、

    感谢您的回答。 请在下面找到我的评论。

    • SN65DSI84 是采用 DSI CLK 还是 REF CLK 的?
      • Sudarshan - SN65DSI84 使用 100MHz 的外部参考时钟 (CLK_100CLK_REFCLK)
    • DSI 设置
      • 使用了多少个 DSI 通道?
      • Sudarshan - 4 通道 DSI
      • DSI 通道速度/DSI 时钟频率是多少?
      • Sudarshan -  D-PHY v1.2:每个端口在四个通道上每通道 2.1 Gbps、每个端口高达 8.4 Gbps
         DisplayPort v1.4(每通道 5.4Gbps、每端口 21.6Gbps)、支持 MST
        最大 5 MP;

    如果您可以附加 SN65DSI84 的 I2C 寄存器转储、此文件非常有用。

    Sudarshan — 附加了 reference.e2e.ti.com/.../3036.Reg_5F00_dump.txt 的 I2C 寄存器转储

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    感谢您提供此信息。 如果显示需要 141.14MHz 的标称 PCLK、则不清楚为什么 100MHz 的外部参考时钟连接到 SN65DSI84。 请参阅以下数据表中外部基准时钟的说明。

    此致、

    插孔

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

    您好、Jack、

    感谢您的回答。

    我们测量了 外部参考时钟 并确认了我们可以获得的 100MHz。  

    需要您的指导来进一步解决相同问题。 如果您需要我们方面的任何信息、请告诉我。

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    我之前响应的一个快速更正是、由于双 LVDS 端口、此显示屏的 LVDS 时钟的标称值为 70.57MHz。 AUO 数据表允许使用 69.22MHz LVDS 的- 73.9MHz 时钟。 100MHz REFCLK 将不是此显示的选项。

    另一个选项是使用 DSI 通道 A 时钟作为 LVDS 时钟源。 DSI 时钟 必须是连续的 以便用作 LVDS 时钟源。 我之前发送的上述数据表部分详细介绍了对 SN65DSI84 进行编程以实现 DSI 时钟参考所需的步骤。

    您知道该系统的 DSI 时钟频率吗?

    此致、

    插孔

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

    您好、Jack、

    感谢你的迅速答复,我上周离开了。 很抱歉耽误你的时间。

    正如建议的那样、我们认为使用 DSI 通道 A 时钟作为 LVDS 时钟源、下面是使用的驱动器。

    网址: https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/gpu/drm/bridge/ti-sn65dsi83.c

    根据我的上述理解、驱动器默认使用外部时钟、为了选择 DSI 通道 A 时钟是否需要任何特定的更改? 请告诉我。

    供参考、

    我们从硬件端隔离了外部基准时钟。

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    对于您的配置、我们有以下内容

    • 标称 PCLK = 141.2MHz
    • LVDS CLK = 70.6MHz
    • DSI DDR CLK = 211.8MHz

    为了启用 DSI 通道 A 时钟、需要执行以下操作

    • 设置寄存器 0xB[7:3]中的 DSI_CLK_DIVIDER
      • 将该寄存器设置为 0x10 以进行 3 分频
    • 设置寄存器 0xA 中的 LVDS_CLK_RANGE 和 HS_CLK_SRC  
      • 将此寄存器设置为 0x0B
    • 设置 CH_DSI_CLK_RANGE 寄存器 0x12
      • 将该寄存器设置为 0x2a
    • 设置 PLL_EN 寄存器 0x0D[0]以启用内部 PLL
      • 将该寄存器设置为 0x01

    我使用 DSI 调谐器工具计算适当的寄存器值。 您可以在下面的 E2E 常见问题解答中下载 DSI 调谐器工具。

    E2E 链接

    此致、

    插孔

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

    您好、Jack、

    感谢您的答复。

    我们在驱动程序源中执行了上述设置以启用内部时钟、但仍观察到测试模式失真。

    已附加 i2cdump、引用如下:e2e.ti.com/.../i2cdump.txt

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    一个校正:将寄存器 0xA 设置为 0xB、以使 LVDS 像素时钟能够源自 D-PHY 时钟。

    此致、

    插孔

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

    您好、Jack、

    感谢您的回答、

    您能否提供相同的设置? 同样、需要为 0xA 和 0xB 寄存器设置哪个位?

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    请参阅下面的

    • 设置寄存器 0xB[7:3]中的 DSI_CLK_DIVIDER
      • 将该寄存器设置为 0x10 以进行 3 分频
    • 设置寄存器 0xA 中的 LVDS_CLK_RANGE 和 HS_CLK_SRC  
      • 将此寄存器设置为 0x0B
        • 设置寄存器 0xA[3:1]= 0x5
        • 设置寄存器 0xA[0]= 0x1
    • 设置 CH_DSI_CLK_RANGE 寄存器 0x12
      • 将该寄存器设置为 0x2a
    • 设置 PLL_EN 寄存器 0x0D[0]以启用内部 PLL
      • 将该寄存器设置为 0x01

    此致、

    插孔

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

    您好、Jack、

    感谢您的回答、

    我们能否致电进一步讨论? 请告诉我您今天或明天有空闲的时间吗?

    此致、

    Sudarshan

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

    尊敬的 Sudarshan:

    我将离开办公室直到星期一(8 月 18 日)。 我们可以安排星期一 Morning Dallas 时间上午 8 点 (IST 下午 6:30) 致电。

    显示器是否仍有问题? 您能否从 DSI84 发送最新的寄存器转储?

    此致、

    插孔

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

    您好、Jack、

    感谢您的回答、

    我能否安排在星期一晚上 8 点拨打电话? 请告诉我这段时间是否适合您、或者您是否希望选择其他选项。

    您能否分享您的邮箱 ID?

    我们仍然面临显示器问题。 从 DSI84.e2e.ti.com/.../4762.dump.txt 附加了最新的寄存器转储

    此致、

    Sudarshan

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

    尊敬的  Sudarshan:

    Jack 今天很棒、将回到星期一。

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

    尊敬的 Sudarshan:

    我发送了一封包含呼叫邀请的电子邮件。 我们可以在其中讨论后续步骤。

    此致、

    插孔

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

    尊敬的 Sudarshan:

    感谢您今天的通话时间。 在明天的调用中、将进行实时调试以找出 PATGEN 屏幕失真的根本原因。

    当我查看最新的寄存器转储时、我看到寄存器 0xE5 = 0x1。 这意味着 SN65DSI84 的 PLL 已解锁。 当我重新输入 DSI 调谐器工具的所有内容时、我意识到在使用双 LVDS 模式时、由于 LVDS CLK 和水平时序被 2 分频、有多种错误配置。

    我将发送 DSI 调谐器工具的屏幕截图和该工具的寄存器输出、而不是像前文那样记下寄存器。

    e2e.ti.com/.../tessolve_5F00_dsi84_5F00_setup.txt

    /resized-image/__size/640x480/__key/communityserver-discussions-components-files/138/first_5F00_page.png

    /resized-image/__size/640x480/__key/communityserver-discussions-components-files/138/second_5F00_page.png

    此致、

    插孔

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

    尊敬的 Sudarshan:

    经过几次会议以调试 SN65DSI84-Q1 后、PATGEN 和端到端视频均成功启动。 所有问题都是由驱动程序配置错误导致的。

    SN65DSI84-Q1 上的 PATGEN

    • PATGEN 无法按预期工作的根本原因是驱动程序对 CSR 寄存器中的水平视频时序进行了错误编程。  
    • 在双 LVDS 模式下、包括水平活动在内的所有水平时序都必须进行 2 分频。 这是每端口 LVDS 时序

    2. SN65DSI84-Q1 上的端到端视频

    • 通过检查驱动器和 DSI CLK 测量、我怀疑 DSI 输入和 LVDS 输出之间的线路时序不匹配
    • 建议不要在 DSI 模式标志中使用突发时序、这解决了端到端视频的问题。

    先前的驱动程序配置

    电流驱动器配置

    此致、

    插孔