Device Tree Overlay: Display Timing


We are currently migrating from the old 2.8 BSP to the latest BSP 6.
And one of my challenges is currently to get our display running.

I already looked through the articles on, and already know, that I need to create a device tree overlay now (before, we could just set the correct videoargs in uboot)

Anyway I requested the datasheet of our display and came to the following dts:


/ {
	compatible = "toradex,apalis_imx6q",

&{/panel-dpi} {
	status = "okay";

	width-mm = <70>;
	height-mm = <52>;

	panel-timing {
		clock-frequency = <6500000>;
		hactive = <320>;
		vactive = <240>;
		hsync-len = <???>;
		hfront-porch = <20>;
		hback-porch = <64>;
		vsync-len = <????>;
		vfront-porch = <4>;
		vback-porch = <18>;

Now my problem is, that I cannot find the correct values for hsync-len and vsync-len from the datasheet:

Also I’m not 100% sure about which width/height to use:

I guess the active area? Could I set the decimals like this?

	width-mm = <70.08>;
	height-mm = <52.56>;

I’m not really familiar with the whole display topic tbh.

Colibri iMX6 Solo 256MB V1.1A
Viola Carrier Board V1.2B PLUS
Linux BSP 6 - upstream distro

Hi @cheesi,

you should use ACTIVE_AREA parameters for width-mm and height-mm. In my case, I always round up the numbers - I have never seen the usage of decimal numbers in any display DTS overlay for these two “variables”.

hsync-len and vsync-len stand for an hsync and vsync pulse width. If the datasheet does not mention these parameters specifically, you should at least look for a picture like the one below
In the picture, “128 dot” stands for hsync-len and “4H” for vsync-len. I presume that the description may be different in your case so use this just as an example.

Wish you success.

1 Like

HI @John1 !

Thank you very much for your answer!
Unfortunately I’m still pretty puzzled, I can’t make anything out of the diagrams tbh…

I’m gonna post all three pages regarding the timing here now, maybe anyone can make something of it:

BR Christian

Hello @cheesi ,

Thanks for reaching out to us and also sorry for the delay in answering.
From the datasheet of your display, hsync-len should be the HORIZONTAL_BLANKING_PERIOD (which should be 88) and vsync-len should be the VERTICAL_BLANKING_PERIOD (which should be 22).
Here is a good read about adding custom displays: Adding a custom display
I hope that helps. Please let me know if this works for you.

Greeting @cheesi,

I hope you are doing well. May I know if you have any updates regarding this issue?


Thank you very much for the support.

Your suggestions worked perfectly :slight_smile: