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.

Changing DM816x HDMI/DVI output resolution

We are using EZSDK 5.05.01.04 dm8168.

We have had success with running the capture_encode example with 1080i30 source outputting to HDMI  at 1080p60 resolution using the onchip HDMI output.

However, we cannot seem to output the video at one of 800 x 600, 1024 x 768, 1280 x 1024, 1600 x 1200, 1680 x 1050 resolutions.  Is there a way to do this?

We are using a marine monitor that does not accept standard HD signals (720p, 1080p).  

Thanks,

Aaron

  • You'll need to do something like:

    echo 0 > /sys/devices/platform/vpss/display0/enabled

    echo 720p-60 > /sys/devices/platform/vpss/display0/mode

    echo 1 > /sys/devices/platform/vpss/display0/enabled

    The details are in the TI81XX_VPSS_Video_Driver_User_Guide.pdf document.

    You might need to review the vpss driver code to find the mode name strings that you want to use for the resolutions that you want to set.

  • Hello,

    Here is example how to change the mode on HDMI VENC to 800x480.

    root@dm816x-evm:~# /etc/init.d/matrix-gui-e stop
    root@dm816x-evm:~# /etc/init.d/pvr-init stop
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# echo 33500,800/164/89/10,480/10/23/10,1 > /sys/devices/platform/vpss/display0/timings
    root@dm816x-evm:~# echo 1 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# fbset -xres 800 -yres 480 -vxres 800 -vyres 480
    root@dm816x-evm:~# /etc/init.d/matrix-gui-e start
    root@dm816x-evm:~# cat /sys/devices/platform/vpss/display0/mode
    800x480@60

    For the different resolution the timing will be different and also should be supported by the monitor.

    Here some timings:

    echo 25200,640/16/48/96,480/10/33/2,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1280/440/220/40,720/5/20/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1280/110/220/40,720/5/20/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 27027,720/16/60/62,480/9/30/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 108000,2880/48/272/256,576/5/39/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 27027,1440/38/114/124,240/4/15/3,1 > /sys/devices/platform/vpss/display0/timings
    echo 27000,1440/24/138/126,288/2/19/3,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1920/528/148/44,540/2/15/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1920/88/148/44,540/2/15/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 148500,1920/88/148/44,1080/4/36/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 27000,720/12/68/64,576/5/39/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 54000,1440/24/136/128,576/5/39/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 148500,1920/528/148/44,1080/4/36/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 108108,2880/64/240/248,480/9/30/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1920/638/148/44,1080/4/36/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 25175,640/16/48/96,480/11/31/2,1 > /sys/devices/platform/vpss/display0/timings
    echo 40000,800/40/88/128,600/1/23/4,1 > /sys/devices/platform/vpss/display0/timings
    echo 33750,848/16/112/112,480/6/23/8,1 > /sys/devices/platform/vpss/display0/timings
    echo 79500,1280/64/192/128,768/3/20/7,1 > /sys/devices/platform/vpss/display0/timings
    echo 83500,1280/72/200/128,800/3/22/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 85500,1360/64/256/112,768/3/18/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 108000,1280/96/312/112,960/1/36/3,1 > /sys/devices/platform/vpss/display0/timings
    echo 108000,1280/48/248/112,1024/1/38/3,1 > /sys/devices/platform/vpss/display0/timings
    echo 65000,1024/24/160/136,768/3/29/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 121750,1400/88/232/144,1050/3/32/4,1 > /sys/devices/platform/vpss/display0/timings
    echo 106500,1440/80/232/152,900/3/25/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 146250,1680/104/280/176,1050/3/30/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 85500,1366/70/213/143,768/3/24/3,1 > /sys/devices/platform/vpss/display0/timings
    echo 148500,1920/88/80/44,1080/4/36/5,1 > /sys/devices/platform/vpss/display0/timings
    echo 68250,1280/48/80/32,768/3/12/7,1 > /sys/devices/platform/vpss/display0/timings
    echo 101000,1400/48/80/32,1050/3/23/4,1 > /sys/devices/platform/vpss/display0/timings
    echo 119000,1680/48/80/32,1050/3/21/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 79500,1280/48/80/32,800/3/14/6,1 > /sys/devices/platform/vpss/display0/timings
    echo 74250,1280/110/220/40,720/5/20/5,1 > /sys/devices/platform/vpss/display0/timings

    Notice that maximum pixel clock support display is 165MHz.

    Please let me know if you need further details.

    Best Regards,

    Margarita

  • Hi Margarita,

    Thank you for this detailed info!  We are making more progress now.

    Thanks,

    Aaron

  • Hi Margarita,

    Could you help with the correct timing for 480i on HDMI VENC?

    I tried with:

    echo 0 > /sys/devices/platform/vpss/display0/enabled
    echo 216000,720/12/68/64,480/5/41/5,0 > /sys/devices/platform/vpss/display0/timings
    echo 1 > /sys/devices/platform/vpss/display0/enabled

    But it didn't work.

    Thanks in advance,
    Eugenia
  • Hi Eugenia,

    Can you try with the flow described in the below wiki:

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

    Just replace 720p-60 with ntsc.

    Regards,
    Pavel
  • Hi Pavel,

    I already tested with ntsc. This is what I am testing:

    echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    echo 0 > /sys/devices/platform/vpss/display0/enabled
    echo ntsc > /sys/devices/platform/vpss/display0/mode

    But it hangs after the latest command.

    Regards,

    Eugenia

  • Can you check if the display is realy disabled by below command after doing echo 0 /sys/devices/platform/vpss/display0/enabled
    cat /sys/devices/platform/vpss/display0/enabled
    If it prints 1, display is still on and it will not allow you to change the resolution when it is on.
    Rgds,Brijesh
  • Hi Brijesh,

    I checked the display before to change it to ntsc mode and it is disabled.

    cat /sys/devices/platform/vpss/display0/enabled
    0

    If I try with others resolutions, it works, but when I try with ntsc, it hangs.

    Regards,
    Eugenia
  • I think "ntsc" is not supported. can you try "480i" or may be "480i-60" string.
    Rgds,Brijesh