Colibri iMX7 LCD Display


I’ve been using a Colibri iMX6 with a 480x272 LCD display for my projects. The display is connected to the Generic RGB Display connector on my Colibri Eval V3.2B and the display is configured perfectly.

I got the new iMX7 this week and I have been playing with it, but I can’t get the display working. The display turns on, but shows no output (just a white screen). The framebuffer settings are the same as on my iMX6.

Do I have to configure it differently for the iMX7?

What exact software versions of things are you talking about?

The software versions:

Colibri_iMX6_LinuxImageV2.4_20150518 (Angstrom v2014.12 - Kernel 3.10.17)

Colibri_iMX7_LinuxImageV2.6_20160630 (Angstrom v2015.12 - Kernel 4.1.15-v2.6b2+g0ff849d)

Can you post the display timing settings you are using? Also, is the kernel log file showing something (error or similar)?

It is hard to say what exactly is the issue, what I would first check if there is any signal at all (e.g. pixel clock, and frequency of it), then maybe checking signal polarities (e.g. DE signal or pixel clock polarity).

I’ve set the following vidargs on both modules:

setenv vidargs video=mxcfb0:dev=lcd,480x272,if=RGB888,bpp=32

On the iMX6:

Kernel output:
    [    0.300035] mxc_sdc_fb fb.20: register mxc display driver lcd
    [    0.302278] mxc_sdc_fb fb.20: 480x272 h_sync,r,l: 41,2,2  v_sync,l,u: 10,2,2 pixclock=9000000 Hz
    [    0.354199] mxc_sdc_fb fb.20: 480x272 h_sync,r,l: 41,2,2  v_sync,l,u: 10,2,2 pixclock=9000000 Hz
    [    0.373199] Console: switching to colour frame buffer device 60x34
    [    0.408605] mxc_sdc_fb fb.21: register mxc display driver hdmi
    [    0.408663] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
    [    0.408689] fbcvt: 640x480@60: CVT Name - .307M3
    [    0.411522] mxc_sdc_fb fb.21: 640x480 h_sync,r,l: 96,16,48  v_sync,l,u: 2,10,33 pixclock=25174000 Hz


mode "480x272-60"
    # D: 9.000 MHz, H: 17.143 kHz, V: 59.940 Hz
    geometry 480 272 480 272 32
    timings 111111 2 2 2 2 41 10
    rgba 8/16,8/8,8/0,8/24

Kernel output:

[    0.162852] backlight supply power not found, using dummy regulator
[    0.164850] 30730000.lcdif supply lcd not found, using dummy regulator
[    0.230413] mxsfb 30730000.lcdif: failed to find mxc display driver
[    0.239073] Console: switching to colour frame buffer device 80x30
[    0.256832] mxsfb 30730000.lcdif: initialized
  OK  ] Created slice system-systemd\x2dbacklight.slice.
         Starting Load/Save Screen Backli[    4.994155] CAN device driver interface
ght...htness of backlight:backlight...
[    5.016800] spi2.0 supply vdd not found, using dummy regulator
         Starting Create Volatile[    5.030731] spi2.0 supply xceiver not found, using dummy regulator
 Files and Directories...
[  OK  ] Started Load/Save Screen Backlight Brightness of backlight:backlight


mode "640x480-60"
    # D: 25.176 MHz, H: 31.469 kHz, V: 59.942 Hz
    geometry 640 480 640 480 16
    timings 39721 40 24 32 11 96 2
    rgba 5/11,6/5,5/0,0/0

If I change the framebuffer geometry and timings to the same values as seen on the iMX6 (or change any value), the display brightness changes.

I will play with the settings a bit and see if I get some output

You cannot use video= boot arguments to set the display timings/resolution with i.MX 7. You need to set the display timings in the carrier board level device tree:


Okay, I will look into this.

Thank a lot for the help :slight_smile:

Please note that we since implemented vidargs support for Colibri iMX7 as well (see the following tickets on our public roadmap: BSP 2.7b3, BSP 2.8 backport).