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.

Question about dss

Other Parts Discussed in Thread: OMAP3530

Hi, all

Now, in linux, I want to make omap3530 output to LCD at resolution 1024x768 and to TV out at resolution 720x574 at the same time(base upon the same framebuffer, LCD and TV displays the same screen).

Can omap3530  do this by overlay and video pipe?

Does any one can help me?

best regards!

Thanks!

  • Have a look at the following Wiki page for more information on the DSS capabilities.

    There are additional links to help with configuration on this page.

    BR,

    Steve

    http://processors.wiki.ti.com/index.php/Display_Subsystem

     

  • Hi, Steve.

    Thanks for your reply.

    The page I have been read.

    But now I want to know the limitation of the lcd resolution and refresh rate if  I want to do dual output to LCD and  TV out (720x574,PAL)  using the same screen display (the same frame buffer).

    my experiment result:

    1. if I set the LCD to 800x600@60Hz, no matter set 16 or 24 bits colors, the down sample engine work correctly, and tv out and lcd both are ok.

    2. if I set the LCD to 1024x768@60Hz, no matter set 16 or 24 bit colors, only LCD show the output, no tv out display can see. I use oscilloscope the check signal at tv output pins, and find that the tv signal time diagram is the same as No,1 setting, but part indicating content to display is lost. I think it means that the tv out engine is work correctly, but down sample engine do not work.

    I think there are some limitations I do not know about down sample engine.

    The cpu's silicon version: 2.0

    I check the user manual, in the old version, there is a chapter about down sample limitation and says in a table that LCD at 1024x768@60Hz and TV out at 720x574 can not output simultaneously due to fclk limitation. But in the new version, the chapter is deleted.

    My calculation about DSS_FCLK for down sample engine according to description in the new user manual. 

    800x600 @ 60Hz

    DPLL4_M4 clock:432MHz

    DSS_PCLK clock: 40MHz

    DSS_FCLK clock: for 16bit colors at least 5x MHz, for 24bit colors at least 9x MHz, and I try to set 108MHz, 144MHz. all is ok.

    1024x768 @ 60Hz

    DPLL4_M4 clock:432MHz

    DSS_PCLK clock: 57.6MHz

    DSS_FCLK clock: for 16bit colors at least 81.92 MHz, for 24bit colors at least 163.84 MHz,  Due to clock dividor setting limitation, the clock of DSS_FCLK can only set to 172.8MHz, Clock rate does not exceed the limitation of 173MHz.

    finally, I find that in "OMAP3530/25/15/03 Applications Processor Silicon Revisions 3.1.2, 3.1, 3.0, 2.1, and 2.0 Silicon Errata", Chapter 2.1.20  is "down sample limitation" ,I try to set the times for LCD display to meet the requrement in errata. But still no tv out.

    Any suggestion for me?

    BR,

    wjh

     

     

  • The output paths are completely independent, so changing one output resolution should not affect the other unless you mean that you are actually changing the frame buffer size too? In which case you are changing the scaling requirements for both paths.

    BR,

    Steve

  • I think I am still confused with your use-case, can you please provide further details like -

     - Steps/commands you are using to configure the resolution to 800x600@60 and  1024x768@60?

     - When you say you are not getting any output on TV, are you seeing any error message on console?

     - Which PSP release or Kernel version are you using here?

     

    Thanks,

    Vaibhav

  • 1. Command to  to configure the resolution to 800x600@60 and  1024x768@60

    Uboot command for 800x600@60:

    setenv nfsboot_wjh 'setenv bootargs console=ttyS0,115200n8 vram=12M omapfb.mode=dvi:800x600MR-32@60 omapfb.debug=y omapdss.def_disp=dvi nfsroot=10.0.0.100:/sec_hd/TI ip=10.0.0.101:10.0.0.100:255.0.0.0:root:eth0:eth0 root=/dev/nfs mpurate=600; tftp ${loadaddr} uImage-ema; bootm ${loadaddr};'

    Uboot command for 1024x768@60:

    setenv nfsboot_wjh 'setenv bootargs console=ttyS0,115200n8 vram=12M omapfb.mode=dvi:1024x768MR-32@60 omapfb.debug=1 omapdss.def_disp=dvi nfsroot=10.0.0.100:/sec_hd/TI ip=10.0.0.101:10.0.0.100:255.0.0.0:root:eth0:eth0 root=/dev/nfs mpurate=600; tftp ${loadaddr} uImage-ema; bootm ${loadaddr};'

    I also track the linux booting process, and find that finally linux using VESA-tm timing setting for my config. I think it is no matter.

    On Linux shell, I use the command from Document in linux kernel source for TV out and LCD output:

    ovl0=/sys/devices/platform/omapdss/overlay0
    ovl1=/sys/devices/platform/omapdss/overlay1

    dvi=/sys/devices/platform/omapdss/display3
    tv=/sys/devices/platform/omapdss/display2

    fb0=/sys/class/graphics/fb0

    w=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1`
    h=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1`

    echo "0" > $ovl0/enabled
    echo "0" > $ovl1/enabled

    echo "0,1" > $fb0/overlays

    echo "$w,$h" > $ovl1/output_size
    echo "tv" > $ovl1/manager

    echo "1" > $ovl0/enabled
    echo "1" > $ovl1/enabled

    echo "1" > $tv/enabled

    2. When you say you are not getting any output on TV, are you seeing any error message on console?

    Yes, When use the command from Document in linux kernel to set TV out, it display a error that means "DISPC down sampling clock required exceed DISPC FCLK ",

    But after tracing the linux kernel, I find that in PSP kernel code from TI (even the newest version), PPL for calculating down sampling clock is fixed to 800. That is the reason why error says "DISPC down sampling clock required exceed DISPC FCLK ". So I change the PPL in the source(only one position in source code) to according to the screen width and have tested for changing resolution of LCD. The PPL is right now and no error occur in down sampling.

    3. Which PSP release or Kernel version are you using here?

    The kernel version is 2.6.31-rc7.

  • Hi,

    Can omap3530 do what I descripted above?

    Or

    I Should use another way to make both TV  and LCD output When LCD is at 1024x768@60Hz ? Using self design outer circurt for omap3530 TV out?

    BR,

    WJH

  • WJH,

    Sorry for the delay. I missed this posting.

    Have a look here for more information on hardware and software capabilities.

    http://processors.wiki.ti.com/index.php/Display_Subsystem

    BR,

    Steve

  • Hi, Steve

    I had read the document from the link.

    But still I can not find anything useful for me.

    I use two pipes on the same frame buffer. One is graphics pipe for LCD output(1024x768@60 24bpp), other is video pipe for TV output with scale function.

    Display on LCD is ok, But on TV, I can not see anything.

    And I only down the LCD to 800x600@60 24bpp. Both display on LCD and TV are ok.

    And I think there is some limitation in timing  of dss scaling , but I do not konw what it is.

    Because I check the TV signal with oscilloscope, find that the TV signal itself is ok, but the graphic signal on TV signal is lost.

    That means when LCD output is 1024x768@60 24bpp, the down scaling function do not work.

    BR,

    WJH