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.

[参考译文] Linux/AM5718:VOUT1同步抖动

Guru**** 2933190 points

Other Parts Discussed in Thread: AM5718

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670110/linux-am5718-vout1-sync-jitter

器件型号:AM5718

工具/软件:Linux

尊敬的团队:

我使用 ADV7125 通过 Vout1生成 VGA 信号。 它可以在屏幕上显示图像、但具有条带。

我已经修改了时序。时序参数在其他 CPU 板上运行良好。

我测量 了 HSYNC。两个 HSYNC 之间的时间有22ns 或更多的毛刺脉冲。DE 具有相同的情况。 在其他 CPU 上、信号是稳定的。

我直接使用并行 LCD 连接 VOUT1,它工作正常。

我认为 VGA 信号没有时钟、因此需要良好的同步。

TI 是否使用 am5718上的 ADV7125来提供某种解决方案? 或有助于使同步信号稳定。

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

    器件勘误表 i886已知 DSS 的视频 PLL 会导致抖动、但某些 DSS 视频 PLL 分频器会降低抖动。 处理器 SDK 4.2 (内核版本4.9.59)中提供了 i886勘误表的权变措施。 以下是提交 ID 和详细信息-

    提交864eb8ae83e8a7c98828a9b7978a053deee4a040
    作者:Tomi Valkeinen
    日期:2016年1月5日11:43:13日+0200

    DRM/OMAP:勘误表 i886的解决方法

    DRA7勘误表 i886 (FPDLink PLL 使用某些 SoC PLL M/N 值解锁)
    即 FPDLink 对 Vout 时钟上的抖动很敏感、而且该低电平也很敏感
    PLL M 和 N 值导致的抖动大于 M 和 N 值。

    此补丁通过更改 PLL 来实现针对此问题的权变措施
    设置为从高 M 和 N 值开始搜索时钟、而不是从高 M 和 N 值开始
    低值。 这不应导致任何功能更改、而且只会导致
    可以减少抖动。

    您可以尝试此解决方法。 如果这不起作用、则需要检查 IO 延迟和其他与硬件相关的修复。

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

    感谢您的回复。

    我使用的是 ti-processor-sdk-linux-am57xx-evm-04.01.00.06。该补丁已应用于 SDK。

    提交864eb8ae83e8a7c98828a9b7978a053deee4a040
    作者:Tomi Valkeinen
    日期:  2016年1月5日11:43:13日+0200

       DRM/OMAP:勘误表 i886的解决方法

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    提交864eb8ae83e8a7c98828a9b7978a053deee4a040
    作者:Tomi Valkeinen
    日期:2016年1月5日11:43:13日+0200

    DRM/OMAP:勘误表 i886的解决方法

    DRA7勘误表 i886 (FPDLink PLL 使用某些 SoC PLL M/N 值解锁)
    即 FPDLink 对 Vout 时钟上的抖动很敏感、而且该低电平也很敏感
    PLL M 和 N 值导致的抖动大于 M 和 N 值。

    此补丁通过更改 PLL 来实现针对此问题的权变措施
    设置为从高 M 和 N 值开始搜索时钟、而不是从高 M 和 N 值开始
    低值。 这不应导致任何功能更改、而且只会导致
    可以减少抖动。

    签字人:Tomi Valkeinen

    diff --git a/drivers/GPU/DRM/omapdrm/dss/pll.c b/drivers/GPU/DRM/omapdrm/dss/pll.c
    索引0a76c89..65c478d 100644
    -- a/drivers/GPU/DRM/omapdrm/dss/pll.c
    ++ b/drivers/GPU/DRM/omapdrm/dss/PLL.c
    @@-231、7 +231、7 @@ bool dss_pll_calc_a (const 结构 dss_pll * pll、unsigned long CLKIN、

    PLL_max = PLL_max? PLL_max:Ulong_MAX;

    - 对于(n = n_start;n <= n_stop;+n){
    + 对于(n = n_stop;n >= n_start;-n){
    FINT = CLKIN / n;

    m_start = max (DIV_ROUND (DIV_ROUND)(DIV_ROUND) UP (PLL_MIN、FINT)、2)、
    @@-240、7 +240、7 @@ bool dss_pll_calc_a (const 结构 dss_pll * pll、unsigned long CLKIN、
    (无符号)(PLL_HW_max / fint / 2)、
    hw->m_max);

    - 对于(m = m_start;m <= m_stop;++m){
    + 对于(m = m_stop;m >= m_start;-m){
    clkdco = 2 * m * fint;

    if (func (n、m、ft、clkdco、data))

    --------------------------------------------------------------------
    但我回滚补丁、图像看起来比以前更好。为什么?

    diff --git a/drivers/GPU/DRM/omapdrm/dss/pll.c b/drivers/GPU/DRM/omapdrm/dss/pll.c
    索引65c478d.1d45f44 100644
    -- a/drivers/GPU/DRM/omapdrm/dss/pll.c
    ++ b/drivers/GPU/DRM/omapdrm/dss/PLL.c
    @@-231、7 +231、8 @@ bool dss_pll_calc_a (const 结构 dss_pll * pll、unsigned long CLKIN、

    PLL_max = PLL_max? PLL_max:Ulong_MAX;

    - 对于(n = n_stop;n >= n_start;-n){
    +/- 对于(n = n_stop;n >= n_start;-n){
    + 对于(n = n_start;n <= n_stop;+n){
    FINT = CLKIN / n;

    m_start = max (DIV_ROUND (DIV_ROUND)(DIV_ROUND) UP (PLL_MIN、FINT)、2)、
    @@-240、7 +241、8 @@ bool dss_pll_calc_a (const 结构 dss_pll * pll、unsigned long CLKIN、
    (无符号)(PLL_HW_max / fint / 2)、
    hw->m_max);

    - 对于(m = m_stop;m >= m_start;-m){
    +/- 对于(m = m_stop;m >= m_start;-m){
    + 对于(m = m_start;m <= m_stop;++m){
    clkdco = 2 * m * fint;

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

    是否可以在有和没有勘误权变措施的情况下捕获 PLL 配置-(可能在 DS_PLL_WRITE_CONFIG_TYPE_A 中打印 PLL_CONFIGURATIONx 寄存器)?

    您也可以尝试使用 HDMI PLL。 它不存在 VOUT 时钟的抖动问题。 附加的 Hack 补丁、使 AM5 EVM 能够使用它。 必须禁用 HDMI 输出(您可以在 DTS 中禁用此功能)、并且需要更改 dpi.c 驱动程序以将 HDMI PLL 用于 DPI 输出。

    e2e.ti.com/.../0001_2D00_hack_2D00_to_2D00_disable_2D00_hdmi_2D00_and_2D00_use_2D00_HDMI_2D00_PLL_2D00_for_2D00_VOUT1.patch

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

    感谢您的回复。

    我将像素时钟从 dts 设置为80MHz。其他参数更改为720p。

    时钟频率=<80000000>;

    SDK 4.1中的默认值以及勘误变通办法、转储寄存器

    DISPC_DIVISOR1 0x00010002
    PLL_CONFIGURATION1   0x014DC04E

    2*20*(1760)/40/12=160MHz

    160/2=80MHz

    但图像是坏的。

    而不使用权变措施、并且我改进了 software.dump 寄存器中视频 PLL 输入的限制

    PLL_CONFIGURATION1   0x00000400
    DISPC_DIVISOR1 0x00010001

    2*20*(2)/1=80MHz

    80/1=80MHz

    屏幕上的图像不错、我可以接受。

    因此,它与勘误表相反。

    我将尝试使用 HDMI PLL。