IC,  IP,  jacinto6,  jacinto7

DSS HDMI

display

color key

Colorkey技术是作用在两个图像叠加混合的时候,对特殊色做特殊过滤,符合条件的区域叫match区,在match区就全部使用另外一个图层的颜色值,不符合条件的区域就是非match区,非match区就是走普通的alpha混合。

HDMI

HDMI introduction

调试步骤

VSDK HDMI 驱动不会检测EDID 的信息。 PSDKLA 里面驱动可以自动检查EDID的信息。
1. 检查clock 输出,是否频率正常。
– 脚本: dss clock dump
– CTT Tools
2. 检查极性,确认极性是否正确。
3. 确认下Timing 问题。
– 可以读取yEDID的信息。
4. dump DSS寄存器比较下

How to send out HDMI test pattern

Below command can work at EVM board. For register,please check the special documents. Output pure red display.

omapconf write 0x5806486c 0xff  
omapconf write 0x58064868 0x00      
omapconf write 0x58064864 0x00
omapconf write 0x58064800 0x1     

Dump HDMI register:

omapconf dump 0x58040300 0x5804031c

How to dump the DSS/HDMI clock register and check the clock ?

please download the script of dss_clockdumps.sh from here;

Please download the dss_regdumps.sh script from here;

HDMI 调整极性

J6 可以调整HDMI的极性,具体需要设置如下的寄存器。

PSDK0304

[39.942823 0.041638] DesiJourney.wav       cello.wav             mk-qspi-boot.sh       strings2.wav
[39.945724 0.002901] DiscordToday.wav      dss_clockdumps.sh     pvrtrace
[39.947216 0.001492] root@dra7xx-evm:~# omapconf    read 0x5804030c
omapconf read 0x5804030c
[90.091238 50.144022] 00107F80
[90.091383 0.000145] root@dra7xx-evm:~# omapconf write 0x5804030c 0xe8107F80
omapconf write 0x5804030c 0xe8107F80
[163.200226 73.108843] root@dra7xx-evm:~# omapconf read 0x5804030c
omapconf read 0x5804030c
[181.249349 18.049123] E8107F80
[181.265332 0.015983] root@dra7xx-evm:~# 
VSDK — Same method

TDA2/DRA7xx DSS

dss registers dump

https://git.ti.com/cgit/glsdk/util-scripts/tree/debug/dss_regdumps.sh

dss clock dump

https://git.ti.com/cgit/glsdk/util-scripts/tree/debug/dss_clockdumps.sh

EDID 信息检查

修改显示器EDID工具(源码)

Linux

Linux kernel下面可以利用modetest来检查。

root@dra7xx-evm:~# modetest 
trying to open device 'i915'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...done
Encoders:
id      crtc    type    possible crtcs  possible clones
31      34      TMDS    0x00000001      0x00000000

Connectors:
id      encoder status          name            size (mm)       modes   encoders
32      31      connected       HDMI-A-1        790x0           19      31
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080i 60 1920 2008 2052 2200 1080 1084 1094 1125 flags: phsync, pvsync, interlace; type: driver
  1920x1080i 60 1920 2008 2052 2200 1080 1084 1094 1125 flags: phsync, pvsync, interlace; type: driver
  1920x1080 50 1920 2448 2492 2640 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080i 50 1920 2448 2492 2640 1080 1084 1094 1125 flags: phsync, pvsync, interlace; type: driver
  1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080 25 1920 2448 2492 2640 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
  1280x720 120 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
  1280x720 120 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
  1280x720 100 1280 1720 1760 1980 720 725 730 750 flags: phsync, pvsync; type: driver
  1280x720 60 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
  1280x720 60 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
  1280x720 50 1280 1720 1760 1980 720 725 730 750 flags: phsync, pvsync; type: driver
  640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync; type: driver
  640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync; type: driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
                        00ffffffffffff00069308a701000000
                        01140103804f00781adaffa3584aa229
                        17494b00000001010101010101010101
                        010101010101023a801871382d40582c
                        450000000000001e011d801871382d40
                        582c450000000000001e000000fc0041
                        544f4d4f532053484f47554e000000fd
                        0018780f871e000a202020202020014c
                        02032c70515f5e5d3f40101f22212005
                        142f29041301230f0407830f00006d03
                        0c001000003c210060010203023a8018
                        71382d40582c450000000000001e023a
                        80d072382d40102c458000000000001e
                        011d801871382d40582c450000000000
                        001e011d80d072382d40102c45800000
                        0000001e000000000000000000000052
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0

