[LPC1788] LCD_DCLK signal is not present

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[LPC1788] LCD_DCLK signal is not present

491 Views
arturmiller
Contributor II

Hi,

I'm struggling with getting the LCD controller working in LPC1788. The init code will follow at the end. I'm using LPCOpen libs.

I'm using a board which I designed by myself, it's pretty simple, with LPC1788 and 16Mbit SRAM. 

And LCD connector for 24 bit TFT display.

I'm getting the VSYNC, HSYNC and DE signals correctly, but the DCLK pin is stuck at 2V DC with nothing much happening on it. 

The checks I've done so far are:

- configure the LCD_DCLK pin as plain GPIO and setting it to 0 and 1 - checked with oscilloscope. Found. OK, no short-circuits. 
- verified all pin mux settings for DCLK pin. 

P2-2.gif

- verified LCD_POL register for any nonsense... 

POL.gif

cannot see anythong wrong. 

Here is the code:

LCD_CONFIG_T lcd_config =
{
24, /*!< Horizontal back porch in clocks */
14, /*!< Horizontal front porch in clocks */
16, /*!< HSYNC pulse width in clocks */
480, /*!< Pixels per line */
2, /*!< Vertical back porch in clocks */
4, /*!< Vertical front porch in clocks */
2, /*!< VSYNC pulse width in clocks */
800, /*!< Lines per panel */
0, /*!< Invert output enable, 1 = invert */
0, /*!< Invert panel clock, 1 = invert */
0, /*!< Invert HSYNC, 1 = invert */
1, /*!< Invert VSYNC, 1 = invert */
0, /*!< AC bias frequency in clocks (not used) */
24, /*!< Maximum bits per pixel the display supports */
LCD_TFT, /*!< LCD panel type */
LCD_COLOR_FORMAT_RGB, /*!<BGR or RGB */
0 /*!< Dual panel, 1 = dual panel display */
};

Chip_LCD_Init(LPC_LCD, &lcd_config);

LPC_LCD->INTCLR = LCD_INTCLR_FUFIC | LCD_INTCLR_LNBUIC | LCD_INTCLR_VCOMPIC | LCD_INTCLR_BERIC;
LPC_LCD->UPBASE = 0x80000000;
LPC_LCD->LPBASE = 0x80000000;

LPC_LCD->CTRL |= CLCDC_LCDCTRL_ENABLE;
delayMs(100);
LPC_LCD->CTRL |= CLCDC_LCDCTRL_PWR;

What am I missing?

Labels (1)
Tags (1)
0 Kudos
1 Reply

416 Views
arturmiller
Contributor II

I've spotted a mistake in the line:

24, /*!< Maximum bits per pixel the display supports */

as the value goes directly to the CTL reg, it should actually be 0x05. But the fix did not help to get the DCLK .

0 Kudos