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.

[参考译文] SN65DSI86:软件问题

Guru**** 2762955 points

Other Parts Discussed in Thread: SN65DSI86

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1602008/sn65dsi86-software-issue

器件型号: SN65DSI86
主题中讨论的其他器件: test2.

尊敬的团队:

我们目前有一个使用 TI_SN65DSI86 DSI 转 eDP 桥接器、

如果我们要连接到外部 DP 监视器、是否需要禁用 ASSR?

此外、我们使用内核版本 6.12.34。 原始驱动器在初始阶段存在一些问题、无法连接到 DSI 主机~  

我们想问一问、使用外部 DP 监控器时、驱动器的要求或实现是否有所不同? 您能否为外部 DP 监视器设置提供或推荐兼容的 Linux 驱动程序?

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

    尊敬的 Tommy:

    如果我们要连接到外部 DP 监视器、我们是否需要禁用 ASSR?

    我假设此 DP 监视器将不使用 eDP 面板所需的 ASSR 显示身份验证、在这种情况下、 SN65DSI86 默认启用了 ASSR 身份验证。  

    在软件配置中、可以通过设置寄存器 0x5A = 0x04、然后稍后设置 0x5A = 0x0C 来选择标准 DP 扰频器种子。

    仅当 PAGE 7 设置为 1 时才会覆盖 ASSR、下面的代码显示了与原始建议序列相比的这些更改:

    <aardvark>
    <configure i2c="1" spi="1" gpio="0" tpower="1" pullups="0" /> 
    <i2c_bitrate khz="100" /> 
    ======REFCLK 27MHz ====== 
    <i2c_write addr="0x2D" count="1" radix="16">0A 06</i2c_write> /> 
    ======Single 4 DSI lanes====== 
    <i2c_write addr="0x2D" count="1" radix="16">10 26</i2c_write> /> 
    ======DSIA CLK FREQ 445MHz====== 
    <i2c_write addr="0x2D" count="1" radix="16">12 59</i2c_write> /> 
    
    ======Enable TI Test Registers====== 
    <i2c_write addr="0x2D" count="1" radix="16">FF 07</i2c_write> /> 
    
    ======ASSR Control Override====== 
    <i2c_write addr="0x2D" count="1" radix="16">16 01</i2c_write> /> 
    
    ======Disable TI Test Registers====== 
    <i2c_write addr="0x2D" count="1" radix="16">FF 00</i2c_write> /> 
    
    ======enhanced framing and ASSR to Standard DP====== 
    <i2c_write addr="0x2D" count="1" radix="16">5A 04</i2c_write> /> 
    ======2 DP lanes no SSC====== 
    <i2c_write addr="0x2D" count="1" radix="16">93 20</i2c_write> /> 
    ======HBR (2.7Gbps)====== 
    <i2c_write addr="0x2D" count="1" radix="16">94 80</i2c_write> /> 
    ======PLL ENABLE====== 
    <i2c_write addr="0x2D" count="1" radix="16">0D 01</i2c_write> <sleep ms="10" /> 
    ======Verify PLL is locked====== 
    <i2c_write addr="0x2D" count="0" radix="16">0A</i2c_write> /> 
    <i2c_read addr="0x2D" count="2" radix="16">00</i2c_read> <sleep ms="10" /> 
    ======POST-Cursor2 0dB ====== 
    <i2c_write addr="0x2D" count="1" radix="16">95 00</i2c_write> /> 
    ======Semi-Auto TRAIN ====== 
    <i2c_write addr="0x2D" count="1" radix="16">96 0A</i2c_write> <sleep ms="20" /> 
    ======Verify Training was successful====== 
    <i2c_write addr="0x2D" count="0" radix="16">96</i2c_write> /> 
    <i2c_read addr="0x2D" count="1" radix="16">00</i2c_read> <sleep ms="10" /> 
    =====CHA_ACTIVE_LINE_LENGTH is 1920 ======= 
    <i2c_write addr="0x2D" count="2" radix="16">20 80 07</i2c_write> /> 
    =====CHA_VERTICAL_DISPLAY_SIZE is 1080 ======= 
    <i2c_write addr="0x2D" count="2" radix="16">24 38 04</i2c_write> /> 
    =====CHA_HSYNC_PULSE_WIDTH is 44 positive ======= 
    <i2c_write addr="0x2D" count="2" radix="16">2C 2C 00</i2c_write> /> 
    =====CHA_VSYNC_PULSE_WIDTH is 5 positive======= 
    <i2c_write addr="0x2D" count="2" radix="16">30 05 80</i2c_write> /> 
    =====CHA_HORIZONTAL_BACK_PORCH is 148======= 
    <i2c_write addr="0x2D" count="1" radix="16">34 94</i2c_write> /> 
    =====CHA_VERTICAL_BACK_PORCH is 36======= 
    <i2c_write addr="0x2D" count="1" radix="16">36 24</i2c_write> /> 
    =====CHA_HORIZONTAL_FRONT_PORCH is 88======= 
    <i2c_write addr="0x2D" count="1" radix="16">38 58</i2c_write> /> 
    =====CHA_VERTICAL_FRONT_PORCH is 4======= 
    <i2c_write addr="0x2D" count="1" radix="16">3A 04</i2c_write> /> 
    ======DP- 24bpp====== 
    <i2c_write addr="0x2D" count="1" radix="16">5B 00</i2c_write> /> 
    =====COLOR BAR disabled======= 
    <i2c_write addr="0x2D" count="1" radix="16">3C 00</i2c_write> /> 
    ======enhanced framing, ASSR to Standard DP, and Vstream enable====== 
    <i2c_write addr="0x2D" count="1" radix="16">5A 0C</i2c_write> /> 
    </aardvark>

    这会删除接收端的 ASSR 启用、以及将 SN65DSI86 器件设置为默认 DP 扰频器种子。

    请参阅此主题、了解 SN65DSI86 的驱动器注意事项和编程:

    (1) SN65DSI86:sn65dsi86 和 mipi DSI 连接错误 — 接口论坛-接口 — TI E2E 支持论坛

    如果您有任何其他问题、请告诉我。

    此致、

    Miguel

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

     尊敬的 Miguel:

    得到了、感谢您的大力支持。

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

    很乐意提供帮助!

    现在结束此主题、请告诉我您是否有任何其他问题或疑虑。

    此致、

    Miguel

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

    尊敬的 Miguel:

    好的、

    还有一个 quesiotn...

    数据表中的 ASSR_CONTROL 仅在 TEST2 被拉至高电平时读取/写入 — 是否正确?

    如果需要修改 ASSR_CONTROL、是否需要将 TEST2 拉至高电平?

    感谢您的帮助并向您学习。

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

    尊敬的 Tommy:

    [引述 userid=“336896" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1602008/sn65dsi86-software-issue/6174409

    如果需要修改 ASSR_CONTROL、是否需要将 TEST2 拉至高电平?

    [/报价]

    好问题、这是真的、它需要在 TEST2 中进行采样才能成为读取/写入。  代码漏洞满足 AND 的另一半要求、则可以修改 0x5A[1:0]。

    ======Enable TI Test Registers====== 
    <i2c_write addr="0x2D" count="1" radix="16">FF 07</i2c_write> /> 
    
    ======ASSR Control Override====== 
    <i2c_write addr="0x2D" count="1" radix="16">16 01</i2c_write> /> 
    
    ======Disable TI Test Registers====== 
    <i2c_write addr="0x2D" count="1" radix="16">FF 00</i2c_write> /> 

    如果您有任何其他问题、敬请告知。

    此致、

    Miguel