CRTCs:
id      fb      pos     size
34      44      (0,0)   (1920x1080)
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver
  props:
        27 trans-key-mode:
                flags: enum
                enums: disable=0 gfx-dst=1 vid-src=2
                value: 0
        28 trans-key:
                flags: range
                values: 0 16777215
                value: 0
        29 background:
                flags: range
                values: 0 16777215
                value: 0
        30 alpha_blender:
                flags: range
                values: 0 1
                value: 0
        21 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        22 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 0
36      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 flags: ; type: 
  props:
        27 trans-key-mode:
                flags: enum
                enums: disable=0 gfx-dst=1 vid-src=2
                value: 0
        28 trans-key:
                flags: range
                values: 0 16777215
                value: 0
        29 background:
                flags: range
                values: 0 16777215
                value: 0
        30 alpha_blender:
                flags: range
                values: 0 1
                value: 0
        21 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        22 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 0

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
33      34      44      0,0             0,0     0               0x00000001
  formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24
  props:
        5 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 0
        25 global_alpha:
                flags: range
                values: 0 255
                value: 255
        26 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
35      0       0       0,0             0,0     0               0x00000002
  formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
  props:
        5 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 0
        25 global_alpha:
                flags: range
                values: 0 255
                value: 255
        26 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
37      0       0       0,0             0,0     0               0x00000003
  formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
  props:
        5 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 2
        25 global_alpha:
                flags: range
                values: 0 255
                value: 255
        26 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
38      0       0       0,0             0,0     0               0x00000003
  formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
  props:
        5 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        23 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        24 zorder:
                flags: range
                values: 0 3
                value: 3
        25 global_alpha:
                flags: range
                values: 0 255
                value: 255
        26 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0

Frame buffers:
id      size    pitch

Ubuntu

sudo apt install read-edid
sudo get-edid > myedid.bin
sudo parse-edid < myedid.bin

另外可以使用在网站查询 www.edidreader.com

[Jacinto7_08_00]:~/startJacinto> sudo parse-edid < my-edid.bin
[sudo] password for fredy: 
Checksum Correct

Section "Monitor"
    Identifier "ATOMOS SHOGUN"
    ModelName "ATOMOS SHOGUN"
    VendorName "ATS"
    # Monitor Manufactured week 1 of 2010
    # EDID version 1.3
    # Digital Display
    # Display Physical Size not given. Normal for projectors.
    Gamma 2.20
    Option "DPMS" "false"
    Horizsync 15-135
    VertRefresh 24-120
    # Maximum pixel clock is 300MHz

    #Extension block found. Parsing...
#WARNING: I may have missed a mode (CEA mode 95)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 94)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 93)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 63)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 64)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
    Modeline    "Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 1" 74.25 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 3" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 4" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 5" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 6" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 7" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
    Modeline    "Mode 8" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
    Modeline    "Mode 9" 148.500 1280 1390 1430 1650 720 725 730 750 +hsync +vsync
    Modeline    "Mode 10" 148.500 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline    "Mode 11" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
    Modeline    "Mode 12" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline    "Mode 13" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
    Modeline    "Mode 14" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 15" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 16" 74.25 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 17" 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync 
    Option "PreferredMode" "Mode 2"
EndSection

Q&A?

How to configure DSS for BT656 or BT1120 output format?

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/931993/faq-how-to-configure-dss-for-bt656-or-bt1120-output-format

PROCESSOR-SDK-DRA8X-TDA4X: How to change display resolution in vision apps?

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/942679/faq-processor-sdk-dra8x-tda4x-how-to-change-display-resolution-in-vision-apps

PROCESSOR-SDK-DRA8X-TDA4X: How to enable vout1/DPI1 output in vision apps?

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/949461/faq-processor-sdk-dra8x-tda4x-how-to-enable-vout1-dpi1-output-in-vision-apps

PROCESSOR-SDK-DRA8X-TDA4X: [PSDKRA]Can I use QT & wayland to render VisionApp result?

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/950630/faq-processor-sdk-dra8x-tda4x-psdkra-can-i-use-qt-wayland-to-render-visionapp-result

PROCESSOR-SDK-DRA8X-TDA4X: How to enable third display ie TIVX_TARGET_DISPLAY3 in Vision Apps?

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/954679/faq-processor-sdk-dra8x-tda4x-how-to-enable-third-display-ie-tivx_target_display3-in-vision-apps

jitter issue

Optimizing DRA7xx and TDA2xx Processors for Use With
Video Display SerDes

参考

  1. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_03_00_07/exports/docs/pdk_jacinto_07_03_00_29/docs/trainings/DSS_Overview.pdf

发表评论

您的电子邮箱地址不会被公开。