Framebuffer behaviour in fsimx6-V2.1

  • Dear Support-Team,


    first a Happy New Year to all of you. I'm trying to get release 2.1 working as 2.0 step by step. There are two things working very different in the two releases. One is an USB issue I will explain later after some more testing. The other thing is related to the framebuffer.


    In release 2.0 my 15" display is running on LVDS with following settings:


    extra video=mxcfb0:dev=lcd,LCD-G150XG01,if=RGB32


    LCD-G150XG01 is defined in ldb.c:


    Code
    1. {
    2. "LCD-G150XG01", 60, 1024, 768, 15385, /* Auflösung, 15384 = 1000000 /65 MHz -- 60 Hz = 65 MHz / (1344*806) */
    3. 150, 150, /* 150 left + 150 right + 20 hsync = 320 + 1024 = 1344 (Datenblatt) */
    4. 14, 21, /* 14 oben + 21 unten + 3 vsync = 38 + 768 = 806 (Datenblatt) */
    5. 20, 3,
    6. 0,
    7. FB_VMODE_NONINTERLACED,
    8. FB_MODE_IS_CALCULATED,
    9. },


    In the new release it's not possible to get video memory because the bpp is set to 16 (cat /sys/class/graphics/fb0/bits_per_pixel).
    After I set the bpp to 32 manually (echo 32 > /sys/class/graphics/fb0/bits_per_pixel) it's working but with false colors (BGR instead of RGB).
    If I set the extra parameter to if=RGB888 it's exactly the same. If I set the extra parameter to if=RGB24 there are 16 bits also but the colors are OK after setting bits to 32.


    EDIT: Also there seem to lack the higher bits of the colors because the screen is very dark (brightness is set to 255). Maybe it's using 6 instead of 8 bits per color only ?


    Thanks for any help.

  • In release 2.0 my 15" display is running on LVDS with following settings:


    extra video=mxcfb0:dev=lcd,LCD-G150XG01,if=RGB32


    If this worked, then this was a coincidence. The line is basically wrong. The LVDS display must be declared using dev=ldb. The dev=lcd is the RGB-LCD interface. So it most probably worked because you made a mistake when defining the video line (i guess you always had some errors in the boot messages) and then the LVDS settings were used partly from LVDS (with the BGR mode) and partly from the LCD setting.


    On efusA9, LVDS actually needs a swapped colour setting. So you will need BGR666 as mode, no RGB mode will work correctly. I think the following setting should work:


    extra video=mxcfb0:dev=ldb,LCD-G150XG01,bpp=32,if=BGR666


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Thanks it's working now with some changes. The dev=lcd was a misstyping in the message board only. Adding bpp=32 did it.


    extra video=mxcfb0:dev=ldb,LCD-G150XG01,bpp=32,if=RGB24


    When using RGB666 the colors are in correct order but only 6 bits will be used and the image is very dark because the high color bits are missing.

  • OK, thanks for the feedback. Yes, I was wrong. Not the LVDS port is swapped, it is the parallel RGB port that needs BGR666. Sorry for the misinformation above. LVDS can use regular RGB values, i.e. RGB666 for 18 bit LVDS or RGB24 for 24 bit LVDS.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Dear RSchubert,


    how did you set the brightness to a value of 255?
    Is there an ioctl()?


    I use the display from
    https://www.fs-net.de/de/produ…ts/tft-kapazitiver-touch/
    which is an CHI MEI TFT-LCD G070Y2-L01 supporting both 6 or 8 bits/color.
    Pin 4 of the iMX6 LVDS connector sets it fixed to 6 bit.
    The instruction
    # setenv extra video=mxcfb0:dev=ldb,LDB-WVGA,if=RGB666
    sets the display properly to work(colors are correct). Everything is visible. However, it could be brighter!
    The signals to control "on/off" and "Backlight PWM" are on Pin 24 and 25, respectively. How do I access them?

  • The backlicht brightness can be set in /sys/class/backlight/...


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.