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/DM388:DM388:如何在 u-boot 中为 VGA (640x480 RGB)显示设置 DVO2寄存器?

Guru**** 2587365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608478/linux-dm388-dm388-how-can-i-set-dvo2-registers-for-vga-640x480-rgb-display-in-u-boot

器件型号:DM388

工具/软件:Linux

您好!

我想通过 DVO2端口在引导加载程序中显示标识图像(640x480x60fps)。

因此,我设置了如下函数和参数。(引用:CBB_RDK)

1.徽标图像 复制到0xB0300000

ti810x_prcm_init ()

ti810x_pll_init ()

4. ti810x_vps_init()

ti810x_set_mode()

- ti810x_pll_config_dvo2 (26000000); /26MHz

- ti810x_vps_configure_venc_LCD (0xA000、45、100、40、640、 3、29、13、480、0、 1、1、cmd);

6. ti810x_vpdma_load_firmware (vpdmaFirmware_1B7)

7.ti810x_dispmgr_create_grpx_conf_descriptor();

8. vpdma_write32 (VPDMA_GRPX1_DATA_Cstat、0x00000400);

ti810x_dispmgr_setup_lifes_DVO2 ()

然后、电路板启动、 徽标图像将被中止。

我期待...

但是、色条效果很好。

bootcmd:色条

因此、我认为 我应该在 ti810x_vps_configure_venc_lcd()函数中修改 resigers。

由于某些寄存器  (在 SPRUHI7A 中未描述)被置位、所以我无法设置正确的值。

(例如、VPS_write32 (cfg_reg_base+0x2C、(hs_sync-<24)|(2 *(VFP + VBP + VS_SYNC)+(vwidth/2))<< 12)|(VS_SYNC + VBP + VFP - 1 - 1)));)

如何在 u-boot 中为 VGA (640x480 RGB)显示设置 DVO2寄存器?

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

    您需要知道应在 DVO2/VOUT0寄存器中为 VGA 分辨率设置哪些值、或者您需要知道如何为 VGA 分辨率设置 DVO2/VOUT0寄存器?

    关于确切的寄存器值、您可以参考 Linux 内核 VPSS 驱动程序、其中支持 VGA 模式:

    processors.wiki.ti.com/.../TI81XX_PSP_VPSS_Video_Driver_User_Guide

    # echo mode_name >/sys/devices/platform/vpss/display1/mode

    /*VG*/
    {"640x480@60"、FVID2_STD_VGA_60、
    {FVID2_STD_CUSTOM、640、480、FVID2_SF_Progressive、
    25175、60、16、48、96、 11、31、2}、
    TI81xx_mode_DVI
    }、
    {"640x480@72"、FVID2_STD_VGA_72、
    {FVID2_STD_CUSTOM、640、480、FVID2_SF_Progressive、
    31500、72、24、128、40、 9、29、2}、
    TI81xx_mode_DVI
    }、
    {"640x480@75"、FVID2_STD_VGA_75、
    {FVID2_STD_CUSTOM、640、480、FVID2_SF_Progressive、
    31500、75、16、120、64、 1、16、3}、
    TI81xx_mode_DVI
    }、
    {"640x480@85"、FVID2_STD_VGA_85、
    {FVID2_STD_CUSTOM、640、480、FVID2_SF_Progressive、
    36000、85、56、80、56、 1、25、3}、
    TI81xx_mode_DVI
    }、

    您可以设置所需的 VGA 模式、然后转储 DVO2寄存器以获得正确的值。

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

    我更改了用于 VGA 标识显示 的 PLL 和 DVO2寄存器、但我的问题没有得到改善。

     - ti810x_pll_config_dvo2 (25175000); //25.175MHz 640x480

     - ti810x_vps_configure_venc_LCD (0xA000、96、48、16、640、 2、33、10、480、0、 1、1、cmd);

    看起来 VPDMA 支持16:9模式(例如、720x480)。

    DVO2寄存器如下所示。

    [CFG00] addr = 0x4810a000、值= 0x41832031
    [CFG01] addr = 0x4810a004、值= 0x00000000
    [CFG02] addr = 0x4810a008、值= 0x00000000
    [CFG03] addr = 0x4810a00c、值= 0x00000000
    [CFG04] addr = 0x4810a010、值= 0x00000000
    [CFG05] addr = 0x4810a014、值= 0x00000000
    [CFG06] addr = 0x4810a018、值= 0x00000000
    [CFG07] addr = 0x4810a01c、值= 0x00000000
    [CFG08] addr = 0x4810a020、值= 0x00000000
    [CFG09] addr = 0x4810a024、值= 0x00000000
    [CFG10] addr = 0x4810a028、值= 0x8420d320
    [CFG11] addr = 0x4810a02c、值= 0x6014a02b
    [CFG12] addr = 0x4810a030、值= 0x6028808d
    [CFG13] addr = 0x4810a034、值= 0x0000020c
    [CFG14] addr = 0x4810a038、值= 0x00000000
    [CFG15] addr = 0x4810a03c、值= 0x60280090
    [CFG16] addr = 0x4810a040、值= 0x0002c000
    [CFG17] addr = 0x4810a044、值= 0x001e0000
    [CFG18] addr = 0x4810a048、值= 0x02009000
    [CFG19] addr = 0x4810a04c、值= 0x02001001
    [CFG2] addr = 0x4810a050、值= 0x00000000
    [CFG21] addr = 0x4810a054、value = 0x60280088
    [CFG22] addr = 0x4810a058、value = 0x0002c001
    [CFG23] addr = 0x4810a05c、值= 0x001e114a
    [CFG24] addr = 0x4810a060、值= 0x02001000
    [CFG25] addr = 0x4810a064、value = 0x02004106
    VPDMA 固件版本= 0x4d0001b7

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

    Park、您好、您可能尚未设置 HDVPSS PLL。 如果 HDVPSS PLL  被绕过、VPDMA 无法将足够快的数据馈送到图形通道。

    如果这一行代码被注释掉、请取消注释。

       ti810x_PLL_configure (PLL_HDVPSS_BASE、19、800、4、0x00000801);

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

    它的工作方式...

    非常感谢。