Using LVDS in a iMX6Q/D from Barebox

Sascha Hauer s.hauer at
Thu Feb 9 23:35:41 PST 2017

Hi Gianluca,

On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
> Hello,
> I would like to know if there is a clear way on using the lvds pins to drive
> a LVDS display in a custom made board, based on iMX6Q (in the near future
> the iMX6Dual).
> Actually it boots using Barebox 2017.01 and if there is a HDMI display it
> uses without hassle.
> My init scripts are loading a splash screen, then boot into linux:
> > 	echo "Load splash.png from filesystem..."
> > 	splash -f /dev/fb0 -b 0 $bootconfig_path/splash.png
> > 	fb0.enable=1
> But now, we are looking for a clear way to activate the LVDS signals in the
> LCD Controller when an eeprom chip is found in the I2C bus (more or less
> like EDID stuff) during bootup.
> In my bootup script (or specific board initcall code [board.c]) if no EEPROM
> is found, then it will boot naturally with the HDMI port LCD Display (if
> any) or completely BLIND board if no lcd is present.
> If it easy to activate the i2c bus and check for some chip addresses, I do
> not know on how to activate the lvds within code.

I think what you are looking for is of_device_enable_and_register() or
of_device_enable_and_register_by_name(). You can call it on either the
lvds device node or the hdmi device node, depending on whether you found
an EEPROM or not.


Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 |  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list