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.
- verified LCD_POL register for any nonsense...
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 */
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;
LPC_LCD->CTRL |= CLCDC_LCDCTRL_PWR;
What am I missing?