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.

Finding the bits per pixel of Display controller(DISPC) in OMAPDM3730 core.

Other Parts Discussed in Thread: DM3730, SYSCONFIG

Hi All,

I am working on custom board(DM3730 ) which has Gingerbread (kernel-2.6.37) OS. On this board, at U-boot i want to have a custom splash screen with low resolution. Here i want to know what is the BPP(bits per pixel) of DISPC of display sub system. In the TRM of DM3730, it is given that BPP of DISPC are programmable, but i didn't get the exact register to program BPP of the DISPC.

BR,

Kishore 

  • Hi Kishore,

    The BPP is only one of the all parameters which must be set to have properly operating display. The graphics format DSS.DISPC_GFX_ATTRIBUTES[4:1] GFXFORMAT bit field determines BPP which can be either: BITMAP1, BITMAP2, BITMAP4, or BITMAP8 (CLUT) or RGB12, RGB16, or RGB24 (true-color formats).
    For more details refer to the DM37x TRM section 7.5.3.2 Graphics Layer Configuration.

    BR
    Tsvetolin Shulev
  • Hi Tsvetolin Shulev,

    I checked the DSS.DISPC_GFX_ATTRIBUTES register value at U-boot by the md.b 0x480504A0. The value is 0x0d i.e it is RGB16, i am able to change this BPP to BITMAP8 i.e i have writtened 0x06 value to the register. With this setting can i take the splash screen image with BITMAP8 or is there any set of register settings required to have BITMAP8 image to be displayed on the screen.

    BR,
    Kishore
  • Kishore,

    You should check the whole display configuration to be sure it is correct. In general the change of BPP should be enough but I'm not familiar with your configuration.

    BR
    Tsvetolin Shulev
  • Hi Tsvetolin Shulev,

    I have taken splash screen image with BPP8 format 300x300, changed the DSS.DISPC_GFX_ATTRIBUTES register to support the BPP8 images to display. But it is not working as expected, i can see 2 images(BPP8) images, some garbage data on the screen. Trying to figure out any other configuration changes required. All suggestions are accepted to solve this issue.

    BR,
    Kishore
  • Kishore,

    Could you attach a picture of the splash screen with garbage data? What is the resolution of the screen?
    Also I need to view the whole DSS configuration for searching the reason for the issue.

    BR
    Tsvetolin Shulev
  • Hi Tsvetolin Shulev,

    Screen resolution is 800x480. The value written into the DISPC_GFX_ATTRIBUTES is 0X7 not 0x6 as mentioned above. Whole DSS configuration means any set of registers?. I will try to figure the registers and post the register values. If you want any particular register values, please let me know.

    BR,
    Kishore
  • Hi Tsvetolin,

    The above image is 300x300 pixel, BPP8 format, SPLASH_SCREEN width,height are 300,300.Image is set by U-boot code omap3_fill_framebuffer(). DSS configuration at U-boot, kernel shown in the below table. At kernel BPP24 is used.

    U-boot Kernel
    DSS configs Physical Addr(reg size – 32bits) Value(MSB is start addr requested)Big-endian Little endian data(devmem2 tool)
    DISPC_GFX_SIZE 0x4805048c 63 00 2b 01 0x1DF031F
    DISPC_GFX_POSITION 0x48050488 5e 01 5a 00 0x0
    DISPC_GFX_ATTRIBUTES 0x480504a0 07 00 00 00 0x91
    DISPC_GFX_FIFO_THRESHOLD 0x480504a4 c0 00 fc 00 0x3C003FF
    DISPC_GFX_FIFO_SIZE_STATUS 0x480504a8 00 04 00 00 0x400
    DISPC_GFX_ROW_INC 0x480504ac 01 00 00 00 0x1
    DISPC_GFX_PIXEL_INC 0x480504b0 01 00 00 00 0x1
    DISPC_GFX_WINDOW_SKIP 0x480504b4 00 00 00 00 0x0
    DISPC_GFX_TABLE_BA 0x480504b8 00 f0 7f 80 0x0
    DISPC_SYSCONFIG 0x48050410 01 00 00 00 0x2015
    DISPC_SYSSTATUS 0x48050414 01 00 00 00 0x1
    DISPC_CONTROL 0x48050440 0b 83 01 00 0x18309
    DISPC_CONFIG 0x48050444 04 00 00 00 0x204
    DISPC_DEFAULT_COLOR0 0x4805044c ff ff ff 00 0x0
    DISPC_DEFAULT_COLOR1 0x48050450 00 00 00 00 0x0
    DISPC_TRANS_COLOR0 0x48050454 00 00 00 00 0x0
    DISPC_TRANS_COLOR1 0x48050458 00 00 00 00 0x0
    DISPC_TIMING_H 0x48050464 2f 27 70 02 0x270272F
    DISPC_TIMING_V 0x48050468 03 0d d0 01 0x1D00D03
    DISPC_POL_FREQ 0x4805046c 28 30 03 00 0x33028
    DISPC_DIVISOR 0x48050470 02 00 01 00 0x10002
    DISPC_SIZE_DIG 0x48050478 00 00 00 00 0x0
    DISPC_SIZE_LCD 0x4805047c 1f 03 df 01 0x1DF031F

    BR,

    Kishore

  • Kishore,
    I'm wondering why the DISPC_GFX_SIZE value in the u-boot is 63 00 2b 01 (99 x 299) when the picture is 300x300 I expect the value should be 2b 01 2b 01 (299 x 299).
    Also could you try to display the splash screen with changed GFXFORMAT field to 0x2: BITMAP 4 and 0x6: RGB 16 and I would like to see the splash screen if it is displayed.

    BR
    Tsvetolin Shulev

  • Hi Tsvetolin Shulev,

    It is my fault, that i took DISPC values at splash screen sizes 100x300. Now i am updating DISPC configuration at splash screen size 300x300, image 300x300 BPP8.

    U-boot Kernel
    DSS configs Physical Addr(reg size – 32bits) Value(MSB is start addr requested)Big-endian Little endian data(devmem2 tool)
    DISPC_GFX_SIZE 0x4805048c 2b 01 2b 01 0x1DF031F
    DISPC_GFX_POSITION 0x48050488 fa 00 5a 00 0x0
    DISPC_GFX_ATTRIBUTES 0x480504a0 07 00 00 00 0x91
    DISPC_GFX_FIFO_THRESHOLD 0x480504a4 c0 00 fc 00 0x3C003FF
    DISPC_GFX_FIFO_SIZE_STATUS 0x480504a8 00 04 00 00 0x400
    DISPC_GFX_ROW_INC 0x480504ac 01 00 00 00 0x1
    DISPC_GFX_PIXEL_INC 0x480504b0 01 00 00 00 0x1
    DISPC_GFX_WINDOW_SKIP 0x480504b4 00 00 00 00 0x0
    DISPC_GFX_TABLE_BA 0x480504b8 00 f0 7f 80 0x0
    DISPC_SYSCONFIG 0x48050410 01 00 00 00 0x2015
    DISPC_SYSSTATUS 0x48050414 01 00 00 00 0x1
    DISPC_CONTROL 0x48050440 0b 83 01 00 0x18309
    DISPC_CONFIG 0x48050444 04 00 00 00 0x204
    DISPC_DEFAULT_COLOR0 0x4805044c ff ff ff 00 0x0
    DISPC_DEFAULT_COLOR1 0x48050450 00 00 00 00 0x0
    DISPC_TRANS_COLOR0 0x48050454 00 00 00 00 0x0
    DISPC_TRANS_COLOR1 0x48050458 00 00 00 00 0x0
    DISPC_TIMING_H 0x48050464 2f 27 70 02 0x270272F
    DISPC_TIMING_V 0x48050468 03 0d d0 01 0x1D00D03
    DISPC_POL_FREQ 0x4805046c 28 30 03 00 0x33028
    DISPC_DIVISOR 0x48050470 02 00 01 00 0x10002
    DISPC_SIZE_DIG 0x48050478 00 00 00 00 0x0
    DISPC_SIZE_LCD 0x4805047c 1f 03 df 01 0x1DF031F

    Below images are captured at Splash screen size : 300x300, BPP8 image data format:

    At GFX_FORMAT : 0x2 BITMAP4 (0x05 is written into the DISPC_GFX_ATTRIBUTES)

    At GFX_FORMAT : 0x6 RGB16(0x0d is written into the DISPC_GFX_ATTRIBUTES)

    At GFX_FORMAT : 0x3 BITMAP8(0x07 is written into the DISPC_GFX_ATTRIBUTES)

    BR,

    Kishore

  • Kishore,

    I'm little bit confused because I could not find nothing incorrect with configuration. I only guess there is something incorrect with picture or  with splash screen implementation.

    Could you attach the splash screen image file.

    BR

    Tsvetolin Shulev

  • Hi Hi Tsvetolin Shulev,

    I took one 300x300 png file, converted to the 300x300 BPP8 format by using GIMP tool.

    I have followed the link : variwiki.com/index.php to create the splash screen data.
    (reference 2.2 Custom Image Mode)
  • Above image is : 300X300 png file.

    Above image is : 300x300 BPP8 

  • Hi Tsvetolin Shulev,

    Do we need to change the DISPC_TIMING_H, DISPC_TIMING_V values, because these values does not changed from U-boot(RGB16) to Kernel(RGB24) ?

    BR,

    Kishore

  • Hi Hi Tsvetolin Shulev,

    I took one 300x300 png file, converted to the 300x300 BPP8 format by using GIMP tool.

    I have followed the link : variwiki.com/index.php to create the splash screen data.

    (reference 2.2 Custom Image Mode)

    Below android image is used.