AnsweredAssumed Answered

iMX53 EC7 support for WVGA RGB666 display

Question asked by Bruno De Paoli on Feb 22, 2013
Latest reply on Mar 25, 2013 by martinthompson

Hi,

 

I am trying to add support for a WVGA RGB666 LCD 18bit display to an IMX53 EC7 based platform. I though I only had to change the following registry entry, where Bpp is set the the value appropriate to the actual display.

 

[HKEY_LOCAL_MACHINE\Drivers\Display\DDIPU]

   "Bpp"=dword:10                ; RGB565

   "VideoBpp"=dword:20           ; RGB666 (32bpp internal)

   "VideoMemSize"=dword:4000000  ; 64MB

 

Also I needed to add a new entry to the PANEL_INFO structure with the appropriate parameters.This did not work.

 

I originally thought that the system would use a consistent display format internally and only do the final transformation (to suit the actual display) at the IPU display controller. This would mean changes to suit the physical display are made in one place only. In digging deeper it looks like this is not the case since IDMAC channel 23 (the main plane primary flow) is configured for the display format in addition to the display controller.

 

Also it looks the the current Freescale BSP does not actually have support for 666 (18 bits per pixel) format, only 4, 8, 16 and 32.bpp.

In C:\WINCE700\platform\common\src\soc\COMMON_FSL_V3\IPUV3\DISPLAY\display.cpp I could add support for an 18 bit format but this may not be enough.

 

For example in a few places in C:\WINCE700\platform\common\src\soc\COMMON_FSL_V3\IPUV3\DDRAW\ddipu.cpp I see something like this

 

nBPP = m_pMode->Bpp/8 - 1;

switch (m_pMode->Bpp)

{

        case    8:

        case    16:

        case    24:

        case    32:

            m_pModeEx->ePixelFormat = ePixelFormat[nBPP];

 

where it looks like the assumption is that the bpp is a multiple of 8. nBPP is used as an index into an array and this only works if bpp is a multiple of 8. This is common Freescale code and this suggests a more fundamental problem with BSP support for 18 bit format.

 

Is my understanding of this correct? I'm sure the platform can support an18 bit format without having to make wholesale changes. Has anyone added a 666 display support to the IMX53 platform? If so what changes were required?

 

Thanks,

Bruno




Outcomes