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.

omap-l138 LCDC-LIDD mode

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

The LCDC OMAP-L138 to try to operate using the TFT-LCD.

TFT LCD
: LCD Controller ILI9320
: 16bit parallel interface
: Color 65536
: 320 x 240 resolution

LCD Controller-ILI9320 is the 8080 Family Type.

In LCDC mode tries to use LIDD mode.

Startware LIDD Example uses only the Character LCD

Using LIDD 16bit parallel interface TFT-LCD using the example of this?

Or please let me how to initialize.

Thank you.

  • Hi Kim,

    In my understanding,

    LCD Controller-ILI9320 is the 8080 Family Type.


    For TFT LCD, they have 2 interfaces,

    One interface for initialize the LCD controller through SPI interface and another one for data through RGB interface.

    The LCD vendor will provide initialization code for the LCD controller (ILI9320)

    You need to implement that vendor initialization code (SPI interface) in starterware or linux style to enable LCD display OMAPL138.

  • Hi Kim Jung,

    Thanks for your post.

    Basically, LCDC controller when configured in LIDD mode typically used to interface Character LCD displays for text ASCII character/message displays. LIDD mode shall be configured as MPU interface (parallel or serial) to Motorola 6800/8080 family and Hitachi 44780 family. You shall check out the supported LCD display & interface types in Table 3 (page no. 14) for the LIDD to drive using LIDD_MODE_SEL field thru. LCD LIDD control register which defines the function of LCD external pins. Please refer Table 14 in the Omapl13x LCDC user guide as below:

    http://www.ti.com/lit/ug/sprufm0b/sprufm0b.pdf (Refer Sections 2.4 & 3.4, page no.  14 & 30)

    LCDC controller, which when configured in Raster mode, can interface to a TFT LCD/Display and can be used to display static images with the help of a graphics libray. Only one mode (either Raster mode/LIDD mode) would be active at a time in LCDC controller.

    Refer Section 2.5, Table 4 for the supported operating modes for raster controller & Section 3.8, Table 18 for LCD raster control register fields from the above LCDC user guide.

    http://processors.wiki.ti.com/index.php/OMAP-L1x/C674x/AM1x_LCD_Controller_(LCDC)_Throughput_and_Optimization_Techniques#LCDC_Overview

    So, RasterModeConfig() API is used to configure tft or stn,color or monochrome etc for raster controller in raster mode. Please refer the below source file for raster display configuration to interface TFT-LCD:

    ~\OMAPL138_StarterWare_1_10_03_03\examples\evmOMAPL138\raster\rasterDisplay.c

    Please refer the programming sequence for the raster controller as below:

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

    Thanks & regards,
    Sivaraj K

    -------------------------------------------------------------------------------------------------------
    Please click the Verify Answer button on this post if it answers your question.
    -------------------------------------------------------------------------------------------------------
  • Answer Thank you.

    I want to ask it be

    TFT-LCD Module for Data were attached .

    LIDD Mode TFT-LCD Module for this available?

    I have to be a program using CCSv4.

    And , TFT-LCD Module Source Program in
    ================================================== ==
    void LCD_WriteIndex (unsigned short index)
    {
    Clr_Rs; / * RS low * /
    Set_nRd; / * RD high * /

            / * Write data * /
    GPIOE-> ODR = index; / * GPIO_Write (GPIOE, index); * /

    Clr_nWr; / * Wr low * /
    Set_nWr; / * Wr high * /
    }

    void LCD_WriteData (unsigned short data)
    {
    Set_Rs; / * RS high * /

            / * Write data * /
    GPIOE-> ODR = data; / * GPIO_Write (GPIOE, data); * /

    Clr_nWr; / * Wr low * /
    Set_nWr; / * Wr high * /
    }

    void LCD_WriteReg (unsigned short LCD_Reg, unsigned short LCD_RegValue)
    {
    Clr_Cs; / * Cs low * /

            / * Selected LCD register * /
    LCD_WriteIndex (LCD_Reg);
          
    / * Write register data * /
    LCD_WriteData (LCD_RegValue);
      
    Set_Cs; / * Cs high * /
    }
    ================================================== =================

    Instead, use the omap-l138 LIDD follows the same?

    void LCD_WriteReg (unsigned short LCD_Reg, unsigned short LCD_RegValue)
    {
          LCD_LIDD_CS0_ADDR = LCD_Reg;
    LCD_LIDD_CS0_DATA = LCD_RegValue;
    }