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.

[OMAP3530] Display Subsystem - Switching Between DVI/LCD and TV Displays

Other Parts Discussed in Thread: OMAP3530

I have a customer running Android-ICS on an OMAP3530 and is having trouble switching from the LCD to the TV output.  They are using the Busybox's fbset function to modify the frame buffer.  We are trying to make this work for two displays. The native resolutions for the panels are 800x480for the 7" and 1024x600 for the 10".

ICS commands used to switch the video output at runtime:
# echo 0 > /sys/devices/platform/omapdss/overlay0/enabled
# echo "" > /sys/devices/platform/omapdss/overlay0/manager
# echo 0 > /sys/devices/platform/omapdss/display0/enabled
# busybox fbset -fb /dev/graphics/fb0 -xres 720 -yres 576 -vxres 720 -vyres 576
mode "720x576-44"
        # D: 19.200 MHz, H: 25.566 kHz, V: 44.156 Hz
        geometry 720 576 480 1280 16
        timings 52083 1 28 1 1 2 1
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode
# echo "tv" > /sys/devices/platform/omapdss/overlay0/manager
# echo 1 > /sys/devices/platform/omapdss/display1/enabled
# echo 1 > /sys/devices/platform/omapdss/overlay0/enabled
 
Boot command for used to boot to LCD Display:
console=ttyS2,115200n8 androidboot.console=ttyS2 omap_vout.vid1_static_vrfb_alloc=y omap_vout.vid2_static_vrfb_alloc=y mpurate=600 mem=88M@0x80000000 mem=128M@0x88000000 root=ubi0:rootfs rootfstype=ubifs ubi.mtd=4 ubi.mtd=5 init=/init
 
OMAP3530 ICS Build:
BusyBox Project
OMAP3530 Display Driver Guide:
Display Driver SYSFS Examples
Display Subsystem:
  • I’ve made some progress using Mistral’s OMAP3530 EVM and the Android Gingerbread 2.3.4 release. I’m able to switch from the LCD to the TV output, I’ve listed the steps for doing so below. It is key that the TV timings and the frame buffer resolution match or no image will be displayed.  You will also have to determine if your display is NTSC or PAL.  Also, by default the OMAP3530 TV video output will be displayed via S-video, NOT composite. You will most likely have to change your resolutions and timing to match your displays.
     
    Steps for Switching from LCD to TV(NTSC) Display:
    1. Disable the Graphics Overlay à You will see your graphics disappear
    echo 0 > /sys/devices/platform/omapdss/overlay0/enabled
    2. Disable LCD Interface à You will see the LCD screen turn black
    echo 0 > /sys/devices/platform/omapdss/display0/enabled
    3. Modify your TV timing settings à The timings used are for an NTSC display that is 482x720.  The resolution and timings will be specific to your display
    echo "13500,720/16/58/64,482/6/31/6" > /sys/devices/platform/omapdss/display1/timings
    4. Modify the graphics framebuffer resolution à The frame buffer must be the SAME resolution as your display, in this case it is 482x720
    busybox fbset -fb /dev/graphics/fb0 -xres 720 -yres 482 -vxres 720 -vyres 482
    5. Modify the manager to route the framebuffer the Tv display à This will send the graphics buffer to the TV display
    echo "tv" > /sys/devices/platform/omapdss/overlay0/manager
    6. Enable the TV Display à This will result in the TV receiving signal and it should turn black
    echo 1 > /sys/devices/platform/omapdss/display1/enabled
    7. Enable the Graphic Overlay à This will result in graphics appearing on the screen!
    echo 1 > /sys/devices/platform/omapdss/overlay0/enabled
     
    Modify NTSC/PAL Timings:
    NTSC: echo "13500,720/16/58/64,482/6/31/6" > /sys/devices/platform/omapdss/display1/timings
    PAL: echo "13500,720/12/68/64,574/5/41/5" > /sys/devices/platform/omapdss/display1/timings
  • Switching between the S-Video and Composite Video on the Mistral OMAP3530 EVM is subtly documented in the Display Subsystem User's Guide.  So much so that i thought it be pertinent to make a note on this thread.

    The default TV out interface is  S-Video NOT Composite Video.

    To select between S-Video and Composite on the EVM OMAP3EVM-1 (< Rev-E) SW1.6 is used.  This DIP switch is located on the OMAP3530 daughter card.
    ON :- S-Video
    OFF :- Composite

     
     
    Mistral OMAP3530 EVM:
    Display Subsystem User's Guide: