IMX 6 lvds display configuration problem

Dear Sir,
I`m switching from apalis t30 to apalis IMX 6 and can not configure LVDS display to work properly. I have a single channel display configured for T30 as below:

gpio-216 (LVDS: Single/Dual Ch) HIGH SINGLE CHANNEL
gpio-219 (LVDS: 18/24 Bit Mode) LOW 24 bit (8 bit per colour) mode
gpio-220 (LVDS: Output Enable ) HIGH LVDS output enabled
gpio-221 (LVDS: Power Down    ) HIGH Normal operation
gpio-222 (LVDS: Clock Polarity) HIGH Rising edge (preferred setting for Apalis T30)
gpio-223 (LVDS: Colour Mapping) LOW Common 24 bit colour mode (VESA format, Figure 11)
gpio-225 (LVDS: Swing Mode    ) HIGH 350mV (standard LVDS value)
gpio-226 (LVDS: DDRclk Disable) HIGH DDR disabled (preferred setting for Apalis T30)


and display works correctly under apalis T30. I’m trying to configure this display under apalis IMX 6 following this manual: Display Output, Resolution and Timings (Linux) | Toradex Developer Center , by setting kernel command line as below

fw_setenv vidargs video=mxcfb0:dev=ldb,bpp=24,1024x768R-16@60,if=RGB24 ldb=sin0

but display doesn’t work (Only penguin appear for a second). What I have noticed, that even running simple command: video=mxcfb0:dev=ldb,640x480M@60 does not change resolution under X server (checked with vnc viewer)

My system is

uname -a
Linux apalis-imx6 4.1.44-2.7.4+gb1555bf #1 SMP Wed Oct 4 22:39:51 UTC 2017 armv7l GNU/Linux

The Angstrom Distribution \n \l
Angstrom v2016.12 - Kernel
Apalis-iMX6_LXDE-Image 2.7b4 20171004


fw_setenv vidargs video=mxcfb0:dev=ldb,bpp=24,1024x768R-16@60,if=RGB24 ldb=sin0

You don’t want to use bpp=24, that does not work with some of the Vivante drivers, use either bpp=16 or bpp=32 for the framebuffer colour depth.

The ‘-16’ part of the string is an alternative way to set the framebuffer colour depth to using bpp=16.
I don’t know what happens if you specify both.

After Kernel 3.13.28 ldb=sin0 has no effect on the configuration. You have to change the device tree to change
channel and colour mapping.

It does not hurt to explicitly switch the unused framebuffers off.

e.g. a starting point for vidargs would be:

setenv vidargs video=mxcfb0:dev=ldb,bpp=16,1024x768R@60,if=RGB24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=32M

Then you would need to set the color depth and mapping of the LVDS transceiver here.

	fsl,data-mapping = "spwg"; /* "jeida"; */
	fsl,data-width = <24>;

The output of the following commands should help further debugging:

dmesg | grep fb