Debian Wheezy LCDC without HDMI Framer

Hi All,

After developing programs using Starterware I’m now trying to develop Linux applications (VisualGDB). I have no experience with Linux development, but I’m quite fluid with C/C++.

The first problem is that nothing appears on my LCD display, connected directly to the P8/P9 connectors (This works fine under Starterware).
So my question is where can I configure Debian Wheezy to use the LCDC peripheral without using the HDMI-Framer to get timing and/or screen settings?

This is my configuration of the LCDC peripheral under bare metal C/C++:

`
NHD_70_800480EF_ATXV_CPT::NHD_70_800480EF_ATXV_CPT()
: Display(LCD_WIDTH, LCD_HEIGHT)
, m_pLCDC(LCDC::getInstance())
, m_pEDMA(EDMA::getInstance())
{
m_pEDMA->Init(0);
m_pLCDC->ModuleClkConfig();

m_pLCDC->PinMuxSetup();

m_pLCDC->ClocksEnable();

m_pLCDC->Disable();

m_pLCDC->ClkConfig(30000000, 192000000);

m_pLCDC->DMAConfig(RASTER_SINGLE_FRAME_BUFFER,
// m_pLCDC->DMAConfig(RASTER_DOUBLE_FRAME_BUFFER,
RASTER_BURST_SIZE_16, RASTER_FIFO_THRESHOLD_8,
RASTER_BIG_ENDIAN_DISABLE);

m_pLCDC->ModeConfig(RASTER_DISPLAY_MODE_TFT_UNPACKED,
RASTER_PALETTE_DATA, RASTER_COLOR, RASTER_RIGHT_ALIGNED);

m_pLCDC->Timing2Configure(RASTER_FRAME_CLOCK_LOW |
RASTER_LINE_CLOCK_LOW |
RASTER_PIXEL_CLOCK_HIGH |
RASTER_SYNC_EDGE_RISING|
RASTER_SYNC_CTRL_INACTIVE|
RASTER_AC_BIAS_HIGH , 0, 255);

m_pLCDC->HparamConfig(LCD_WIDTH, 48, 40, 88);
m_pLCDC->VparamConfig(LCD_HEIGHT, 3, 13, 32);

m_pLCDC->FIFODMADelayConfig(128);

(uint32_t)&(m_pixBuf[0].Palette_0) = 0x00004000;
memset(m_pixBuf[0].Unused, 0x00, 28);

(uint32_t)&(m_pixBuf[1].Palette_0) = 0x00004000;
memset(m_pixBuf[1].Unused, 0x00, 28);

m_pLCDC->DMAFBConfig((uint32_t)&(m_pixBuf[0]), ((uint32_t)&(m_pixBuf[0])) + (m_Width * m_Height * 4), 0);
// m_pLCDC->DMAFBConfig((uint32_t)&(m_pixBuf[1]), ((uint32_t)&(m_pixBuf[1])) + (m_Width * m_Height * 4), 1);

spDisplay = this;

INTC* pIntc = INTC::getInstance();
pIntc->Register(SYS_INT_LCDCINT, NHD_Isr);
pIntc->PrioritySet(SYS_INT_LCDCINT, 0, AINTC_HOSTINT_ROUTE_IRQ);
pIntc->SystemEnable(SYS_INT_LCDCINT);

m_pLCDC->IntEnable(RASTER_END_OF_FRAME0_INT);
m_pLCDC->Enable();

ClrScreen();
}
`

I ‘think’ that te most important settings are:

  • Timing
  • HParams
  • VParams

Any suggestions are welcome,

Paul