• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » OMAP™ Processors » OMAP35x Processors Forum » DSS output question
Share
OMAP™ Processors
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Resources
  • OMAP-L1x DSP+ARM9™-based Processors Product Folder
  • OMAP3525/30 DSP+ARM Cortex™-A8-based SOCs Product Folder

  • Top OMAPL Wiki Links
  • OMAPL3x Schematic Review Checklist
  • OMAPL13x Boot resources

  • OMAPL Document Resources
  • OMAPL137 Technical reference manual
  • OMAPL138 Technical reference manual
  • OMAPL Boot loader App Notes
  • DSS output question

    DSS output question

    This question is not answered
    Raffaele Recalcati
    Posted by Raffaele Recalcati
    on Feb 14 2009 12:43 PM
    Intellectual615 points

    Hello,
    I have a problem: I asked many times about the same framebuffer going
    to LCD port and PAL and I have different answers.
    In Figure 15-70 of spruf98b.pdf I see the Graphics Path. I'm sorry I
    ask again if I can select this (G) in both Overlay Managers.
    Regarding Documentation/arm/OMAP/DSS it seems to be possible in
    omap3503 and obviously in omap3530.
    I'm really sorry but I can't understand why I get a different answer from TI.
    Example: I write a graphic menu to a frame buffer and I'd like to see
    it in 720p from LCD port  and also scaled down to PAL from Video port.
    TI told me that (G) can go to only one Overlay Manager.
    So I can suppose that TI has this limitation with 2.6.22 official
    kernel, but I think that if I start the project today with omap3503 now I
    don't have this problem, because I'll use at least linux-omap-2.6.28,
    or the mainline kernel, if it will be completed in about six months.

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Bernie Thompson TI
      Posted by Bernie Thompson TI
      on Feb 16 2009 10:33 AM
      Mastermind41680 points

      It is possible to have two indepedent displays from the OMAP3, one on the analog and one on the digital output, however these would require independent frame buffers of the appropriate size for the image (i.e. the scaling down functionality is not in place in the display pipeline, at least not in the current software). This being said you should be able to get the output you want, however you would have to do extra work with the CPU to get two frame buffers of the proper sizes to display on the analog and digital outputs.

      There may also be additional driver limitations as you have mentioned, however the current driver package does allow you to switch the video and graphics pipelines to either output independently.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Raffaele Recalcati
      Posted by Raffaele Recalcati
      on Feb 18 2009 01:27 AM
      Intellectual615 points

      Looking at Documentation/arm/OMAP/DSS inside linux-omap-2.6.28 we see this video path:

      ___________________________________________________________________

      Clone GFX overlay to LCD and TV
      -------------------------------

      tvline=`cat /sys/devices/platform/omapfb/displays |grep tv`
      w=`echo $tvline | cut -d " " -f 5 | cut -d ":" -f 2 | cut -d "/" -f 1`
      h=`echo $tvline | cut -d " " -f 6 | cut -d ":" -f 2 | cut -d "/" -f 1`

      echo "1 t:none" > omapfb/framebuffers
      echo "0 t:gfx,vid1" > omapfb/framebuffers
      echo "gfx e:1" > omapfb/overlays
      echo "vid1 t:tv w:$w h:$h e:1" > omapfb/overlays
      echo "tv e:1" > omapfb/displays

      After this the configuration looks like (only relevant parts shown):

      FB0 +-- GFX  ---- LCD ---- LCD
           \- VID1 ---- TV  ---- TV

      ______________________________________________________________

      This is possible only with omap3530 and not with omap3503?

      Or better, FB0 has to be "good" for the both outputs (rescaling not needed), for example PAL or NTSC could be good ?

      The 2.6.28 kernel is still declared "unstable", isn't it?

      Can you give me the kernel roadmap?

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jason Kridner
      Posted by Jason Kridner
      on Mar 21 2009 19:59 PM
      Intellectual1445 points

      OMAP3530 and OMAP3503 have the same display subsystem capabilities.

      It is possible for them to use different framebuffers and different resolutions.  If they use the same framebuffer, yes, the output would have to be good for both display devices.

      2.6.28 is stable, but the upstream kernel.org version does not include the updated DSS driver you are utilizing for dual-display.  That driver is not yet upstream/stable.

      Take a look at the user's guide and release notes for the PSP kernel to get a feeling for the kernel roadmap.

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Raffaele Recalcati
      Posted by Raffaele Recalcati
      on Mar 22 2009 16:25 PM
      Intellectual615 points

      Thanks for your answer.

      So, starting a product today I'm going to use 2.6.28 compiled (and patched) using openembedded (today I'm still using -r14 version because I'm not working full time on omap3).

      Or, if I would prefer a Ti certified kernel, I have to use 2.6.26 from Ti. This is a second choose only if I'll find big troubles in 2.6.28.

      I'm obviously interested in an upstream kernel  stable in all normal peripherals, I mean spi,i2c,dss,serials,usb host,usb otg,ethernet,audio and so on.

      Dual display in this moment is not mandatory for me, but Apple Store usb to ethernet interface is obviously extremely important, so it has to work with 2.6.26 ti kernel.

      I'm trying to come to ESC, but only with a miracle I'll be albe to come.

      Thx

      Then I'll read the kernel roadmap, I promise.

       

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Apr 07 2009 12:00 PM
      Mastermind23450 points

      The hardware has three source paths, one is graphics and two are video. The graphics path can convert from indexed color to RGB and the video paths can convert from YUV to RGB. Additionally both path types support RGB frame buffers.

      The video paths both have scalers but the graphics path does not.

      Now, these three paths can point to anywhere in memory, so they could be the same frame buffers, completely different buffers or even parts of the same buffers (i.e. a clipped region of a buffer).

      There are two possible outputs, the LCD output and the TV output. Each of the source paths can only feed one of the outputs, but it can be either. This means that you can have the graphics path feeding the LCD output and a video path feeding the TV output. The other video path can be used to overlay on EITHER the LCD output or the TV output but not both at the same time.

      Given that the frame buffer pointers can point to anywhere in memory it is possible then to have a single frame buffer output on the LCD and also scaled down for the TV output.

      Another example is if the video pipe1 is used to feed the LCD output and the video pipe2 is used to feed the TV output then the frame buffer could contain one resolution but the LCD and TV outputs can have yet independently different scaled outputs.

      I do not know how well this flexibility is supported in the Linux code at the moment, but I believe that the upcomming DSS2 framework will make this much simpler to configure.

      I have some slides which detail the hardware capabilities but can't upload them to the forum. In the meantime please feel free to e-mail me at sclynes@ti.com and I will send them to you.

      Kind regards,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Apr 07 2009 16:11 PM
      Mastermind23450 points
      Omap35xxDisplaySubsystem_v2.0.zip

      OK, here are the slides [:)]

      Kind regards,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Hsueh-szu Yang
      Posted by Hsueh-szu Yang
      on Mar 29 2010 18:34 PM
      Prodigy205 points

      Where is the image stored after overlay?

      For example, if both video pipe 1 and graphics pipe connect to overlay manager 1 and then output to LCD, can we have the same image output to TV as well ?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Mar 30 2010 08:52 AM
      Mastermind23450 points

      The resultant output is not stored anywhere but is constructed on the fly as necessary.

      If you are blending any of the frame buffers then you will only be able to send the resultant display to one destination.

      There are three possible source processing pipes. Each processing pipe can only go to one of either the TV output or the digital output.

      Please have a look at the following Wiki page which has more detailed information on the possible combinations and limitations.

      http://wiki.omap.com/index.php/Display_Subsystem

      BR,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Hsueh-szu Yang
      Posted by Hsueh-szu Yang
      on Mar 31 2010 07:35 AM
      Prodigy205 points

      Thanks for the replying.

      How about rotation? Suppose we have one frame buffer but outputing to both LCD and TV. The one to LCD, it requires VRBF rotation; but the one to TV, it does not need rotation but scaling. Will that work in this DSS system?

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Mar 31 2010 12:51 PM
      Mastermind23450 points

      What is the actual resolution of the LCD you want to use?

      What orientation do you want the LCD to be configured in (portrait or landscape)?

      If rotation is enabled then it is possible to have different memory views of the frame buffer with different rotations, with one "window" being 0 rotation.

      BR,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Hsueh-szu Yang
      Posted by Hsueh-szu Yang
      on Mar 31 2010 13:00 PM
      Prodigy205 points

      We want to have the LCD display in landscape (640x480). There will be a 90 degree rotation. However, the TV output (720x480) does not need rotation.

      It looks like the video pipe supports scaling. Therefore, I am thinking to scale up from (640x480) to (720x480) if it is possible.

      Thanks,

      Alvin

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Mar 31 2010 13:05 PM
      Mastermind23450 points

      Alvin,

      Are you using the LCD on the EVM, which is actually a 480x640 LCD, or do you have a different LCD in mind?

      For the TV out I recommend not scaling up to 720 since most if not all TVs do what is called overscan. If you completely fill the 720x480 output then you will find that there is about 10% border on the TV which you can't actually see.

      If you truly do want to fill the 720x480 then yes, you can use a scaler on the video pipe to do this.

      BR,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Hsueh-szu Yang
      Posted by Hsueh-szu Yang
      on Mar 31 2010 13:44 PM
      Prodigy205 points

      Steve,

      Thanks for the advice. Currently, my tests are on OMAP3 EVM, but eventually, the LCD will be replaced by another one with QVGA resolution.

      So far, the output to the LCD seems correct. But still cannot get the right output on TV. Try to use the clone example as below. The first problem is, it only works on /dev/fb1, but not on /dev/fb0. The second one is about the rotation. Both outputs to LCD and to TV are rotated. We don't want the output to TV being rotated. I am not sure whether this is possible to so : one is roated, and the other one is not. Is it a hardware limitation or becuase of software? Appreciated for your information.

      Best regards,

      Alvin

       

      Clone GFX overlay to LCD and TV
      -------------------------------

      tvline=`cat /sys/devices/platform/omapfb/displays |grep tv`
      w=`echo $tvline | cut -d " " -f 5 | cut -d ":" -f 2 | cut -d "/" -f 1`
      h=`echo $tvline | cut -d " " -f 6 | cut -d ":" -f 2 | cut -d "/" -f 1`

      echo "1 t:none" > omapfb/framebuffers
      echo "0 t:gfx,vid1" > omapfb/framebuffers
      echo "gfx e:1" > omapfb/overlays
      echo "vid1 t:tv w:$w h:$h e:1" > omapfb/overlays
      echo "tv e:1" > omapfb/displays

      After this the configuration looks like (only relevant parts shown):

      FB0 +-- GFX  ---- LCD ---- LCD
           \- VID1 ---- TV  ---- TV

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steve Clynes
      Posted by Steve Clynes
      on Mar 31 2010 14:05 PM
      Mastermind23450 points

      Unfortunately I can't comment too much from the software side since I am more a hardware person.

      I do believe this is a software limitation though. The hardware should be able to do this.

      BR,

      Steve

      Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use