NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

OMAP-L1x VGA

From Texas Instruments Wiki
Jump to: navigation, search

VGA Adapters for OMAP-L137 EVM[edit]

LCD to DVI[edit]

As the OMAP-L137 EVM exposes the parallel LCD interface using an expansion connector a small interface board was required to convert the signals. Using a TFP410 DVI Transmitter it is quite easy to generate a DVI or HDMI suitable video interface. In our case we selected an HDMI connector. We can now connect LCD screens using HDMI to DVI cables or TVs with HDMI interface. Of course we can not transmit any audio data.

The adaptor is no available from Digkey (article nr. 906-1000-ND). Please see their web site for details.

LCD Panel Adapter[edit]

A second adapter was developed to connect an AUO 10.4 Inch Color TFT-LCD. The adapter does not contain any active logic. It just provides connectors that match the cabling required for the panel. It also has a supply connector and a variable resistor to control backlight intensity of the panel. As such an adapter has to be customized for the panel in use anyway we will not publish any schematics here.

Modifications for LCD driver to support VGA mode[edit]

Board setup changes[edit]

In order to provide enough memory I/O bandwidth for the LCD controller a modification to the bus master priorities was required. The default is a very low priority for the LCDC as in many systems without a display it might not be used at all. With VGA mode however it is required to set LCDC priority to 0 (highest). In addition the EDMA3 priority was decreased. The LCD interrupt priority was raised slightly too.

Changes are in the file <kernel_tree>/arch/arm/mach-da8xx/board-evm.c and function da8xx_evm_lcdc_init() and array da8xx_evm_default_priorities[].

Obviously such system optimizations might be adapted and tweaked for a specific application if additional critical timings come into play.

The changes in the above files are supported by additional register #define in <kernel_tree>/include/asm-arm/arch-davinci/hardware.h.

LCD driver mod[edit]

The LCD driver in <kernel_tree>/drivers/video/da8xx/ was extended to support multiple configurations. See the supplied ZIP including the driver sources and the Kconfig file for the Linux driver/video tree. The driver is configured using 'make menuconfig' and selecting appropriate options for the graphics drivers. The PSP default configuration does not build the display driver at all. A 'diff' file for a .config including the display driver versus the PSP default is attached.

Separate header files are available for each of the three configurations implemented:

Device Header file Resolution
QVGA Panel sharp_color.h 320x240
AUO VGA Panel auo_tftlcd.h 640x480 @ 52Hz
Generic VGA-DVI dvi_vga.h 640x480 @ 60Hz

Individual display timings are configured using definitions and structure setup appropriately. These may serve as examples for other panels and modes.

Modified driver sources (only valid for MontaVista based kernel)

Disclaimer: as this modified driver is not part of the PSP so far it is not fully system tested. Use at your own risk.

Application changes[edit]

In some applications using the frame buffer driver it was found that the display did not get updated as expected. It turned out that the frame buffer address returned from a mmap() function did not start with the pixel data. However it had the start of the palette buffer that is allocated by the driver in front of the pixel data. So programs were writing into the palette area causing wrong colors or blinking display. As a workaround we modified the return buffer by adding 32 bytes of palette offset before writing to the frame buffer. This was required for frame buffer test programs downloaded from the web as well as QT(tm) Embedded. The issue could not be observed with the XServer binaries that come with the MontaVista filesystem of the OMAP-L1 SDK/PSP.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP-L1x VGA here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP-L1x VGA here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article OMAP-L1x VGA here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article OMAP-L1x VGA here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article OMAP-L1x VGA here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP-L1x VGA here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP-L1x VGA here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article OMAP-L1x VGA here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article OMAP-L1x VGA here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity