Framebuffer

  • Hello, i bother again:
    i'm using board 074E7A with the ttl expansion board 074624 (for TTL driving of displays).
    Our configuration will be:
    -7" LCD on TTL
    -15" LCD on LVDS
    Displays are never used together, one or another.
    What i would like is to get the chosen display output on the HDMI port, by now i was only able to get the penguin kernel logo on both displays.
    Could you kindly suggest framebuffers id to use on u-boot and xorg? Or if you have also a guide for understanding the output path it will be great.
    At the moment i am able to drive separately lcd or hdmi, so i think hardware is working properly i have only a lack on how are working framebuffers on this hardware.


    Best Regards
    Miroglio Paolo

  • Unfortunately the standard Freescale display driver as implemented on the armStoneA9 is not very flexible at the moment. Changing the default resolution or enabling or disabling a framebuffer device always requires recompiling the kernel. All these settings are done in file arch/arm/mach-mx6/board-mx6q_armstonea9.c. Here you'll find an array armstonea9_fb_data[] that holds the settings for the active displays. Each entry adds two framebuffers, one for the main window and one for an overlay window. In the default configuration you have three displays activated:


    1. HDMI on fb0+1
    2. LVDS on fb2+3
    3. TTL-RGB on fb4+5


    Each of these settings has its own mode_str, where you can define a predefined entry or a standard resolution mode line. The display drivers are located in drivers/video/mxc*. Here you'll find the predefined displays, but again not at a single place, but spread over different files, depending on the driver:


    1. For HDMI: drivers/video/mxc_hdmi.c
    2. For LVDS: drivers/video/mxc/ldb.c
    3. For TTL-RGB: drivers/video/mxc/mxc_lcdif.c


    I'm not quite sure if it is possible to have a cloned screen on HDMI. On one hand HDMI often only supports some restricted resolutions that are available on TVs, like some VESA modes. So the display resolution in question may or may not be possible on HDMI. On the other hand I'm not sure whether it is possible to have the same framebuffer used for two different display devices.


    At the moment there is also no support for the display in U-Boot.


    This will all change in the future. We have plans to improve the display selection considerably and also want to have support for the display in U-Boot, e.g. to show a boot screen. However this will still take some time to implement, so it will not be available before 2014.


    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.

  • Thank you for the reply.
    I renounced to use HDMI together with other displays, i have another problem now:
    -In these days i was working properly only with HDMI or only with 7". no changes on kernel framebuffer config was made.
    I have a 7" and 15", i start resolving 7" problem:
    7" was working fine until i tried to follow your explanation, so maybe i'm still missing something, so i checked:
    It is a ET070080DH6, if i checked on the default configuration of board-mx6q_armstonea9.c.
    structure is::
    { /* fb4 */
    .disp_dev = "lcd",
    .interface_pix_fmt = IPU_PIX_FMT_RGB666,
    .mode_str = "LCD-ET070080",
    .default_bpp = 32,
    .int_clk = true,
    .late_init = false,
    },
    everything looks fine from here, problem is on the mode_str LCD-ET070080, it is not available on drivers/video/mxc/mxcfb_modedb.c as you said but in the mxc_lcdif.c file.
    So i'm wondering if i have to use the lcdif driver, as with this configuration 7" is not working properly!


    Regards
    Paolo

  • Yes, you are right. It is the file mxc_lcdif.c where the predefined display configurations for the RGB interface are stored. I have corrected this in my previous posting to avoid that other people are misguided. Sorry for this mistake.


    By the way, the display configurations that are given in arch/arm/mach-mx6/board-mx6q_armstonea9.c are only the default values. You can also give a different setting on the command line (e.g. by setting bootargs in U-Boot). For example to set HDMI to a Full-HD display, you can add the following string to the command line:


    Code
    1. video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24


    This adds some flexibility to select one of a set of predefined displays without having to recompile the kernel. Instead of a predefined mode you can also give a standard mode line, which is <xres>x<yres>[M][R][-<bpp>]@<fps>.


    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.