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.

BeagleBoard-xM Wince6.0 Display Driver Modification Issues

Other Parts Discussed in Thread: DM3730

Hi,

I want to have a better color showing in the LCD monitor (DVI enabled.), So I added  24 bits Pixel Format support for the BeagleBoard-xM.

I add code below in the lcd_res_params in Lcd_vga.c

{ /* OMAP_DVI_800W_600H_24B */
DISPC_PIXELFORMAT_RGB24, //pixelFmt;
800, //width;
600, //height;
63, //hsw;
39, //hfp;
(87 + 127 - 63), //hbp;
3, //vsw;
1, //vfp;
23, //vbp;
1, //logClkDiv;
2, //pixelClkDiv;
(11 << 0), //dss1ClkSel; DPLL4/5
0, //loadMode;
DISPC_POL_FREQ_ONOFF, //polFreq;
0x00000000, //lcdDefaultColor;
0x00000000, //lcdTransColor;
0x00000000, //tvDefaultColor;
0x00000000, //tvTransColor;
},

 

2. I modified Omap_ddgpe.cpp

in PixelFormatToBpp

I added

case OMAP_DSS_PIXELFORMAT_RGB24:
// 3 bytes per pixel
dwResult = 24;
break;

in PixelFormatToGPEFormat

I added

case OMAP_DSS_PIXELFORMAT_RGB24:
eResult = gpe24Bpp;
break;

in  PixelFormatToDDGPEFormat

I added

case OMAP_DSS_PIXELFORMAT_RGB24:
eResult = ddgpePixelFormat_8880;
break;

in PixelFormatToBitMask

I added

case OMAP_DSS_PIXELFORMAT_RGB24:
*pAlphaBitMask = 0x000000;
*pRBitMask = 0xfc0000;
*pGBitMask = 0x00fc00;
*pBBitMask = 0x0000fc;
bResult = TRUE;
break;

3. I configured

(0x4805 0440) DISPC_CONTROL : TFTDATALINES 24-bit output

(0x4805 04a0) DISPC_GFX_ATTRIBUTES : GFXFORMAT  RGB24

 

 Here the result is that My screen is full of RED color.

I feel puzzled for a long time, Can you point me a way ?

Any help will be appreciated here.

 

BRs,

Geforce

  • Were you able to make progress on this issue? Unfortunately we don't have 24bit color tested or documented (with WinCE).  

  • Dear Jatin,

     

    Thks for your reply.

    I choose 32bit color at last.  I only modify pixelFmt to be   DISPC_PIXELFORMAT_RGB32 from  DISPC_PIXELFORMAT_RGB16 (as below).

    I works fine.

     

     { /* OMAP_DVI_800W_600H */
      DISPC_PIXELFORMAT_RGB32, //pixelFmt;
    800, //width;
    600, //height;
    63, //hsw;
    39, //hfp;
    (87+127-63), //hbp;
    3, //vsw;
    1, //vfp;
    23, //vbp;
    1, //logClkDiv;
    2, //pixelClkDiv;
    (11 << 0), //dss1ClkSel;
    0, //loadMode;
    DISPC_POL_FREQ_ONOFF, //polFreq;
    0x00000000, //lcdDefaultColor;
    0x00000000, //lcdTransColor;
    0x00000000, //tvDefaultColor;
    0x00000000, //tvTransColor;
    },

     

    However, as I get the info about Display Subsystem from DM3730 reference manual, 24bpp should be OK too.

    the Display controller can support 24bpp mode,

    RFBI -- Data formats 24bpp mode in RGB format is also supported,

     It looks a little difficult for a green hand to dip into the code and do a lot of modifications

     

     Geforce

     

  • Good to know that selecting 32bit works. The DSS may have support for many modes. But as i said only 16 bit mode has been officially tested (with the WinCE display driver).